Skip to main content

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. The wheel is built for that 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.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for voxrun 0.1.0
File Interpreter ABI Platform
voxrun-0.1.0-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

Release files / voxrun-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL voxrun-0.1.0-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
b6ec023dc7ff7fd6966f8db41e9557940753f7e69f635b32ea8492622d044d24
BLAKE2b-256 checksum
How to use checksums
5d0a92f7bb1d348fde72316d789c4ee69f4f15605a2ec043de23a14e26b870e8
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 history Release notifications | RSS feed

0.1.1

3 release files

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page