Soundboard.Maui.Audio 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Soundboard.Maui.Audio --version 1.0.0
                    
NuGet\Install-Package Soundboard.Maui.Audio -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Soundboard.Maui.Audio" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soundboard.Maui.Audio" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Soundboard.Maui.Audio" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Soundboard.Maui.Audio --version 1.0.0
                    
#r "nuget: Soundboard.Maui.Audio, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Soundboard.Maui.Audio@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Soundboard.Maui.Audio&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Soundboard.Maui.Audio&version=1.0.0
                    
Install as a Cake Tool

Soundboard

A .NET SDK and reference client for streaming voice engines.

Two things live here: a standalone SDK (Soundboard.Client) and a MAUI desktop app that demonstrates it. The SDK is the product. The app is a reference integration.

SDK quick start

dotnet add package Soundboard.Client
using Soundboard.Client;
using Soundboard.Client.Models;

await using var client = new SoundboardClient();
var presets = await client.GetPresetsAsync();
var voices = await client.GetVoicesAsync();

var progress = new Progress<AudioChunk>(chunk =>
{
    // Feed chunk.PcmData to your audio output
});

await client.SpeakAsync(
    new SpeakRequest("Hello from the SDK.", presets[0], voices[0]),
    progress);

No MAUI dependency. Works in console apps, WPF, ASP.NET, or anything targeting .NET 8+.

Architecture

This repository
+------------------------------------------+
|                                          |
|  Soundboard.Client (SDK)     net8.0      |  <-- The product
|  Soundboard.Maui.Audio       net8.0      |  <-- NAudio adapter (Windows)
|  Soundboard.Maui             net10.0     |  <-- Reference client (MAUI)
|  soundboard-cli              net8.0      |  <-- Reference client (console)
|                                          |
+------------------------------------------+
            |  HTTP + WebSocket
            v
+------------------------------------------+
|  voice-soundboard (engine repo)          |
|  Any engine implementing the contract    |
+------------------------------------------+

The SDK speaks the API contract. Any compliant engine works.

Project structure

src/
  Soundboard.Client/         SDK — pure C# (net8.0, zero UI deps)
  Soundboard.Maui.Audio/     NAudio PCM16 playback adapter (Windows)
  Soundboard.Maui/           Reference client — MAUI desktop app
  soundboard-cli/            Reference client — console app

examples/
  Quickstart/                Zero-config "hello world" → WAV file
  AgentTool/                 SDK as a callable tool in an agent pipeline

tests/
  Soundboard.Client.Tests/         27 unit tests (no engine required)
  Soundboard.IntegrationTests/     17 integration + contract tests

docs/
  api.md                     SDK API reference v1.0
  api-contract.md            Engine <-> SDK protocol spec
  compatibility.md           SDK-engine compatibility matrix & trust contract
  getting-started-sdk.md     SDK integration guide
  streaming-model.md         How audio streaming works
  error-model.md             Failure modes and handling
  feature-map.md             Feature-to-layer mapping
  known-limitations.md       Current boundaries
  evaluation-guide.md        How to evaluate Soundboard

Run the reference client

# Prerequisites: .NET 10.0 SDK with MAUI workload, Windows 10/11

git clone https://github.com/mcp-tool-shop-org/soundboard-maui.git
cd soundboard-maui

# Run tests (no engine needed)
dotnet test

# Build and run the MAUI app
set SOUNDBOARD_BASE_URL=http://localhost:8765
dotnet run --project src/Soundboard.Maui

Run the CLI client

# Check engine health
dotnet run --project src/soundboard-cli -- health

# List available presets
dotnet run --project src/soundboard-cli -- presets

# Speak text (streams to WAV file)
dotnet run --project src/soundboard-cli -- speak "Hello world" --preset narrator

FAQ

What is the SDK? Soundboard.Client is a standalone .NET 8 library that handles all engine communication — health checks, discovery, and streaming speech over WebSocket. Reference it from any .NET project.

What is the MAUI app? A reference client that demonstrates the SDK with a desktop UI. It is not the product — it shows one way to use the SDK.

Is this production-ready? The SDK API (v1.0) is stable. The MAUI app is demo-grade. See known limitations.

Can I build my own UI? Yes. That is the point. The SDK has zero UI dependencies. Implement IAudioPlayer for your platform and go.

Where does the engine live? In a separate repository: voice-soundboard. This repo contains zero engine code.

Examples

Example What it shows
Quickstart Connect, speak, save WAV — 30 seconds
Agent Tool SDK as a callable tool in an AI agent pipeline

Documentation

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 100 2/26/2026
1.0.0 98 2/12/2026