Voxa.Speech.Abstractions
0.7.2-alpha
dotnet add package Voxa.Speech.Abstractions --version 0.7.2-alpha
NuGet\Install-Package Voxa.Speech.Abstractions -Version 0.7.2-alpha
<PackageReference Include="Voxa.Speech.Abstractions" Version="0.7.2-alpha" />
<PackageVersion Include="Voxa.Speech.Abstractions" Version="0.7.2-alpha" />
<PackageReference Include="Voxa.Speech.Abstractions" />
paket add Voxa.Speech.Abstractions --version 0.7.2-alpha
#r "nuget: Voxa.Speech.Abstractions, 0.7.2-alpha"
#:package Voxa.Speech.Abstractions@0.7.2-alpha
#addin nuget:?package=Voxa.Speech.Abstractions&version=0.7.2-alpha&prerelease
#tool nuget:?package=Voxa.Speech.Abstractions&version=0.7.2-alpha&prerelease
Voxa.Speech.Abstractions
Vendor-neutral STT and TTS abstractions for Voxa pipelines. Defines ISpeechToTextEngine, ITextToSpeechEngine, and the generic SpeechToTextProcessor / TextToSpeechProcessor that any vendor engine plugs into.
Install
You typically don't install this package directly — install a vendor engine package (Voxa.Speech.Azure, Voxa.Speech.OpenAI, Voxa.Speech.ElevenLabs, Voxa.Speech.Mistral) and this package comes along as a transitive dependency.
If you're authoring a new vendor engine:
dotnet add package Voxa.Speech.Abstractions --prerelease
What it provides
public interface ISpeechToTextEngine : IAsyncDisposable
{
Task StartAsync(CancellationToken ct);
ValueTask WriteAudioAsync(ReadOnlyMemory<byte> pcm, CancellationToken ct);
IAsyncEnumerable<TranscriptionResult> ReadTranscriptsAsync(CancellationToken ct);
Task StopAsync();
}
public interface ITextToSpeechEngine : IAsyncDisposable
{
Task StartAsync(CancellationToken ct);
IAsyncEnumerable<byte[]> SynthesizeAsync(string text, CancellationToken ct);
}
Plus:
SpeechToTextProcessor— pipesAudioRawFrameinto the engine, emitsTranscriptionFrame.TextToSpeechProcessor— drives the engine onTextFrame/LlmTextChunkFrame, emitsBotStartedSpeaking+AudioRawFramechunks +BotStoppedSpeaking.
Usage
using Voxa.Speech;
var pipeline = Pipeline.Build()
.Source(new WebSocketAudioSource(ws))
.Then(new SpeechToTextProcessor(new MyVendorSttEngine(opts)))
.Then(new MicrosoftAgentsProcessor(agent))
.Then(new TextToSpeechProcessor(new MyVendorTtsEngine(opts)))
.Sink(new WebSocketAudioSink(ws));
License
MIT.
| 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.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Voxa.Core (>= 0.7.2-alpha)
NuGet packages (21)
Showing the top 5 NuGet packages that depend on Voxa.Speech.Abstractions:
| Package | Downloads |
|---|---|
|
Voxa.Speech.OpenAI
OpenAI Whisper STT and OpenAI TTS engines for the Voxa pipeline. Implements ISpeechToTextEngine + ITextToSpeechEngine via the REST API — pair with the generic processors from Voxa.Speech.Abstractions. |
|
|
Voxa.Speech.Azure
Azure Speech Services STT and TTS engines for the Voxa pipeline. Implements ISpeechToTextEngine and ITextToSpeechEngine — pair with the generic SpeechToTextProcessor / TextToSpeechProcessor from Voxa.Speech.Abstractions. |
|
|
Voxa.Speech.ElevenLabs
ElevenLabs text-to-speech engine for the Voxa pipeline. Implements ITextToSpeechEngine via the streaming REST API — pair with the generic TextToSpeechProcessor from Voxa.Speech.Abstractions. |
|
|
Voxa.Speech.Mistral
Mistral text-to-speech engine for the Voxa pipeline. Implements ITextToSpeechEngine via Mistral's Voxtral-TTS audio API — pair with the generic TextToSpeechProcessor from Voxa.Speech.Abstractions. |
|
|
Voxa.Audio.SileroVad
ML-based voice activity detection for the Voxa pipeline using the Silero VAD ONNX model. Drop-in replacement for SilenceGateProcessor when energy-based filtering isn't enough — handles noisy environments and emits the same UserStartedSpeakingFrame / UserStoppedSpeakingFrame as Voice Live. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.7.2-alpha | 196 | 7/10/2026 |
| 0.7.1-alpha | 166 | 7/10/2026 |
| 0.7.0-alpha | 171 | 7/10/2026 |
| 0.6.0-alpha | 172 | 6/22/2026 |
| 0.5.0-alpha | 114 | 6/13/2026 |
| 0.4.0-alpha | 1,277 | 5/10/2026 |
| 0.3.0-alpha | 93 | 5/9/2026 |
| 0.2.0-alpha | 89 | 5/8/2026 |