Instructions to use aufklarer/OmniVoice-MLX-int8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use aufklarer/OmniVoice-MLX-int8 with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir OmniVoice-MLX-int8 aufklarer/OmniVoice-MLX-int8
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
OmniVoice-MLX-int8
8-bit quantized MLX conversion of
k2-fsa/OmniVoice — a single-stage,
non-autoregressive discrete-diffusion text-to-speech model with a Qwen3 backbone
and broad multilingual coverage (600+ languages). For Apple Silicon, via the
speech-swift runtime.
Contents
| File | Precision | Size |
|---|---|---|
model.safetensors |
int8 backbone (group 64, 8-bit) | ~689 MB |
audio_tokenizer/model.safetensors |
fp16 codec (Higgs-audio v2) | ~403 MB |
tokenizer.json, config.json, … |
— | — |
The diffusion backbone is quantized (it dominates latency — 32 forward passes per clip); the codec stays fp16 since it runs once and is already exact there.
Why int8
The backbone is memory-bandwidth bound at these sequence lengths, so 8-bit weights cut latency with no audible loss. On an M5 Pro: RTF ≈ 0.18 (≈ 5.5× faster than real-time), versus ≈ 0.25 at fp32, and the ASR roundtrip stays at 0% WER.
Precision tiers:
| Variant | Backbone | Total | Use |
|---|---|---|---|
OmniVoice-MLX-fp16 |
fp16 | ~1.5 GB | balanced |
OmniVoice-MLX-int8 |
int8 | ~1.0 GB | fastest / smallest |
Usage
Loaded by the OmniVoiceTTS module in speech-swift. The quantization block in
config.json (group_size: 64, bits: 8) tells the loader to swap the
Linear/Embedding layers to their quantized form before loading the weights.
License
Apache-2.0, following the upstream model.
- Downloads last month
- 105
Quantized
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir OmniVoice-MLX-int8 aufklarer/OmniVoice-MLX-int8