Skip to content

Kyutai/Pocket TTS German 80M ​

  • License: CC-BY-4.0 (verified in the original repository's public metadata)
  • Release date: Not documented for this checkpoint in accessible upstream metadata; repository creation is not a model release date.
  • Modalities: Input: text, optional reference audio; Output: audio
  • Original model: kyutai/pocket-tts

Description ​

Pocket TTS is Kyutai's lightweight speech-generation model designed for efficient CPU inference. It turns text into speech and can reproduce a speaker's voice from a reference recording. This checkpoint generates German speech. Description paraphrased from the upstream README.

Run ​

bash
self serve pocket-tts-de:100m

Here is a link to the API docs: Audio API.

Example Request ​

With the server running, open another terminal and send a request:

bash
curl http://localhost:8080/v1/audio/speech \
        -H 'Content-Type: application/json' \
        -d '{"input":"Hallo, dies ist Pocket TTS."}' \
        -o output.wav

The response is saved as output.wav. Without request reference audio, the adapter uses Kyutai's bundled unmute-prod-website/default_voice.wav.

Engine Parameters ​

Served by the persistent ggmlc-audio engine through the ggmlc-audio adapter. These are startup settings, not per-request JSON fields; the registry sets no overrides, so the engine defaults apply.

ParameterDefaultWhat it controls
context_size4096Tokens shared by reference audio, text and generated frames; accepts 512 to 262144.
threadsHalf the hardware concurrency (at least 1)CPU workers; accepts 1 to 1024.
gpu_layers-1GPU-offloaded layers; -1 means all, 0 means CPU; accepts -1 to 10000. CPU device selection forces zero offload.
temperature0.8Token-sampler temperature; accepts 0.01 to 10. This is not a voice style or emotion control.
top_p0.95Nucleus sampling; accepts 0 to 1.
top_k40Top-k sampling; accepts 1 to 1000 (1 selects greedy token sampling).
frames512Maximum generated audio frames per request; accepts 1 to 100000.
seedRandomRNG seed; accepts 0 to 4294967295. Reproducibility depends on the pipeline and device.

Override startup settings with --set <parameter>=<value>.

Quantizations and Files ​

Default variant: bf16. This is the only registered variant; sizes and SHA-256 hashes are pinned in the model registry.

bf16 (default) ​

FileRoleSizeSHA-256Origin
german/pocket-tts-german.ggufmodel152.0 MiB (159391264 bytes)7b797a22f993183fc5f496d4bf8207c03c6e527e8909b998fb35580ee49458feEryriLabs/pocket-tts-GGUF
german/mmproj-pocket-tts-german.ggufmmproj57.1 MiB (59858080 bytes)6ef66b0cf7a68f5973a2a4a8ded1a9c2532ecddd8b445a00e5fe3469cca11ca3EryriLabs/pocket-tts-GGUF
unmute-prod-website/default_voice.wavvoice0.5 MiB (480044 bytes)27157be84054d6ce8af7a1ebca827c73d1d8fc38842f979d3fae207c92b1a9aekyutai/tts-voices

Total download: 209.6 MiB (219729388 bytes).

Notes ​

  • The serve ID retains 100m, but the registry reports this checkpoint as 80M parameters. Language is fixed by the weights; a reference voice does not change it.
  • Pocket TTS needs reference audio; the bundled file supplies it when none is sent. OpenAI voice names such as alloy select that same default, not different speakers. The upstream German voice juergen is not bundled.
  • To clone another voice, send WAV or MP3 as multipart ref_audio or base64 voice.audio on each request. Use only recordings you have permission to use; observe upstream's consent and prohibited-use terms.
  • Output is WAV at 24 kHz. Upstream Python streaming and unlimited-text claims do not describe this adapter's bounded, non-streaming API; see the Audio API for supported request fields and limits.
  • The bundled default recording is CC0 under the voice repository's licensing notes, separate from the model license.
  • Origin links use main because these registry entries pin hashes, not repository revisions. Download size is not the total runtime memory requirement.

Benchmarks ​

No submitted benchmark reports yet.