ayutaz/vokra

Speech-first inference runtime in Rust — TTS / ASR / speech-to-speech / VC / speaker ID / VAD. An ONNX Runtime alternative that loads GGUF & safetensors directly: zero external dependencies, C ABI for Unity & Godot, CPU / Metal / CUDA / Vulkan backends. Apache-2.0, pre-release.

9

stars

198

commits

Rust

primary language

Sep 9, 2026

updated

asr
cuda
gguf
godot
inference-engine
machine-learning
metal
onnx-alternative
rust
speaker-recognition
speech
speech-recognition
speech-to-text
text-to-speech
tts
unity
vad
voice-activity-detection
vulkan
whisper

README

Vokra

English | 日本語

CI License: Apache-2.0

Vokra is a speech-first inference runtime written in Rust. It implements the audio pieces that general-purpose graph runtimes often leave to application code: streaming state, STFT/iSTFT and mel frontends, vocoders, neural codecs, CTC/RNN-T decoding, VAD, speaker features, pitch extraction, and audio enhancement.

Vokra loads provenance-aware GGUF files and does not load ONNX graphs at runtime. The default runtime has no third-party Cargo dependencies: the root Cargo.lock contains only first-party vokra-* crates.

Release status: 0.1.0 is prepared as the first tagged release. Rust APIs, the C ABI, GGUF metadata, and model coverage remain pre-1.0 and may change. Pin an exact release when evaluating Vokra in another project.

Why Vokra

  • Audio-native execution: speech frontends, streaming caches, decoders, vocoders, codecs, VAD, and enhancement are native operators rather than ONNX graph glue.
  • Small dependency surface: runtime crates depend only on first-party vokra-* crates. Offline conversion remains separate from runtime loading.
  • Explicit failures: unsupported operations and unavailable devices return errors; GPU work never silently falls back to CPU.
  • Reproducible model files: Vokra GGUF metadata records frontend settings, topology, quantization policy, source provenance, and licence information.
  • Portable integration: CPU is the default; Metal, CUDA, Vulkan, and WebGPU are opt-in. A generated C header supports native and language bindings.

Quick start

You need Git and Rust 1.89 or newer. Build the CLI from source:

git clone https://github.com/ayutaz/vokra.git
cd vokra
cargo build --release -p vokra-cli

Download the published Whisper base GGUF and run the included public-domain audio fixture:

curl -L https://huggingface.co/vokra/whisper-base/resolve/main/whisper-base.gguf \
  -o whisper-base.gguf
target/release/vokra-cli run \
  --model whisper-base.gguf \
  --input tests/fixtures/audio/jfk-30s.wav

Use the built-in help before converting or running another architecture:

target/release/vokra-cli --help
target/release/vokra-cli convert --help
target/release/vokra-cli run --help

The getting-started guide covers conversion, VAD, TTS, benchmarking, and the C ABI.

Model and backend status

Vokra covers ASR, TTS, speech-to-speech, VAD and turn-taking, keyword spotting, speaker processing, pitch, codecs and vocoders, enhancement, separation, and audio understanding. Maturity is tracked per architecture: a converter, a GGUF loader, a native forward pass, numerical parity, and a published artifact are separate milestones. The existence of one does not imply the others.

Use these sources instead of a copied model list:

  • vokra-cli convert --help — accepted converter identifiers;
  • vokra-cli run --help — CLI-routed inputs, outputs, and backend options;
  • the Vokra model hub — published artifacts and model-specific licence cards;
  • crates/vokra-cli/src/engine.rs — explicit runtime routing and deferred-operation registry for developers.

CPU is the default backend. Metal, CUDA, Vulkan, and WebGPU are opt-in and have operation-specific coverage; CoreML and QNN are experimental delegates. See the backend guide before selecting an accelerator.

Library integration

Build the C library with:

cargo build --release -p vokra-capi

include/vokra.h is the generated C reference. The API index links to the Rust and binding surfaces, including Python, Swift/iOS, Unity, Godot, Android, web, and server examples. The C ABI remains pre-1.0 and is not frozen.

Documentation

Contributing

Contributions are welcome. Read CONTRIBUTING.md before a large change, and use the good first tasks for scoped entry points. Bugs and proposals can be filed in GitHub Issues. Participation is governed by the Code of Conduct. Report vulnerabilities privately as described in the Security Policy, not in a public issue.

Licence

Vokra source code is licensed under Apache-2.0. Model weights and reference assets may use different licences; review each model card, docs/license-audit.md, and NOTICE before redistribution or commercial use. Non-commercial weights are excluded from the default publication path unless an explicit research-only gate is used.

Contributors

ayutaz

190 commits

ayutaz/vokra

