Soundboard MAUI SDK-first. Stream speech, not files.
Cross-platform .NET MAUI desktop client and standalone SDK for the Sound Board voice engine. Real-time audio streaming over WebSocket, engine-agnostic design.
Install
dotnet add package Soundboard.Client
Speak
await client.SpeakAsync(request, progress);
Stream
new Progress<AudioChunk>(c => Play(c.PcmData))
Core Features
The SDK is the product. The MAUI app is a reference client.
SDK-First Design
Soundboard.Client is a standalone .NET 8+ library with zero UI dependencies. Use it in console apps, WPF, ASP.NET, or MAUI.
Real-Time Streaming
Audio arrives chunk-by-chunk over WebSocket via IProgress<AudioChunk>. No waiting for full synthesis.
Engine-Agnostic
The SDK speaks a documented API contract. Swap engines without changing your code.
Multi-Target
Ships for net8.0, net9.0, and net10.0. Reference it from any modern .NET project.
Structured Logging
Built-in ILogger support for diagnostics without pulling in a logging framework.
Reference Clients
A MAUI desktop app and CLI tool show real integration patterns you can copy.
Quick Start
Install & speak
dotnet add package Soundboard.Client
// Speak in five lines
var client = new SoundboardClient();
var presets = await client.GetPresetsAsync();
var voices = await client.GetVoicesAsync();
await client.SpeakAsync(
new SpeakRequest("Hello!", presets[0], voices[0]),
new Progress(c => Play(c.PcmData))); Configuration
var client = new SoundboardClient(
new SoundboardClientOptions
{
BaseUrl = "http://my-engine:9000",
HttpTimeout = TimeSpan.FromSeconds(15),
WebSocketConnectTimeout = TimeSpan.FromSeconds(10),
WebSocketReceiveTimeout = TimeSpan.FromSeconds(60)
}); SDK Surface
NuGet Packages
Architecture
Control plane over HTTP. Data plane over WebSocket. Engine lives in a separate repository.
Soundboard.Client
The product — pure C# SDK, net8.0+. Handles connection lifecycle, JSON framing, base64 decoding, graceful WebSocket close.
Soundboard.Maui.Audio
NAudio PCM16 playback adapter for Windows. Provides IAudioPlayer with buffering and thread-safe start/stop/flush.
Reference Clients
MAUI desktop app (net10.0) and console CLI (net8.0) demonstrate real SDK integration patterns.