Why Multi-Speaker?
Discussion and interview formats are more engaging than solo monologues. Kitten TTS provides 8 distinct voices to simulate real conversations.
Dialogue Script Example
from kittentts import KittenTTS
model = KittenTTS("KittenML/kitten-tts-mini-0.8")
# Host: Jasper
model.generate_to_file("Welcome back to the show. Today we have a special guest.", "host_intro.wav", voice="Jasper")
# Guest: Bruno
model.generate_to_file("Thanks for having me. I am excited to be here.", "guest_intro.wav", voice="Bruno")
# Host question
model.generate_to_file("So tell us, what inspired your latest project?", "host_q1.wav", voice="Jasper")
# Guest answer
model.generate_to_file("It all started with a simple observation about how people interact with technology.", "guest_a1.wav", voice="Bruno")
# Co-host chimes in
model.generate_to_file("That is fascinating. I have noticed the same trend in my research.", "cohost.wav", voice="Bella")
# Wrap up
model.generate_to_file("Thanks for the great conversation. Where can people find you online?", "host_outro.wav", voice="Jasper")
Voice Casting for Multi-Speaker
| Role | Voice | Tone |
|---|---|---|
| Main Host | Jasper | Warm, professional |
| Co-Host | Bella / Rosie | Engaging, complementary |
| Expert Guest | Bruno | Authoritative, knowledgeable |
| Creative Guest | Kiki / Luna | Energetic, artistic |
| Caller / Audience | Leo / Hugo | Varied, adds texture |
Pro Tips
- Voice contrast: Use clearly different voices (male/female) for easy listening
- Transition phrases: Add natural transitions between speakers
- Audio spacing: Leave 500ms between speaker changes in editing
- Consistent roles: Keep the same voice for each role across episodes