Downloads · 30 days
59
16% of all-time downloads
kyr0/qwen3-TTS-12Hz-0.6B-CustomVoice-4bit-partial-quantization
qwen3-TTS-12Hz-0.6B-CustomVoice-4bit-partial-quantization is a text-to-speech model from kyr0. Use it when you need text read aloud. It is set up for mlx-audio. The card lists the license as apache-2.0.
This model was converted to MLX format from Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice using mlx-audio version pinned to my fork and PR to support partial quantization!
Downloads · 30 days
59
16% of all-time downloads
All-time downloads
369
Public
Parameters
906M
1.7 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors1.7 GB · 100%
How the weights are stored.
U32560M · 62%
From the Hugging Face model README
This model was converted to MLX format from Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice using mlx-audio version pinned to my fork and PR to support partial quantization!
PR 398.
Refer to the original model card for more details on the model.
Please star this repo if you find this useful - it will soon be updated with fast inference / streaming server code!
https://github.com/kyr0/qwen3-tts-mlx
Create a requirements.txt file with the following content:
git+https://github.com/kyr0/mlx-audio.git@fix_qwen3_tts_quantization
transformers>=4.45.0
click
numpy
soundfile
huggingface_hub
tqdm
requests
Create a virtual environment and install dependencies:
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
python -m mlx_audio.tts.generate \
--model kyr0/qwen3-TTS-12Hz-0.6B-CustomVoice-4bit-partial-quantization \
--text "Das ist ein Referenztext." \
--lang_code german \
--speed 4 \
--pitch 0.1 \
--instruct "Excited, friendly radio moderator." \
--gender "female" \
--voice "aiden"
For the CLI example on a Macbook Air M4 base model, 24GB unified memory:
wall clock (time): 3.794s
3.35s user 1.00s system 114% cpu 3.794 total
NOTE: This includes loading the model, preprocessing, and generating the audio. The actual inference time is much shorter if the model is loaded into memory and warmed up (when MPS compute shader graphs are cached).
IMPORTANT: "Time-to-first-Sample" or latency can be further reduced by activating streaming mode. This model support streaming out-of-the-box -- I'm on it :-)
from mlx_audio.tts.utils import load_model
from mlx_audio.tts.generate import generate_audio
model = load_model("kyr0/qwen3-TTS-12Hz-0.6B-CustomVoice-4bit-partial-quantization")
generate_audio(
model=model,
text="Hello, this is a test.",
voice="serena",
instruct="Happy and excited.",
file_prefix="test_audio",
)
serena, vivian, uncle_fu, ryan, aiden, ono_anna, sohee, eric, dylan