Voxa.Speech.Piper
0.7.2-alpha
dotnet add package Voxa.Speech.Piper --version 0.7.2-alpha
NuGet\Install-Package Voxa.Speech.Piper -Version 0.7.2-alpha
<PackageReference Include="Voxa.Speech.Piper" Version="0.7.2-alpha" />
<PackageVersion Include="Voxa.Speech.Piper" Version="0.7.2-alpha" />
<PackageReference Include="Voxa.Speech.Piper" />
paket add Voxa.Speech.Piper --version 0.7.2-alpha
#r "nuget: Voxa.Speech.Piper, 0.7.2-alpha"
#:package Voxa.Speech.Piper@0.7.2-alpha
#addin nuget:?package=Voxa.Speech.Piper&version=0.7.2-alpha&prerelease
#tool nuget:?package=Voxa.Speech.Piper&version=0.7.2-alpha&prerelease
Voxa.Speech.Piper
Local/offline text-to-speech for the Voxa pipeline using Piper.
No API key. No network after the first-run voice/binary download. Fast on CPU (RTF ≈ 0.05) —
the speed tier of Voxa's local speech stack (see Voxa.Speech.Kokoro for the quality tier).
Usage
With the Voxa meta-package the descriptor is pre-registered — configuration is all you need:
{
"Voxa": {
"Tts": "Piper",
"Piper": { "Voice": "en_US-lessac-medium" }
}
}
À la carte:
services.AddVoxa(configuration, voxa => voxa.AddProvider(PiperDescriptors.Tts));
How it works
The official piper executable runs as a warm child process per voice (pooled, default 2),
synthesizing one sentence per request — which is exactly the unit Voxa's SentenceAggregator
delivers. First use downloads the pinned per-platform piper build (~20 MB) and the voice
(~25–115 MB), SHA-256-verified.
Licensing note: piper's phonemizer (espeak-ng) is GPL-3.0. It stays isolated behind the piper process boundary; this package links no GPL code and must never gain an in-process espeak-ng dependency.
Configuration (Voxa:Piper)
| Key | Default | Notes |
|---|---|---|
Voice |
en_US-lessac-medium |
Catalog: en_US-lessac-medium/high, en_US-amy-low, en_GB-alan-medium, de_DE-thorsten-medium, fr_FR-siwis-medium, es_ES-davefx-medium |
VoicePath |
– | Explicit .onnx (json sibling required); requires OutputSampleRate |
ExecutablePath |
– | Explicit piper binary; else PATH, else pinned download |
OutputSampleRate |
inferred | From the voice-name quality suffix: -low/-x_low → 16000, else 22050 |
LengthScale |
1.0 |
<1 faster speech, >1 slower; range (0, 4] |
MaxProcesses |
2 |
Warm piper hosts per voice |
The engine re-verifies the announced rate against the voice's own config at startup and fails loudly on mismatch — wrong-speed audio is a startup error, not a runtime mystery.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.Configuration.Binder (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Voxa.Core (>= 0.7.2-alpha)
- Voxa.Speech.Abstractions (>= 0.7.2-alpha)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Voxa.Speech.Piper:
| Package | Downloads |
|---|---|
|
Voxa
Batteries-included Voxa package. One package reference: AddVoxa(cfg) + MapVoxaVoice("/voice").UseDefaults() gives a working voice bot with STT, TTS, VAD, and an OpenAI chat agent — no knowledge of frames required. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.7.2-alpha | 102 | 7/10/2026 |
| 0.7.1-alpha | 73 | 7/10/2026 |
| 0.7.0-alpha | 79 | 7/10/2026 |
| 0.6.0-alpha | 92 | 6/22/2026 |
| 0.5.0-alpha | 79 | 6/13/2026 |