Soundboard.Maui.Audio
1.0.0
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
<PackageReference Include="Soundboard.Maui.Audio" Version="1.0.0" />
<PackageVersion Include="Soundboard.Maui.Audio" Version="1.0.0" />
<PackageReference Include="Soundboard.Maui.Audio" />
paket add Soundboard.Maui.Audio --version 1.0.0
#r "nuget: Soundboard.Maui.Audio, 1.0.0"
#:package Soundboard.Maui.Audio@1.0.0
#addin nuget:?package=Soundboard.Maui.Audio&version=1.0.0
#tool nuget:?package=Soundboard.Maui.Audio&version=1.0.0
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
- Getting started with the SDK
- Streaming model
- Error model
- API reference
- API contract
- Compatibility & trust
- Engine setup
- Upgrade & rollback playbook
- Publishing the SDK
- Fresh install validation
- Evaluation guide
- Changelog
- Contributing
Related
| Product | Versions 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. |
-
net8.0
- NAudio (>= 2.2.1)
- Soundboard.Client (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.