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

ModelParamsSizeBest For
kitten-tts-mini-0.880M80 MBBest quality
kitten-tts-micro-0.840M41 MBBalanced
kitten-tts-nano-0.815M56 MBFastest

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.