Pocket TTS β€” GGUF (ggml-quantised)

GGUF / ggml conversion of kyutai/pocket-tts for use with CrispStrobe/CrispASR.

Pocket TTS is a lightweight (~100M param) continuous-latent autoregressive TTS model from Kyutai, based on the CALM paper (arXiv:2509.06926). Unlike codebook-based TTS models, Pocket TTS emits continuous float vectors β€” no discrete tokens, no softmax sampling:

  • FlowLM backbone β€” causal transformer (1024D, 16 heads, 6 layers, RoPE, GELU) operating at 12.5 Hz
  • Consistency head β€” SimpleMLPAdaLN (512D, 6 ResBlocks) with timestep embedding β†’ one-step LSD decode β†’ 32-dim continuous latent vectors
  • Mimi VAE decoder β€” SEANet upsample convolutions + 2-layer transformer β†’ 24 kHz PCM
  • Mimi VAE encoder (voice-cloning builds only) β€” SEANet downsample + 2-layer transformer + speaker projection β†’ reference conditioning
  • Text tokenizer β€” SentencePiece BPE (4000 vocab, embedded in GGUF)

Single GGUF file β€” no separate codec companion needed (Mimi weights and the tokenizer are embedded).

Released under CC-BY-4.0 license.

Voice cloning

Pocket TTS is zero-shot: it clones the timbre of a short reference clip. The voice-cloning builds (pocket-tts-english-{f16,q8_0,q4_k}.gguf β€” the ones without novc in the name) embed the Mimi VAE encoder and speaker projection needed to condition on a reference; the novc builds omit that encoder and are ~20 MB smaller.

# clone the timbre of ref.wav (any sample rate; mono is used)
./build/bin/crispasr --backend pocket-tts -m pocket-tts-english-f16.gguf \
    --voice ref.wav \
    --tts "The quick brown fox jumps over the lazy dog." \
    --tts-output fox.wav --seed 42

Pocket TTS produces near-silence without voice conditioning, so if you omit --voice a built-in default reference is used automatically. Use a clean, single-speaker reference of a few seconds for best results.

Files

Two families: voice-cloning (default, embeds the Mimi encoder) and novc (decoder only, smaller β€” use when you only need the built-in default voice).

File Voice clone Quant Size Notes
pocket-tts-english-f16.gguf βœ… F16 219 MB Reference quality, cloning
pocket-tts-english-q8_0.gguf βœ… Q8_0 124 MB Near-F16, cloning
pocket-tts-english-q4_k.gguf βœ… Q4_K 73 MB Smallest with cloning
pocket-tts-english-novc-f16.gguf β€” F16 200 MB Decoder only
pocket-tts-english-novc-q8_0.gguf β€” Q8_0 110 MB Decoder only
pocket-tts-english-novc-q4_k.gguf β€” Q4_K 62 MB Decoder only, smallest

Quick start

# 1. Build CrispASR
git clone https://github.com/CrispStrobe/CrispASR
cd CrispASR
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j --target crispasr-cli

# 2. Download a model (voice-cloning F16 shown)
huggingface-cli download cstr/pocket-tts-GGUF pocket-tts-english-f16.gguf --local-dir .

# 3. Synthesize
./build/bin/crispasr --backend pocket-tts -m pocket-tts-english-f16.gguf \
    --tts "Hello, how are you today?" \
    --tts-output hello.wav --seed 42

Or with auto-download (pulls the voice-cloning F16):

./build/bin/crispasr -m pocket-tts --auto-download \
    --tts "The quick brown fox jumps over the lazy dog." \
    --tts-output fox.wav

Python binding

from crispasr import Session

sess = Session("pocket-tts-english-f16.gguf")
sess.set_tts_seed(42)
pcm = sess.synthesize("Hello world.")
sess.write_wav("hello.wav", pcm)

Conversion

Converted with models/convert-pocket-tts-to-gguf.py from the CrispASR repo (--voice-cloning bakes in the Mimi encoder + speaker projection). The Mimi codec and SentencePiece tokenizer are embedded in the single GGUF.

Provenance and EU AI Act Art. 53 note

  • Upstream model: kyutai/pocket-tts β€” published by kyutai.
  • Upstream licence: cc-by-4.0. This repository redistributes under the same terms; it grants no rights the upstream licence does not.
  • What was done here: format conversion and/or quantisation only (GGUF/GGML). No training, no fine-tuning, no merging, no distillation, no change to architecture, vocabulary or capability. Only the numeric representation of the upstream weights differs.
  • Training data: documented β€” where it is documented at all β€” by the upstream provider; see the upstream model card. No training data was used, added or selected by this repository. No training-content summary was found on the upstream model card at the time of writing; that documentation gap is upstream's and is not filled here.
  • Provider status: under Regulation (EU) 2024/1689 the upstream authors remain the provider of this model. Converting the serialisation format does not make this repository the provider of a new general-purpose AI model, and no such claim is made. Questions about training content, copyright policy or model capability belong upstream.
Downloads last month
1,200
GGUF
Model size
0.1B params
Architecture
pocket-tts
Hardware compatibility
Log In to add your hardware

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for cstr/pocket-tts-GGUF

Quantized
(17)
this model

Paper for cstr/pocket-tts-GGUF