voice_audio_multi/docs/models/kitten_tts.md
Fabio c36510c21e
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
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

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.