Pocket TTS — Estonian (6 layers)

An Estonian voice-cloning TTS model for Pocket TTS. Six transformer layers, runs faster than realtime on CPU.

Usage

uvx pocket-tts generate \
  --config hf://cbentes/pocket-tts-estonian/estonian.yaml \
  --voice your_voice.wav \
  --text "Tere! Mina olen eesti keele kõnesüntesaator ja töötan tavalises arvutis kiiremini kui reaalajas."

The voice must be an audio file. Here we provide examples from the test subset, in the folder voices/. They are excerpts of the TalTech Estonian Speech Dataset 1.0 (CC BY-SA 4.0); the audio copyright belongs to the original broadcasters (ERR).

uvx pocket-tts generate \
  --config hf://cbentes/pocket-tts-estonian/estonian.yaml \
  --voice https://huggingface.co/cbentes/pocket-tts-estonian/resolve/main/voices/et_f_reporter.wav \
  --text "Tere! Mina olen eesti keele kõnesüntesaator ja töötan tavalises arvutis kiiremini kui reaalajas."

Training

corpus TalTech Estonian Speech Dataset 1.0 (Estonian broadcast, podcast, webinar and parliament speech, CC BY-SA 4.0)
training data 1192 h, 426k utterances, 18,303 speaker labels (16 kHz sources)
tokenizer sentencepiece BPE fitted on the TalTech transcripts, vocab 4000
teacher 24 layers, LSD, fine-tuned from Kyutai's english_2026-04_24l with the text embedding re-initialised, 250k steps, lr 2e-4 constant, flow_batch_multiplier 4, text/voice dropout 0.2
student 6 layers, depth-distilled from the teacher's EMA weights, 200k steps, lr 4e-4 cosine, distill_cfg_coef 2.0
weights EMA (decay 0.9999)
recommended --temperature 0.3, cfg 1 (the default; guidance is baked into the student)

Trained with the Pocket TTS training code.

Evaluation

Scored on 200 held-out utterances from the test split of the TalTech corpus (76 recordings, speakers never seen in training). For each item the voice prompt is a different 5 s utterance of the same speaker and the model synthesises the item's transcript. Settings as in the CLI: EMA weights, --temperature 0.3, cfg 1, one flow step. A second condition keeps only items with clean prompts (prompt UTMOS >= 3.3, 89 items).

natural prompts (200) clean prompts (89)
WER (TalTechNLP/whisper-large-v3-turbo-et-verbatim) 5.0 % 5.5 %
speaker similarity (microsoft/wavlm-base-plus-sv, vs prompt) 0.947 0.955
UTMOS 3.03 3.44
UTMOS of the prompts themselves 2.70 3.47
silent / runaway generations 0 / 0 0 / 0

For reference, the same ASR judge scores 9.9 % WER on the real recordings of those 200 items, and no compound-word or number normalisation is applied before WER, so a share of the residual is spelling convention rather than mispronunciation. Intelligibility is highest on read news and lowest on conversational podcast text with foreign interjections and rare proper nouns.

WER is not directly comparable with Kyutai's English numbers, which use a near-perfect English ASR on clean read speech.

Limitations

  • Numbers, abbreviations and symbols are not read. The transcripts spell numbers out, so the model has almost no examples of digits paired with audio. Write kaks tuhat kakskümmend neli, not 2024; expand %, km/h, nt. and similar before synthesis.
  • Estonian only. Foreign names and code-switched words are pronounced with Estonian letter-to-sound habits; English interjections in particular are unreliable.
  • Length. Utterances of roughly 2-30 s are well covered. Very short inputs (a few words) and long texts, which the CLI chunks, were not evaluated systematically.
  • Voice cloning. Only clone voices you have permission to use. The bundled voices/ are excerpts of the public corpus and are provided for testing, not to impersonate the speakers.

License

Weights: CC BY-SA 4.0. Derived from TalTech Estonian Speech Dataset 1.0 (CC BY-SA 4.0)

Downloads last month
-
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support