Installable Python package, realtime clients, benchmark utilities, and test scaffolding for multilingual streaming speech recognition using Voxtral Realtime served through vLLM.
Author: Patrick Lumbantobing, Vertox AI License: Apache License 2.0 Repository target: Hugging Face org vertox-ai
Overview
This repository packages a production-oriented client-side workflow for experimenting with Voxtral Mini 4B Realtime 2602 on vLLM. It includes:
a reusable internal package under voxtral_asr/,
a realtime file playback client,
a realtime microphone client,
benchmark sweep tooling for preset comparison,
JSON preset configurations,
unit tests for the audio frontend and configuration loading,
packaging metadata for editable and standard installs.
The design goal is simple: make it easy to reproduce and tune end-to-end realtime ASR behavior, especially around time to first partial, partial cadence, finalization latency, voice activity detection, and mic signal quality.
Features
Installable package with pyproject.toml
Realtime file streaming client for deterministic benchmarking
Realtime microphone streaming client for live testing
Benchmark sweep runner that iterates presets and writes CSV output
Voice activity detection (VAD) and audio frontend utilities
Mic diagnostics for RMS levels, clipping, and speech/silence statistics
You need a running vLLM server exposing Voxtral Realtime on the /v1/realtime endpoint.
Recommended to use at least NVIDIA L4, e.g., g6x.large. With L4, it will be about 2x RTFx.
Fastest partials, useful when responsiveness matters more than transcript stability.
preset_balanced.json
A conservative baseline for general testing.
preset_high_accuracy.json
Longer commits and more conservative endpointing for better stability.
preset_low_latency_plus.json
Recommended default for live demos based on tuning results: low first-partial latency with improved mic levels and slightly more conservative segmentation.
Tuning guidance
Time to first partial
The most important client-side levers are:
commit_interval_ms
vad_rms_threshold
vad_hangover_ms
microphone input level
If first partial is too slow:
reduce commit_interval_ms,
lower vad_rms_threshold cautiously,
ensure raw mic RMS is high enough,
avoid over-aggressive silence suppression that delays speech onset.
Accuracy vs latency
In practice, better mic gain often matters more than minor frontend tweaks. If the transcript misses rare words or proper nouns, improve the acoustic signal first, then adjust commit interval and VAD conservatively.
Punctuation
Realtime punctuation is partly model-intrinsic. Minor punctuation smoothing can be added as a post-processing layer if you need a cleaner demo output without changing the streaming behavior.
Development workflow
Run tests
pytest
Run linter
ruff check .
Auto-fix common lint issues
bash
1ruff check . --fix
2ruff format.
Makefile targets
If you keep the provided Makefile, typical commands are: