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, 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)

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

Release history Release notifications | RSS feed

This release

0.1.1 This release

3 release files

0.1.0

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