Kitten TTS 2 Mini

82M parameters, 16 languages, 118 voices, 24 kHz. ONNX with int8 weights (82.7 MB; runs on CPU, no PyTorch needed), and the float32 PyTorch weights.

Usage

pip install kittenml
from kittenml import KittenTTS
import soundfile as sf

m = KittenTTS("KittenML/kitten-tts-2-mini")          # or the path of this directory
print(m.available_voices)                 # {"en": ["Eleanor", ...], "de": ["Lena", ...], ...}
for v in m.voices("de"):                  # name and description of each voice
    print(v["name"], v["description"])

audio = m.generate("Hello there, this is Kitten TTS 2 Mini.", voice="Eleanor")
audio = m.generate("Guten Morgen! Wie geht es dir?", voice="Felix", speed=1.1)    # the voice sets the language
audio = m.generate("Guten Morgen! Wie geht es dir?", language="de")          # the language's first voice (Lena)
sf.write("out.wav", audio, 24000)

m = KittenTTS("KittenML/kitten-tts-2-mini", backend="torch")                  # PyTorch, float32 weights
m = KittenTTS("KittenML/kitten-tts-2-mini", backend="torch", device="cuda")   # on a GPU
audio = m.generate("Hello there, this is Kitten TTS 2 Mini.", voice="Eleanor")

backend="onnx" (the default) runs the int8 ONNX graph with ONNX Runtime; backend="torch" runs the float32 weights in PyTorch. Only the files the selected backend needs are downloaded.

voice takes a name from the tables below (any case: "Felix" or "felix") or its description. Without voice, a language's first voice speaks. In this model the English voices also speak German, Spanish, Italian, Portuguese and Russian under the same name: pass language= to choose (m.generate("Hallo.", voice="Eleanor", language="de")); without it, English.

Voices

Each voice is a first name; its voice pack is stored under the lowercase name in voices_<lang>.npz. The English voices carry the names of the same characters in KittenTTS 2.

English (en)

voice description
Eleanor Somber historian (female)
Martha Weathered radio journalist (female)
Serena Gentle yoga instructor (female)
Iris Hushed museum guide (female)
Grace Soothing nurse (female)
Edith Elderly grandmother soft (female)
Diana Stern military officer (female)
Otis Rumbling blues musician (male)
Vincent Hushed museum guide (male)
Max Energetic sports announcer (male)
Danny Cheerful podcast host (male)

German (de)

voice description
Lena Female 1
Greta Female 2
Jonas Male 1
Felix Male 2
Eleanor Somber historian (female)
Martha Weathered radio journalist (female)
Serena Gentle yoga instructor (female)
Iris Hushed museum guide (female)
Grace Soothing nurse (female)
Edith Elderly grandmother soft (female)
Diana Stern military officer (female)
Otis Rumbling blues musician (male)
Vincent Hushed museum guide (male)

Spanish (es)

voice description
Lucia Female 1
Carmen Female 2
Javier Male 1
Diego Male 2
Eleanor Somber historian (female)
Martha Weathered radio journalist (female)
Serena Gentle yoga instructor (female)
Iris Hushed museum guide (female)
Grace Soothing nurse (female)
Edith Elderly grandmother soft (female)
Diana Stern military officer (female)
Otis Rumbling blues musician (male)
Vincent Hushed museum guide (male)

Italian (it)

voice description
Giulia Female 1
Chiara Female 2
Marco Male 1
Luca Male 2
Eleanor Somber historian (female)
Martha Weathered radio journalist (female)
Serena Gentle yoga instructor (female)
Iris Hushed museum guide (female)
Grace Soothing nurse (female)
Edith Elderly grandmother soft (female)
Diana Stern military officer (female)
Otis Rumbling blues musician (male)
Vincent Hushed museum guide (male)

Portuguese (Brazil) (pt)

voice description
Beatriz Female 1
Camila Female 2
Rafael Male 1
Thiago Male 2
Eleanor Somber historian (female)
Martha Weathered radio journalist (female)
Serena Gentle yoga instructor (female)
Iris Hushed museum guide (female)
Grace Soothing nurse (female)
Edith Elderly grandmother soft (female)
Diana Stern military officer (female)
Otis Rumbling blues musician (male)
Vincent Hushed museum guide (male)

Russian (ru)

voice description
Anastasia Female 1
Natasha Female 2
Dmitri Male 1
Ivan Male 2
Eleanor Somber historian (female)
Martha Weathered radio journalist (female)
Serena Gentle yoga instructor (female)
Iris Hushed museum guide (female)
Grace Soothing nurse (female)
Edith Elderly grandmother soft (female)
Diana Stern military officer (female)
Otis Rumbling blues musician (male)
Vincent Hushed museum guide (male)

Hindi (hi)

voice description
Priya Female 1
Ananya Female 2
Arjun Male 1
Vikram Male 2

Danish (da)

voice description
Freja Female 1
Mads Male 1
Rasmus Male 2

Finnish (fi)

voice description
Aino Female 1
Helmi Female 2
Eero Male 1
Juho Male 2
Ville Male 3

French (fr)

voice description
Camille Female 1
Chloe Female 2
Manon Female 3
Louis Male 1
Antoine Male 2
Julien Male 3
Mathis Male 4
Etienne Male 5

Japanese (ja)

voice description
Yuki Female 1
Sakura Female 2
Haruka Female 3
Aoi Female 4
Haruto Male 1

Korean (ko)

voice description
Seoyeon Female 1
Minjun Male 1
Jihoon Male 2

Dutch (nl)

voice description
Sanne Female 1
Fenna Female 2
Daan Male 1
Bram Male 2
Joris Male 3

Swedish (sv)

voice description
Astrid Female 1
Elsa Female 2
Oskar Male 1

Swahili (sw)

voice description
Zawadi Female 1
Neema Female 2
Baraka Male 1
Juma Male 2

Turkish (tr)

voice description
Elif Female 1
Zeynep Female 2

License

Apache-2.0 (the models, voice packs and the bundled G2P files).

Downloads last month
8
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support