About Kitten TTS: Open-source (Apache 2.0) by KittenML. ONNX-based, 15M-80M params, runs on CPU. v0.8.1.
Prerequisites
- Mac with Apple Silicon (M1, M2, M3, M4)
- macOS 13+ (Ventura or newer)
- Python 3.8+
- pip
- ~100 MB disk space
Step 1: Install Python (if needed)
Python 3 comes pre-installed. Check:
python3 --version
For a controlled environment, use Homebrew:
brew install [email protected]
Step 2: Virtual Environment
mkdir kitten-tts-project
cd kitten-tts-project
python3 -m venv venv
source venv/bin/activate
Step 3: Install Kitten TTS v0.8.1
pip install soundfile
pip install https://github.com/KittenML/KittenTTS/releases/download/0.8.1/kittentts-0.8.1-py3-none-any.whl
Step 4: Verify Installation
python3 -c "from kittentts import KittenTTS; print('Kitten TTS ready on Apple Silicon!')"
Step 5: Generate First Audio
from kittentts import KittenTTS
import soundfile as sf
model = KittenTTS("KittenML/kitten-tts-mini-0.8")
audio = model.generate("Hello from Mac!", voice="Bella")
sf.write("hello.wav", audio, 24000)
print("Saved hello.wav")
Step 6: Try All 8 Voices
print(model.available_voices)
# ['Bella', 'Jasper', 'Luna', 'Bruno', 'Rosie', 'Hugo', 'Kiki', 'Leo']
for voice in model.available_voices:
model.generate_to_file("I am {voice}.", "{voice}.wav", voice=voice)
Apple Silicon MPS Acceleration
MPS Support: Kitten TTS primarily runs on CPU via ONNX. For PyTorch MPS acceleration, install PyTorch with MPS support.
pip install torch torchvision torchaudio
model = KittenTTS("KittenML/kitten-tts-mini-0.8", backend="mps")
Model Selection for Mac
| Model | Params | Size | Best For |
|---|---|---|---|
| kitten-tts-mini-0.8 | 80M | 80 MB | Best quality |
| kitten-tts-micro-0.8 | 40M | 41 MB | Balanced |
| kitten-tts-nano-0.8 | 15M | 56 MB | Fastest |
Troubleshooting
Permission denied: Ensure you activated the virtual environment with
source venv/bin/activate.Slow first run: Models are downloaded on first use (~80 MB). Subsequent runs are instant.