Voxa.Audio.Abstractions
0.7.2-alpha
dotnet add package Voxa.Audio.Abstractions --version 0.7.2-alpha
NuGet\Install-Package Voxa.Audio.Abstractions -Version 0.7.2-alpha
<PackageReference Include="Voxa.Audio.Abstractions" Version="0.7.2-alpha" />
<PackageVersion Include="Voxa.Audio.Abstractions" Version="0.7.2-alpha" />
<PackageReference Include="Voxa.Audio.Abstractions" />
paket add Voxa.Audio.Abstractions --version 0.7.2-alpha
#r "nuget: Voxa.Audio.Abstractions, 0.7.2-alpha"
#:package Voxa.Audio.Abstractions@0.7.2-alpha
#addin nuget:?package=Voxa.Audio.Abstractions&version=0.7.2-alpha&prerelease
#tool nuget:?package=Voxa.Audio.Abstractions&version=0.7.2-alpha&prerelease
Voxa.Audio.Abstractions
Audio-stage abstractions for the Voxa pipeline — the seams that sit on the mic path before the VAD.
IEchoCanceller (VRT-003)
The acoustic echo canceller seam for barge-in over speakers. While the bot is speaking, its own audio loops back through the speakers into the mic; a half-duplex gate avoids transcribing it, but that gate is what blocks true talk-over-the-bot. An echo canceller subtracts the bot's audio (the far-end reference) from the mic (the near-end) so the VAD/STT see only the user.
This package ships the seam, a passthrough default, and the wiring — not a DSP:
IEchoCanceller—FeedReference(farEndPcm),CancelEcho(nearEndPcm) → pcm,Reset(),SampleRate. Buffering, frame alignment, and resampling between far-end and near-end are the implementation's job.NullEchoCanceller— passthrough; returns the mic audio unchanged and ignores the reference.EchoCancellerProcessor— runsCancelEchoperAudioRawFrame(placed before the VAD); resets on session start and on an interruption epoch.EchoReferenceTapProcessor— feeds each outbound botAudioRawFrameinto the canceller as the far-end reference (placed after the TTS stage); observes only, forwards unchanged.
Enable a real canceller with Voxa:Aec:Engine once an implementation package is referenced; with it unset
or None the composer inserts no AEC stage, so the pipeline is byte-identical to today. A production DSP
(WebRTC APM / SpeexDSP / a managed canceller) is a separate, opt-in follow-up package.
IAudioEnhancer (VLS-004)
The spectral-enhancement (denoise) seam for the local STT tier: clean the mic signal so on-device transcription holds up in a noisy or reverberant room. The composer places it after the AEC stage and before the VAD, so detection and STT both see the cleaned audio.
IAudioEnhancer—Enhance(pcm) → pcm(same length/rate/channels — signal conditioning, not a format change),Reset(),SampleRate.NullAudioEnhancer— passthrough; returns the audio unchanged.AudioEnhancerProcessor— runsEnhanceperAudioRawFrame; resets on session start, disposes the engine on end.
Enable a real denoiser with Voxa:Enhance:Engine once an implementation package is referenced; unset / None
inserts no stage (byte-identical, zero cost). The reference engine (DeepFilterNet3 on ONNX Runtime,
in-process like Silero/Kokoro) is a separate opt-in Voxa.Audio.Enhance follow-up.
| 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
- Voxa.Core (>= 0.7.2-alpha)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Voxa.Audio.Abstractions:
| Package | Downloads |
|---|---|
|
Voxa.AspNetCore
Fluent ASP.NET Core integration for Voxa. Provides MapVoxaVoice + a VoicePipelineBuilder so MAF-using apps can drop in a voice pipeline with a single fluent expression: app.MapVoxaVoice("/voice", v => v.UseSpeechToText(...).UseMicrosoftAgent(agent).UseTextToSpeech(...)). |
|
|
Voxa.Transports.Telephony
Shared telephony media-stream transport for the Voxa pipeline (VTL-001). A vendor-neutral PipelineSource/PipelineSink pair that runs a phone call over a WebSocket — owning the read/write loops, the barge-in epoch purge, and the 8 kHz↔pipeline resample bridge — and delegates the JSON/base64 wire framing to a small ITelephonyMediaCodec. Includes a G.711 (μ-law) codec. No WebRTC. The Twilio codec lives in Voxa.Transports.Twilio. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.7.2-alpha | 108 | 7/10/2026 |
| 0.7.1-alpha | 81 | 7/10/2026 |
| 0.7.0-alpha | 85 | 7/10/2026 |
| 0.6.0-alpha | 96 | 6/22/2026 |