Speech-first inference runtime in Rust — TTS / ASR / speech-to-speech / VC / speaker ID / VAD. An ONNX Runtime alternative that loads GGUF & safetensors directly: zero external dependencies, C ABI for Unity & Godot, CPU / Metal / CUDA / Vulkan backends. Apache-2.0, pre-release.

9

stars

198

commits

Rust

primary language

Sep 9, 2026

updated

asr
cuda
gguf
godot
inference-engine
machine-learning
metal
onnx-alternative
rust
speaker-recognition
speech
speech-recognition
speech-to-text
text-to-speech
tts
unity
vad
voice-activity-detection
vulkan
whisper

README

Vokra

English | 日本語

CI License: Apache-2.0

Vokra is a speech-first inference runtime written in Rust. It implements the audio pieces that general-purpose graph runtimes often leave to application code: streaming state, STFT/iSTFT and mel frontends, vocoders, neural codecs, CTC/RNN-T decoding, VAD, speaker features, pitch extraction, and audio enhancement.

Vokra loads provenance-aware GGUF files and does not load ONNX graphs at runtime. The default runtime has no third-party Cargo dependencies: the root Cargo.lock contains only first-party vokra-* crates.

Release status: 0.1.0 is prepared as the first tagged release. Rust APIs, the C ABI, GGUF metadata, and model coverage remain pre-1.0 and may change. Pin an exact release when evaluating Vokra in another project.

Why Vokra

  • Audio-native execution: speech frontends, streaming caches, decoders, vocoders, codecs, VAD, and enhancement are native operators rather than ONNX graph glue.
  • Small dependency surface: runtime crates depend only on first-party vokra-* crates. Offline conversion remains separate from runtime loading.
  • Explicit failures: unsupported operations and unavailable devices return errors; GPU work never silently falls back to CPU.
  • Reproducible model files: Vokra GGUF metadata records frontend settings, topology, quantization policy, source provenance, and licence information.
  • Portable integration: CPU is the default; Metal, CUDA, Vulkan, and WebGPU are opt-in. A generated C header supports native and language bindings.

Quick start

You need Git and Rust 1.89 or newer. Build the CLI from source:

git clone https://github.com/ayutaz/vokra.git
cd vokra
cargo build --release -p vokra-cli

Download the published Whisper base GGUF and run the included public-domain audio fixture:

curl -L https://huggingface.co/vokra/whisper-base/resolve/main/whisper-base.gguf \
  -o whisper-base.gguf
target/release/vokra-cli run \
  --model whisper-base.gguf \
  --input tests/fixtures/audio/jfk-30s.wav

Use the built-in help before converting or running another architecture:

target/release/vokra-cli --help
target/release/vokra-cli convert --help
target/release/vokra-cli run --help

The getting-started guide covers conversion, VAD, TTS, benchmarking, and the C ABI.

Model and backend status

Vokra covers ASR, TTS, speech-to-speech, VAD and turn-taking, keyword spotting, speaker processing, pitch, codecs and vocoders, enhancement, separation, and audio understanding. Maturity is tracked per architecture: a converter, a GGUF loader, a native forward pass, numerical parity, and a published artifact are separate milestones. The existence of one does not imply the others.

Use these sources instead of a copied model list:

  • vokra-cli convert --help — accepted converter identifiers;
  • vokra-cli run --help — CLI-routed inputs, outputs, and backend options;
  • the Vokra model hub — published artifacts and model-specific licence cards;
  • crates/vokra-cli/src/engine.rs — explicit runtime routing and deferred-operation registry for developers.

CPU is the default backend. Metal, CUDA, Vulkan, and WebGPU are opt-in and have operation-specific coverage; CoreML and QNN are experimental delegates. See the backend guide before selecting an accelerator.

Library integration

Build the C library with:

cargo build --release -p vokra-capi

include/vokra.h is the generated C reference. The API index links to the Rust and binding surfaces, including Python, Swift/iOS, Unity, Godot, Android, web, and server examples. The C ABI remains pre-1.0 and is not frozen.

Documentation

Contributing

Contributions are welcome. Read CONTRIBUTING.md before a large change, and use the good first tasks for scoped entry points. Bugs and proposals can be filed in GitHub Issues. Participation is governed by the Code of Conduct. Report vulnerabilities privately as described in the Security Policy, not in a public issue.

Licence

Vokra source code is licensed under Apache-2.0. Model weights and reference assets may use different licences; review each model card, docs/license-audit.md, and NOTICE before redistribution or commercial use. Non-commercial weights are excluded from the default publication path unless an explicit research-only gate is used.

Contributors

ayutaz

190 commits

Languages

Rust

85.9%

Python

8.6%

Shell

4.4%