Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
3 KiB
3 KiB
KittenTTS
kitten_tts provides native GGML inference for the 80M-parameter
KittenTTS Mini 0.8
English text-to-speech model. It uses the shared eSpeak-ng frontend and
produces 24 kHz mono audio with eight built-in voices.
Install
Install eSpeak-ng when it is not included in the audio.cpp build, then install the model package:
sudo apt install espeak-ng libespeak-ng1
python tools/model_manager_v2.py install kitten_tts_mini_0_8_orig --models-root models
Run
audiocpp_cli --task tts --family kitten_tts \
--model models/KittenTTS-GGUF/kitten-tts-mini-0.8-orig.gguf \
--backend cpu --text "This lightweight model runs without a GPU." \
--voice-id Leo --out kitten.wav
Available voices are Bella, Jasper, Luna, Bruno, Rosie, Hugo,
Kiki, and Leo.
Request options (use with --request-option)
--voice-id takes precedence over --request-option voice_id=....
| Option | Range | Default | Description |
|---|---|---|---|
voice_id |
packaged voice ID or alias | expr-voice-5-m |
Built-in voice, also selectable with --voice-id. |
speed |
positive float | 1.0 |
Speech speed multiplier; larger values produce faster speech. Must be finite and positive. |
seed |
non-negative integer | random | Decoder noise seed for the current request; omitted requests choose a fresh random seed. |
text_chunk_mode |
default, tag_aware, japanese, endline |
default |
Framework long-form text chunking mode. |
text_chunk_size |
positive integer | 400 |
Maximum Unicode codepoints per chunk. |
The common --speaking-rate option also sets speech speed.
Session options (use with --session-option)
| Option | Description |
|---|---|
kitten_tts.weight_type |
Storage type for matrix multiplication weights. |
kitten_tts.conv_weight_type |
Storage type for convolution weights. |
kitten_tts.graph_capacity_mode |
Predictor graph capacity policy: fixed, tiered, grow, or double. |
kitten_tts.max_input_tokens |
Maximum predictor input token capacity; defaults to min(512, checkpoint context_length). |
kitten_tts.pre_tail_tokens |
Optional prebuilt predictor tail capacity. |
kitten_tts.espeak_library_path |
Explicit path to the eSpeak-ng shared library. |
kitten_tts.espeak_data_path |
Explicit path to espeak-ng-data. |
Convert the official model
Download kitten_tts_mini_v0_8.onnx, voices.npz, and config.json from the
upstream model repository, then run:
python tests/kitten_tts/convert_onnx_to_safetensors.py \
--onnx kitten_tts_mini_v0_8.onnx \
--voices voices.npz \
--output-dir kitten-converted/ggml
cp config.json kitten-converted/config.json
audiocpp_gguf \
--input kitten=kitten-converted/ggml/kitten_tts.safetensors \
--root kitten-converted \
--output kitten-tts-mini-0.8-orig.gguf \
--type orig --family kitten_tts --model-spec model_specs/kitten_tts.json
The upstream code and model are licensed under Apache-2.0.