TrevorJS/voxtral-tts-q4-gguf

Model

Voxtral TTS Q4 GGUF

15

7 commits

2 linked in READMEs

updated Mar 28, 2026

See the code
burn
gguf
q4
rust
text-to-speech
voxtral
wasm
webgpu

README

Voxtral TTS Q4 GGUF

Q4_0 quantized weights for Voxtral 4B TTS in GGUF format. For use with voxtral-mini-realtime-rs.

Try the browser demo — runs entirely client-side via WASM + WebGPU.

Files

FileSizeDescription
voxtral-tts-q4.gguf2.67 GBFull Q4 model (single file, for native use)
shard-{aa..af}6 × ≤512 MBSharded for browser (WASM ArrayBuffer limit)
voice_embedding/*.safetensors~50-200 KB each20 voice presets across 9 languages
tekken.json14.9 MBTekken BPE tokenizer

Model Details

  • Base model: mistralai/Voxtral-4B-TTS-2603
  • Quantization: Q4_0 (4-bit, 18 bytes per 32 elements)
  • File size: 2.67 GB (vs ~8 GB BF16 original)
  • Format: GGUF v3 (381 tensors)
  • Inference: Burn ML framework with custom WGSL compute shaders

What is Quantized

ComponentQuantization
Backbone (Ministral 3B, 26 layers) — attention + FFNQ4_0
Flow-matching transformer (3 layers) — attention + FFN + projectionsQ4_0
Token embeddings [131072, 3072]Q4_0
Semantic codebook output [8320, 3072]Q4_0
Codec decoder (8 transformer + 5 conv layers)F32
RMSNorm, LayerScale, QK-norm, small projectionsF32
Audio codebook embeddings [9088, 3072]F32

Codec weights stored as F32 with pre-fused weight normalization.

Benchmarks

NVIDIA DGX Spark (GB10, LPDDR5x), "The quick brown fox jumps over the lazy dog":

Euler StepsRTFQuality (Whisper large-v3)
8 (default)1.61xPerfect
41.24xPerfect
3~1.0x (real-time)Perfect

Optimizations: batched CFG, fused QKV+gate/up projections, pre-allocated KV cache.

Usage

Native CLI

# Download
uv run --with huggingface_hub \
  hf download TrevorJS/voxtral-tts-q4-gguf voxtral-tts-q4.gguf --local-dir models

# Synthesize (unified voxtral CLI)
cargo run --release --features "wgpu,cli,hub" --bin voxtral -- \
  speak --text "Hello world" --voice casual_female --gguf models/voxtral-tts-q4.gguf

# Real-time with 3 Euler steps
cargo run --release --features "wgpu,cli,hub" --bin voxtral -- \
  speak --text "Hello world" --gguf models/voxtral-tts-q4.gguf --euler-steps 3

# List voices
cargo run --release --features "wgpu,cli,hub" --bin voxtral -- speak --list-voices

Browser (WASM + WebGPU)

Shards are pre-split for browser loading. The TTS demo loads them automatically.

For local dev:

wasm-pack build --target web --no-default-features --features wasm
bun serve.mjs  # serves shards from models/voxtral-tts-q4-shards/

Available Voices

20 presets across 9 languages:

VoiceLanguage
casual_female, casual_maleEnglish
neutral_female, neutral_maleEnglish
cheerful_femaleEnglish
fr_female, fr_maleFrench
de_female, de_maleGerman
es_female, es_maleSpanish
it_female, it_maleItalian
pt_female, pt_malePortuguese
nl_female, nl_maleDutch
hi_female, hi_maleHindi
ar_maleArabic

Quantization Script

uv run --with safetensors --with torch --with numpy --with packaging \
  scripts/quantize_tts_gguf.py models/voxtral-tts/ -o voxtral-tts-q4.gguf

Source: scripts/quantize_tts_gguf.py

Contributors

TrevorJS

7 commits

TrevorJS/voxtral-tts-q4-gguf

Model

Voxtral TTS Q4 GGUF

15

7 commits

2 linked in READMEs

updated Mar 28, 2026

See the code
burn
gguf
q4
rust
text-to-speech
voxtral
wasm
webgpu

README

Voxtral TTS Q4 GGUF

Q4_0 quantized weights for Voxtral 4B TTS in GGUF format. For use with voxtral-mini-realtime-rs.

Try the browser demo — runs entirely client-side via WASM + WebGPU.

Files

FileSizeDescription
voxtral-tts-q4.gguf2.67 GBFull Q4 model (single file, for native use)
shard-{aa..af}6 × ≤512 MBSharded for browser (WASM ArrayBuffer limit)
voice_embedding/*.safetensors~50-200 KB each20 voice presets across 9 languages
tekken.json14.9 MBTekken BPE tokenizer

Model Details

  • Base model: mistralai/Voxtral-4B-TTS-2603
  • Quantization: Q4_0 (4-bit, 18 bytes per 32 elements)
  • File size: 2.67 GB (vs ~8 GB BF16 original)
  • Format: GGUF v3 (381 tensors)
  • Inference: Burn ML framework with custom WGSL compute shaders

What is Quantized

ComponentQuantization
Backbone (Ministral 3B, 26 layers) — attention + FFNQ4_0
Flow-matching transformer (3 layers) — attention + FFN + projectionsQ4_0
Token embeddings [131072, 3072]Q4_0
Semantic codebook output [8320, 3072]Q4_0
Codec decoder (8 transformer + 5 conv layers)F32
RMSNorm, LayerScale, QK-norm, small projectionsF32
Audio codebook embeddings [9088, 3072]F32

Codec weights stored as F32 with pre-fused weight normalization.

Benchmarks

NVIDIA DGX Spark (GB10, LPDDR5x), "The quick brown fox jumps over the lazy dog":

Euler StepsRTFQuality (Whisper large-v3)
8 (default)1.61xPerfect
41.24xPerfect
3~1.0x (real-time)Perfect

Optimizations: batched CFG, fused QKV+gate/up projections, pre-allocated KV cache.

Usage

Native CLI

# Download
uv run --with huggingface_hub \
  hf download TrevorJS/voxtral-tts-q4-gguf voxtral-tts-q4.gguf --local-dir models

# Synthesize (unified voxtral CLI)
cargo run --release --features "wgpu,cli,hub" --bin voxtral -- \
  speak --text "Hello world" --voice casual_female --gguf models/voxtral-tts-q4.gguf

# Real-time with 3 Euler steps
cargo run --release --features "wgpu,cli,hub" --bin voxtral -- \
  speak --text "Hello world" --gguf models/voxtral-tts-q4.gguf --euler-steps 3

# List voices
cargo run --release --features "wgpu,cli,hub" --bin voxtral -- speak --list-voices

Browser (WASM + WebGPU)

Shards are pre-split for browser loading. The TTS demo loads them automatically.

For local dev:

wasm-pack build --target web --no-default-features --features wasm
bun serve.mjs  # serves shards from models/voxtral-tts-q4-shards/

Available Voices

20 presets across 9 languages:

VoiceLanguage
casual_female, casual_maleEnglish
neutral_female, neutral_maleEnglish
cheerful_femaleEnglish
fr_female, fr_maleFrench
de_female, de_maleGerman
es_female, es_maleSpanish
it_female, it_maleItalian
pt_female, pt_malePortuguese
nl_female, nl_maleDutch
hi_female, hi_maleHindi
ar_maleArabic

Quantization Script

uv run --with safetensors --with torch --with numpy --with packaging \
  scripts/quantize_tts_gguf.py models/voxtral-tts/ -o voxtral-tts-q4.gguf

Source: scripts/quantize_tts_gguf.py

Contributors

TrevorJS

7 commits