Instructions to use VoxRT/streaming-medium-pc-vxrt with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use VoxRT/streaming-medium-pc-vxrt with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("VoxRT/streaming-medium-pc-vxrt") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
NeMo FastConformer streaming-medium-pc on the VoxRT runtime
The stt_en_fastconformer_hybrid_medium_streaming_80ms_pc model
from NVIDIA NeMo, packaged as a .vxrt file for the VoxRT
on-device inference runtime. Same weights, repackaged so the
80 ms cache-aware streaming ASR runs on Android or iOS in
real-time β with punctuation and capitalisation output straight
from the model, no post-processing layer required.
This is not our model. The weights are NVIDIA's
nvidia/stt_en_fastconformer_hybrid_medium_streaming_80ms_pc
checkpoint, released under CC-BY-4.0. What we ship is the runtime
that makes it fast on cheap ARM hardware plus the .vxrt
container that the runtime consumes.
Runtime performance
Cumulative RTF on a single CPU core, arm64 release builds,
post-warmup. Live-mic figures are the production-realistic ones
(scheduler jitter + capture overhead included):
| Device | CPU | Decoder | Mode | RTF |
|---|---|---|---|---|
| Xiaomi Redmi 9C (Android) | Cortex-A73 | RNN-T | file replay | 0.302 |
| Xiaomi Redmi 9C (Android) | Cortex-A73 | RNN-T | live mic | 0.353 |
| iPhone 13 Pro Max (iOS) | Apple A15 | RNN-T | live mic | 0.08β0.10 |
For the same weights, RNN-T decoding costs ~50 ms of CPU per 1.12 s chunk on SD662; the CTC head is ~5 ms per chunk with a minor WER hit. The SDK exposes both decoders β pick per your battery / accuracy trade-off.
Chunked streaming granularity is 80 ms cache-aware look-ahead. Inherent end-to-end buffering is one chunk (β 1.12 s at chunk_size=112) before text emission begins.
Model quality
Empirically validated on LibriSpeech test-clean (500-utterance subset, matches the SDK repos' reported numbers):
| Decoder | WER | Notes |
|---|---|---|
| RNN-T β | 3.267 % | Recommended default. Higher accuracy. |
| CTC | 4.895 % | ~15 % cheaper per chunk; long-session friendly. |
Model architecture, training data, and topline WER claims are NVIDIA's β see the upstream checkpoint at huggingface.co/nvidia/stt_en_fastconformer_hybrid_medium_streaming_80ms_pc.
Download & use
The .vxrt file on this HF repo is byte-identical to the one at
github.com/VoxRT/voxrt-asr-models/releases.
Either source is fine.
.vxrt files cannot be loaded with transformers, nemo_toolkit,
or any standard HF library β they are a proprietary container
the VoxRT runtime reads. Use one of our SDKs:
- Android β
voxrt-asr-android(JitPack) - iOS β
voxrt-asr-ios(Swift Package) - Linux aarch64 β available on request (contact
help@voxrt.com)
Kotlin example
import com.voxrt.asr.VoxrtAsrNative
import com.voxrt.asr.VoxrtAsrStreamingEngine
val engine = VoxrtAsrStreamingEngine.fromAssetFd(modelFd)
// Or explicitly pick CTC:
// val engine = VoxrtAsrStreamingEngine.fromAssetFd(modelFd, VoxrtAsrNative.DECODE_CTC)
val delta = engine.processPcm(pcmFloatArray) // text emitted this call
val tail = engine.stop() // drain remaining text
engine.close()
engine.processPcm / stop / reset / close are
synchronous and stateful β the engine doesn't own a worker
thread. Drive it from your own capture / IO thread; marshal text
deltas back to UI via runOnUiThread / a Flow / your preferred
concurrency. RNN-T (default) survives chunk boundaries via its
LSTM state; CTC dedupes across chunks internally.
Licensing
- Model weights are derived from
nvidia/stt_en_fastconformer_hybrid_medium_streaming_80ms_pc, Β© NVIDIA Corporation, CC-BY-4.0 licensed. - Repackaging into the
.vxrtcontainer preserves the CC-BY-4.0 obligations attached to the weights. Full notice lives at github.com/VoxRT/voxrt-asr-models/blob/main/LICENSE. - The VoxRT runtime and
.vxrtcontainer format are proprietary Elephant Enterprises LLC IP. Redistribution allowed as an unmodified part of the VoxRT SDKs above.
Attribution required by CC-BY-4.0:
Speech recognition powered by NVIDIA NeMo FastConformer (streaming, medium, 80 ms look-ahead, P&C), Β© NVIDIA Corporation, licensed under CC-BY-4.0.
Include this line in your product's UI, docs, or credits when you ship a product that runs this model.
About VoxRT
VoxRT is a from-scratch on-device inference runtime tuned for streaming audio on commodity ARM CPUs β no GPU, no NPU, no vendor accelerator required. Sister products on the same runtime:
- Wake-word: "Hey Assistant" model + custom-phrase tier
- Voice activity detection: Silero VAD in
.vxrt
Commercial integration / custom-model packaging: help@voxrt.com
Β· voxrt.com