🚀 What's New in v1.1.0
MLX Backend Support for macOS Apple Silicon
This release adds native MLX backend support for macOS with Apple Silicon, providing 2-5x faster performance compared to Docker/CPU.
🍎 Key Features
Automatic Backend Detection
- MLX (macOS Metal GPU) - Preferred on Apple Silicon
- PyTorch (CUDA/CPU) - Fallback for other platforms
- Dummy - Test mode when no backends available
No configuration needed - the API automatically uses the best available backend!
Native macOS Installation
./install-macos-mlx.sh
source venv-moshi-mlx/bin/activate
python3 -m uvicorn app:app --host 0.0.0.0 --port 8000🎙️ Enhanced Voice Support
- 44 voice presets from 4 collections:
- VCTK: 10 British English speakers
- CML-TTS: 10 high-quality French speakers
- Expresso: 9 English voices with emotions (happy, angry, calm, etc.)
- EARS: 14 diverse English speakers
- New
/api/v1/voicesendpoint to list all available voices
⚡ Performance Improvements
MLX Backend (Apple Silicon)
- Model loading: ~0.5 seconds (10x faster than Docker)
- Synthesis speed: 2-3x real-time
- Direct Metal GPU access (no virtualization overhead)
GitHub Actions
- Docker builds now use cache: 5-10x faster on subsequent runs
- Reduced CI/CD time from ~10min to ~1-2min (with cache)
📦 Installation Methods
macOS (MLX - Recommended for Apple Silicon):
git clone https://github.com/mmaudet/moshi-tts-api.git
cd moshi-tts-api
./install-macos-mlx.sh
source venv-moshi-mlx/bin/activate
python3 -m uvicorn app:app --host 0.0.0.0 --port 8000Docker (GPU):
docker pull mmaudet/moshi-tts-api:1.1.0
docker run -d -p 8000:8000 --gpus all mmaudet/moshi-tts-api:1.1.0Docker (CPU):
docker pull mmaudet/moshi-tts-api:1.1.0
docker run -d -p 8000:8000 mmaudet/moshi-tts-api:1.1.0🔧 Requirements
- Python: 3.10, 3.11, or 3.12 (for MLX)
- macOS: Apple Silicon (M1/M2/M3/M4/M5) for MLX backend
- Linux/Windows: CUDA or CPU for PyTorch backend
📝 API Changes
- Health endpoint now reports backend type:
"mlx (Metal GPU)","cuda (GPU)", or"cpu" - Endpoint naming updated from
/api/v1/synthesizeto/api/v1/ttsfor consistency - New
/api/v1/voicesendpoint to list all 44 voice presets
🐛 Bug Fixes
- Python version compatibility check prevents errors with Python 3.13+
- Clear error messages guide users to install compatible Python versions
- Improved installation script with better error handling
📊 Benchmarks
Synthesis of 5.5s audio (French):
- MLX (M2): 12.88s (2.3x real-time)
- Docker CPU: ~60s (11x real-time)
- Docker GPU: ~15s (2.7x real-time)
🙏 Acknowledgments
- Kyutai Labs for the Moshi TTS model
- Apple MLX team for the Metal GPU framework
📚 Documentation
- Full changelog: CHANGELOG.md
- API documentation: http://localhost:8000/docs (when running)
- Installation guide: README.md
Full Changelog: v1.0.0...v1.1.0