Voxa.Audio.Onnx
0.7.2-alpha
dotnet add package Voxa.Audio.Onnx --version 0.7.2-alpha
NuGet\Install-Package Voxa.Audio.Onnx -Version 0.7.2-alpha
<PackageReference Include="Voxa.Audio.Onnx" Version="0.7.2-alpha" />
<PackageVersion Include="Voxa.Audio.Onnx" Version="0.7.2-alpha" />
<PackageReference Include="Voxa.Audio.Onnx" />
paket add Voxa.Audio.Onnx --version 0.7.2-alpha
#r "nuget: Voxa.Audio.Onnx, 0.7.2-alpha"
#:package Voxa.Audio.Onnx@0.7.2-alpha
#addin nuget:?package=Voxa.Audio.Onnx&version=0.7.2-alpha&prerelease
#tool nuget:?package=Voxa.Audio.Onnx&version=0.7.2-alpha&prerelease
Voxa.Audio.Onnx
The shared ONNX Runtime session host for Voxa's local-speech tier (VLS-006). Every ONNX model in
Voxa — VAD, TTS, ASR, enhancement — loads its weights through this host instead of constructing an
InferenceSession itself, so a model loads once per (path, device) and is shared across every
connection on the process.
This package ships the host + the device seam + the model-descriptor shape — not a model. Consuming
engines bring their own pinned catalogs (a ParakeetCatalog, a SidonCatalog, …) the same way Kokoro
and whisper.cpp do.
What's in the box
OnnxModelHost— a process-wide(path, device)-keyed session cache.Load(path, device, hook)returns a sharedIOnnxSession; concurrent loads of the same key resolve to one instance. Sessions are process-lifetime (they hold shared weights);OnnxModelHost.EvictAll()disposes and clears them for tests and Studio's "unload models."IOnnxSession— a thin, test-fakeable handle exposing theInferenceSession(for engines that bindOrtValues directly — the zero-allocation steady-state pattern), the input/output names, and the EP that actually loaded.OnnxDevice+OnnxDeviceParser— the sharedDeviceconfig convention (cpu/auto/cuda/directml/coreml), parsed identically across every ONNX engine.OnnxModelDescriptor+ResolveAsync— an ONNX model self-describes as a graph artifact + pinned sidecars (tokenizer / vocab / config / extra graphs) and resolves through the unchangedVoxaModelCache.
CPU by default; GPU is opt-in and never bundled
The base package references only the CPU Microsoft.ML.OnnxRuntime (pinned to the same 1.26.0 as
SileroVad / Kokoro, with PrivateAssets so it isn't re-flowed onto consumers). Device=cpu is the
default and the only target the bundled runtime supports.
To use a GPU, the consuming app adds the matching ORT package itself — Voxa never ships GPU natives, and the ORT CPU/GPU packages conflict if both land in one process:
<PackageReference Include="Microsoft.ML.OnnxRuntime.Gpu" Version="1.26.0" />
With that present, Device=cuda (or directml / coreml) loads the matching EP. Without it, an explicit
GPU device fails at session creation with a copy-pasteable remediation, and Device=auto falls back to
CPU with a warning — it never hard-fails.
Not yet here
- The
OnnxTensorsconvenience run-helper (theKokoroTtsEngine.RunInferenceshape, lifted) lands with the first consumer that needs it, once its dtype matrix is known. Today engines use the directSessiontier. - VLS-006 ships no model catalog; pinned models (and their SHA-256s + cleared licences) live in the consuming engine packages (VLS-004 / 005 / 007 / 008, VRT-005).
| 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.Logging.Abstractions (>= 10.0.7)
- Voxa.Speech.Abstractions (>= 0.7.2-alpha)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Voxa.Audio.Onnx:
| Package | Downloads |
|---|---|
|
Voxa.Speech.Kokoro
Local/offline high-quality text-to-speech for the Voxa pipeline using Kokoro-82M (Apache-2.0) on ONNX Runtime, in-process. No API key, no network after the first-run model download. The quality tier of Voxa's local speech stack — speech that rivals commercial cloud voices, on your own CPU. Phonemization runs out-of-process (espeak-ng CLI per sentence); this package links no GPL code and must never reference KokoroSharp (which bundles espeak-ng natives). |
|
|
Voxa.Audio.Diarization.Onnx
Reference ONNX implementations for Voxa speaker diarization (VLS-005 WS2). Ships PyannoteOnnxSegmentation — an ISpeakerSegmentation backed by the MIT-licensed pyannote segmentation-3.0 model on the shared Voxa.Audio.Onnx host. The model takes raw 16 kHz audio (SincNet front-end is inside the graph) and emits speaker activity; the package decodes powerset → speech regions in pure C#. Pin is the sherpa-onnx export (MIT). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.7.2-alpha | 105 | 7/10/2026 |
| 0.7.1-alpha | 77 | 7/10/2026 |
| 0.7.0-alpha | 75 | 7/10/2026 |
| 0.6.0-alpha | 91 | 6/22/2026 |