Mosescreates/habibi-tts-mlx
0
Habibi-TTS MLX
The first MLX conversion of Habibi-TTS — an Arabic dialect text-to-speech model built on the F5-TTS architecture.
Overview
This is the Unified Habibi-TTS model converted to Apple MLX format for use with f5-tts-mlx and f5-tts-swift.
- Architecture: F5-TTS DiT (dim=1024, depth=22, heads=16, ffmult=2, convlayers=4)
- Parameters: 337M (float32)
- Model size: ~1.3 GB
- Vocab: 2,731 characters (includes 93 Arabic characters + diacritics)
- Sample rate: 24 kHz
- Source: Unified checkpoint from SWivid/Habibi-TTS (200K steps, EMA weights)
Supported Dialects
The Unified model supports multiple Arabic dialects:
Usage with f5-tts-mlx (Python)
from f5_tts_mlx.cfm import F5TTS
# Load directly from this repo
f5tts = F5TTS.from_pretrained("pmax-agency/habibi-tts-mlx")
# Generate Arabic speech
wave, _ = f5tts.sample(
ref_audio,
text=["أهلاً وسهلاً، كيف حالك اليوم؟"],
duration=duration,
steps=8,
)Or via CLI:
pip install f5-tts-mlx
python -m f5_tts_mlx.generate \
--model pmax-agency/habibi-tts-mlx \
--text "أهلاً وسهلاً" \
--output arabic_speech.wavConversion Details
Converted from the original PyTorch safetensors checkpoint to MLX-compatible format:
- Extracted EMA weights (best quality) from the Unified checkpoint
- Stripped
ema_model.prefix - Removed training metadata (
initted,step) - Weight format is compatible with f5-tts-mlx's built-in
convert_weights=Trueconversion
The model_v1.safetensors file contains weights in PyTorch key format — f5-tts-mlx's from_pretrained handles the final key renaming and conv weight transposition automatically.
Credits
- Habibi-TTS: SWivid/Habibi-TTS — original Arabic dialect TTS model
- F5-TTS: SWivid/F5-TTS — base TTS architecture
- f5-tts-mlx: lucasnewman/f5-tts-mlx — MLX implementation
- Conversion: Converted by Majana LLC for Aamil (عامل)
License
This model inherits the license from the original Habibi-TTS repository.
