Voices and Emotions
Original Voice Soundboard ships with 54+ voices and 19 emotions out of the box. You can also describe the style you want in plain English.
Voices
Section titled “Voices”Kokoro provides voices across multiple accents and genders. Voice names follow the pattern {accent}{gender}_{name}:
af_— American femaleam_— American malebf_— British femalebm_— British male
from voice_soundboard import VoiceEngine
engine = VoiceEngine()
# American femaleresult = engine.speak("Hi there!", voice="af_bella")
# British maleresult = engine.speak("Cheerio!", voice="bm_george")Voice presets
Section titled “Voice presets”Presets bundle a voice, speed, and style into a single name for common use cases:
| Preset | Voice | Speed | Style |
|---|---|---|---|
assistant | af_bella | 1.0 | Friendly, conversational |
narrator | bm_george | 0.95 | Calm, documentary |
announcer | am_michael | 1.1 | Bold, energetic |
storyteller | bf_emma | 0.9 | Expressive, varied |
whisper | af_nicole | 0.85 | Soft, gentle |
result = engine.speak("Breaking news!", preset="announcer")result = engine.speak("Once upon a time...", preset="storyteller")Emotions
Section titled “Emotions”19 emotions are available for fine-grained tonal control:
happy, sad, angry, excited, calm, fearful, surprised, disgusted, contemptuous, tender, proud, ashamed, guilty, anxious, nostalgic, hopeful, determined, confused, amused
result = engine.speak("I can't believe it!", emotion="surprised")result = engine.speak("We will make it.", emotion="determined")result = engine.speak("Those were the days.", emotion="nostalgic")Natural language style
Section titled “Natural language style”Instead of picking a preset or emotion by name, describe the style you want in plain English:
result = engine.speak("Good morning!", style="warmly and cheerfully")result = engine.speak("The results are in.", style="serious, measured, like a news anchor")result = engine.speak("I missed you.", style="soft and a little sad")The engine maps your description to the closest combination of voice parameters.
Combining controls
Section titled “Combining controls”You can layer voice, emotion, and style together:
result = engine.speak( "Welcome to the show!", voice="am_michael", emotion="excited", style="bold and energetic")Presets serve as a convenient starting point, but direct voice + emotion + style gives you the most control.