voxrun
High-performance speech-to-text inference library derived from faster-whisper.
voxrun preserves the existing faster-whisper inference API while packaging the Python implementation as Nuitka-compiled, CPython-specific binary wheels. Nuitka compilation increases reverse-engineering cost; it is not cryptographic encryption and does not make the implementation impossible to reverse engineer.
Installation
voxrun Phase 1 supports Linux x86_64 on glibc 2.28 or newer and CPython 3.10, 3.11, and 3.12. Each wheel is built for a specific CPython ABI.
uv add voxrun
The conventional pip installer is also supported:
python -m pip install voxrun
Do not install the upstream ctranslate2 distribution together with
voxrun-ctranslate2; both provide the ctranslate2 import and their package
files conflict.
Usage
from voxrun import WhisperModel
model = WhisperModel(
"large-v3",
device="cuda",
compute_type="float16",
)
segments, info = model.transcribe("audio.mp3")
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
segments is a generator. Consume it to run the transcription to completion:
segments, _ = model.transcribe("audio.mp3")
segments = list(segments)
The existing public APIs remain available, including WhisperModel,
BatchedInferencePipeline, decode_audio, Segment, Word,
TranscriptionInfo, WhisperModel.transcribe(),
BatchedInferencePipeline.transcribe(), download_model, available_models(),
and format_timestamp().
Batched transcription
from voxrun import BatchedInferencePipeline, WhisperModel
model = WhisperModel("turbo", device="cuda", compute_type="float16")
batched_model = BatchedInferencePipeline(model=model)
segments, info = batched_model.transcribe("audio.mp3", batch_size=16)
Contextual biasing
Decoder-level contextual phrases require
voxrun-ctranslate2==4.8.1.post1, which exposes ctranslate2.ContextGraph.
Calls without context_phrases preserve the graph-free path.
segments, info = model.transcribe(
"audio.mp3",
context_phrases=["NVIDIA", "H200", ("BRM9206", 5.0)],
context_score=3.0,
)
See Contextual biasing for scoring, tokenizer boundaries, graph lifetime, and validation details.
VAD filter
PyAV handles audio decoding, so a separate system FFmpeg installation is not required.
segments, _ = model.transcribe(
"audio.mp3",
vad_filter=True,
vad_parameters={"min_silence_duration_ms": 500},
)
The packaged Silero VAD ONNX model is loaded from voxrun/assets.
Logging
import logging
logging.basicConfig()
logging.getLogger("voxrun").setLevel(logging.DEBUG)
Migration from faster-whisper
The namespace is intentionally breaking; no faster_whisper compatibility
alias is installed.
# Before
from faster_whisper import WhisperModel
# After
from voxrun import WhisperModel
Model repository IDs such as Systran/faster-whisper-large-v3 are external
runtime identifiers and remain unchanged.
Development
The project uses uv as its package and environment manager.
uv sync
uv run pytest
Build and audit the local binary wheel:
uv build --wheel
VERSION="$(uv version --short)"
python scripts/verify_wheel.py --expected-version "$VERSION" dist/*.whl
Nuitka build intermediates and the final wheel are excluded from the public release by the wheel verifier.
Attribution and license
voxrun was originally derived from SYSTRAN/faster-whisper and retains the applicable MIT license notices. See LICENSE.
The ContextGraph design also references the applicable CTranslate2 license and documentation.
Release files for voxrun 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| voxrun-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| voxrun-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 | Details |
| voxrun-0.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 | Details |
Total release size: 4.9 MB
Release files / voxrun-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | voxrun-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ccbfd98a38683abccce03ebfdbfe11d6955c22cd5c68326d3364abeb9b1fabea
|
|
BLAKE2b-256 checksum How to use checksums |
0d2ec10befda735ef9599440a66b377acded65d2b7fbdeab91eac32afde9df70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / voxrun-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | voxrun-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
fe030694d7dc0cdeb1e863859944eca4c7ab78a61be127160c4026fa945201cb
|
|
BLAKE2b-256 checksum How to use checksums |
61cbcf6c73364839a2a15fe74addc41f5273f21d19a5cb6ea529ec6f74ee89cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / voxrun-0.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | voxrun-0.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d8aefa3a7c69a23e6c00afb364013d6b20908502266273c478e50603ca5a9ec0
|
|
BLAKE2b-256 checksum How to use checksums |
6fe15693bc6551f1068cf0e24234f8fad97683a36a17e8644a4504a11f353419
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|