MOSS-TTS-v1.5 MLX 8-bit

8-bit affine quantization (group size 64) of OpenMOSS-Team/MOSS-TTS-v1.5 converted to MLX format for local inference on Apple Silicon with mlx-audio.

Converted with mlx_audio.convert (--q-bits 8, affine mode, group size 64), mlx-audio 0.5.5 / mlx 0.32.2.

As of conversion, no quantized MLX release of the MOSS-TTS v1.5 8B delay model existed on mlx-community (only the Local-Transformer v1.5 variants), so this repo fills that gap.

Usage

from mlx_audio.audio_io import write as audio_write
from mlx_audio.tts import load

model = load("luisarn/MOSS-TTS-v1.5-MLX-8bit", lazy=True)

result = next(model.generate(
    text="Hello, this is MOSS-TTS v1.5 running on MLX.",
    max_tokens=300,
))
audio_write("output.wav", result.audio, result.sample_rate)

Voice cloning:

result = next(model.generate(
    text="Cloned speech generated locally on a Mac.",
    ref_audio="speaker.wav",
    language="Cantonese",  # optional language tag, e.g. Cantonese, Portuguese, French
    max_tokens=400,
))

CLI:

python -m mlx_audio.tts.generate \
  --model luisarn/MOSS-TTS-v1.5-MLX-8bit \
  --text "Hello from MLX." \
  --output_path outputs

Performance

Measured on an Apple M4 Max (128 GB), warm cache, single sentence (5-6 s of audio): ~1.5x realtime, vs ~0.8x realtime for the bf16 weights.

Notes

  • Supports the same 31 languages as the upstream v1.5 model, including Cantonese (yue).
  • Generation results may differ slightly from the PyTorch reference due to MLX operators and sampling.
  • The MOSS Audio Tokenizer weights are fetched automatically by mlx-audio on first run.
  • Quantized weights may have small quality differences vs bf16; A/B compare if fidelity matters.

Credits

Downloads last month
33
Safetensors
Model size
8B params
Tensor type
BF16
·
U32
·
MLX
Hardware compatibility
Log In to add your hardware

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for luisarn/MOSS-TTS-v1.5-MLX-8bit

Quantized
(6)
this model