Chatterbox Multilingual es-mx-latam — MLX Q8 HQ
A quality-first mixed-precision MLX conversion candidate of ResembleAI's Latin American Spanish V3 checkpoint.
Validation status: converted with real MLX on Windows 11 / Ubuntu WSL2, CPU backend. Exact tensor serialization, strict component checks, Spanish tokenizer checks, full model loading and an unconditioned transformer forward passed. No speech waveform, human listening test, ASR quality score, voice-similarity evaluation, or native Apple Metal benchmark has been performed. HQ names the conservative storage policy, not a proven perceptual improvement.
Precision policy
- Affine weight-only 8-bit, group size 32 for 182 T3 attention/MLP matrices in blocks 2–27.
- First two and last two blocks remain at source precision: 28 protected backbone matrices.
- Embeddings, output heads, normalizations, conditioning, voice encoder, S3Gen V3 and vocoder remain at their original converted source dtypes. No blanket FP16/BF16 cast.
- A candidate matrix is preserved unquantized if its Frobenius relative reconstruction error exceeds 0.5% or its worst output-row relative error exceeds 2%.
- No additional activation or KV-cache quantization. This is not FP8 and not an all-8-bit pipeline.
Actual conversion measurements
| Measurement | Result |
|---|---|
| Source-precision MLX weight file, retained locally | 2,711,116,913 bytes |
| This Q8-HQ weight file | 1,511,588,177 bytes |
| Weight-file reduction | 44.24% |
| Quantized / protected backbone matrices | 182 / 28 |
| Maximum accepted matrix relative error | 0.48859% |
| Mean accepted matrix relative error | 0.47696% |
| Maximum output-row relative error | 0.68637% |
| Protected tensor values | Exactly unchanged |
| Baseline and Q8 save/reload equality | Exact shape, dtype and values |
| Real MLX kernel/serialization contract tests | 4 passed, 0 skipped |
Relative errors are weight-domain diagnostics, not perceptual-quality percentages. They do not mean that audio is a corresponding percentage better or worse. File sizes are not peak inference memory. Full results are in precision_report.json, conversion_manifest.json, and runtime_smoke_report.json.
Runtime compatibility
This checkpoint uses the Multilingual V3 speech decoder. The pinned
MLX-Audio V3 runtime requires its final vocoder LeakyReLU to follow the
official ResembleAI V3 convention (negative slope 0.01 before
conv_post). This is a runtime compatibility requirement, not a
change to the Q8-HQ weights. The source-guarded correction is
documented in the regular LatAm Q8 repository.
Do not assume that the regular model's helper can load this different
group-32, selectively quantized checkpoint without adaptation.
This HQ variant has not independently completed end-to-end Mac audio
qualification.
Run on an Apple Silicon Mac
Use native arm64 Python in an isolated environment. The reproducible runtime commit is dad2087f790dfe96b07d5aac1405db4b578b411f.
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install 'git+https://github.com/Blaizzy/mlx-audio.git@dad2087f790dfe96b07d5aac1405db4b578b411f' 'mlx==0.32.4' soundfile
hf download groxaxo/Chatterbox-Multilingual-es-mx-latam-MLX-8bit-HQ --local-dir ./Chatterbox-LatAm-Q8-HQ
python ./Chatterbox-LatAm-Q8-HQ/generate_pinned.py --load-only
python ./Chatterbox-LatAm-Q8-HQ/generate_pinned.py \
--ref-audio ./reference.wav \
--text '¡Hola! ¿Cómo estás? El niño vio un pingüino y sonrió.' \
--output ./latam_mlx8_hq.wav
Use a clean, authorized mono reference recording of the intended voice. The helper preserves raw output as a native-rate float WAV, uses lang_code=es, validates model checksums, and pins the external speech tokenizer to e0c9886f0e1c35ae85b1f27277416fb19fc72bec. The source repository is a Latin American Spanish model, not a guarantee of every regional accent. The helper's load path is tested; audio generation and perceptual quality remain unqualified.
The ordinary python -m mlx_audio.tts.generate --model groxaxo/Chatterbox-Multilingual-es-mx-latam-MLX-8bit-HQ --lang_code es --ref_audio reference.wav --text 'Hola.' loader can also read the standard root-level weights/config, but may fetch a mutable speech-tokenizer revision. Prefer the included helper for reproducibility.
Spanish representation
The actual text vocabulary has 2,454 entries and the speech embedding has 8,194 entries. Preserve V3's NFKD, fullcase preprocessing. Do not strip diacritics or combining marks, and do not force lowercase. Tokenizer checks preserve distinctions such as año/ano, sí/si and papá/papa, Unicode-equivalent spellings, and the [es] language token.
Conversion fixes found during execution
- Hugging Face's cache can resolve a safetensors file to a hash-named blob with no extension. The port explicitly specifies
format='safetensors'when loading source blobs. - The source checkpoint has an 8-row unused LLaMA wrapper embedding, while the MLX constructor initializes 4,000 rows. The audit sizes this one constructor placeholder to the checkpoint and loads the original tensor unchanged. T3 supplies
input_embeddingsin all transformer forward paths; the real Spanish text embedding remains 2,454 rows. No source tensor was truncated, padded or replaced. - Only the explicitly enumerated generated decoder buffers and absent unused wrapper LM head are permitted as runtime-only initialization. All other missing keys, extra keys, shape mismatches, nonfinite values and unexpected quantized tensors stop conversion.
Qualification still required
Before deployment, compare against the source-precision MLX baseline and original PyTorch model with the same authorized reference voice, Spanish texts and generation settings. Listen blind for accent, pronunciation, voice identity, prosody, repeated or missing words and artifacts. Evaluate warm latency and RTF separately on the intended Mac. Do not interpret the synthetic unconditioned forward smoke test as end-to-end TTS quality validation.
Provenance and license
Source model commit: 27e595bf2fe7be0533ca299d9afafcde08b7cca7. Shared voice encoder/assets commit: 5bb1f6ee58e50c3b8d408bc82a6d3740c2db6e18. MLX-Audio commit: dad2087f790dfe96b07d5aac1405db4b578b411f. Exact asset hashes and source dtypes are recorded in the manifest. Original weights remain unchanged on the conversion machine; the full-precision baseline is not duplicated in this repository.
Original ResembleAI MIT notice is retained in LICENSE; see NOTICE.md. Respect reference-voice consent and applicable usage rights. No reference audio or credentials are included.