Request access to moore-tts-pocket
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
This model is part of a research benchmark on text-to-speech for Mooré. Requests are reviewed by hand, usually within a few days. Generated speech can imitate real voices, so access comes with a few conditions: respect the license (CC BY 4.0), do not clone or imitate a real person's voice without their consent, say clearly that the audio is synthetic when you share it, and do not use the model for fraud, harassment, impersonation or political misinformation.
Log in or Sign Up to review the conditions and access this model content.
Mooré Pocket TTS (6 layers, distilled)
Kyutai's Pocket TTS adapted to Mooré: a 24-layer teacher fine-tuned on 54.6 hours of read Mooré, then distilled into the small 6-layer model that runs faster than real time on a CPU. It clones a voice from a 5-second reference clip.
- CER 1.45 % on 150 held-out Bible verses, against 0.47 % for the real recordings and 1.44 % for its 24-layer teacher
- Zero-shot voice cloning from a reference clip, 24 kHz output, real-time factor 0.37 on 4 threads of a laptop CPU (Windows, no GPU)
- Part of a controlled benchmark of open TTS architectures on Mooré (same data, same splits, same evaluation)
Samples
Four verses drawn at random from the held-out dev set (chapters never seen in training). For each one: this model, its 24-layer teacher, and the reference clip of the voice being cloned.
| Text | Voice | Type | Audio |
|---|---|---|---|
| Mam sã n zẽk m zugu, yãmb tãoosda maam wa gɩgemd sẽn digd bũmbu, la y le tar y pãngã n maand maam wẽnga. | V13 | this model (CER 1.0%) | |
| Mam sã n zẽk m zugu, yãmb tãoosda maam wa gɩgemd sẽn digd bũmbu, la y le tar y pãngã n maand maam wẽnga. | V13 | 24-layer Mooré teacher it was distilled from (CER 3.0%) | |
| (voice prompt: a different verse by the same reader) | V13 | reference clip | |
| T'a Zeezi yeel-a: Mam sẽn gomd ne foomã, mam yaa yẽnda. | V04 | this model (CER 3.8%) | |
| T'a Zeezi yeel-a: Mam sẽn gomd ne foomã, mam yaa yẽnda. | V04 | 24-layer Mooré teacher it was distilled from (CER 0.0%) | |
| (voice prompt: a different verse by the same reader) | V04 | reference clip | |
| A wilga tõnd t'a yãa malɛk sẽn wa n yaas a roogẽ wã, n yeele: 'Tʋm rap Zope tɩ b tɩ bool a Sɩmo b sẽn boond me t'a Pɩyɛɛrã, | V07 | this model (CER 0.8%) | |
| A wilga tõnd t'a yãa malɛk sẽn wa n yaas a roogẽ wã, n yeele: 'Tʋm rap Zope tɩ b tɩ bool a Sɩmo b sẽn boond me t'a Pɩyɛɛrã, | V07 | 24-layer Mooré teacher it was distilled from (CER 0.8%) | |
| (voice prompt: a different verse by the same reader) | V07 | reference clip | |
| La sapɩlmã na n sarma kãgrã, la b na n sirga tẽngã fasɩ. | V11 | this model (CER 0.0%) | |
| La sapɩlmã na n sarma kãgrã, la b na n sirga tẽngã fasɩ. | V11 | 24-layer Mooré teacher it was distilled from (CER 0.0%) | |
| (voice prompt: a different verse by the same reader) | V11 | reference clip |
Usage
# after your access request is approved: huggingface-cli login
uvx pocket-tts generate --config hf://anyantudre/moore-tts-pocket/moore.yaml \
--voice reference.wav --text "Yãmb kɩtame tɩ nintãm lebg b rɩɩbo."
# or from Python:
# from pocket_tts import TTSModel
# model = TTSModel.load_model(config="hf://anyantudre/moore-tts-pocket/moore.yaml")
# state = model.get_state_for_audio_prompt("reference.wav") # about 5 s of the voice to clone
# audio = model.generate_audio(state, "Yãmb kɩtame tɩ nintãm lebg b rɩɩbo.")
Training
| Base model | kyutai/pocket-tts |
| Parameters | ~110M (6-layer flow LM + Mimi-based VAE decoder) |
| Output | 24000 Hz mono |
| Data | 54.6 h, 20,491 verses read by ~16 voices, jw.org Mooré Bible recordings (24 kHz), train chapters only; edge silences trimmed, loudness -20 LUFS |
- New SentencePiece unigram tokenizer (4,000 pieces, full character coverage) trained on the Mooré transcripts; text embedding reset
- Teacher: kyutai french_24l fine-tuned for 8,000 steps (lr 2e-4, cosine), effective batch 64, word alignments from the MMS-1b-all Mooré CTC aligner; step 6,000 kept (dev150 CER 1.44 %)
- Starting from the French teacher gave a lower CER than starting from the English one (1.73 %); training longer overfits after about 6,000 steps
- Student: 6 layers, depth-distilled from that teacher for 20,000 steps with classifier-free guidance 2.0 baked in (lr 4e-4 cosine)
- One RTX 5090: about 0.7 GPU-hours for the teacher and 1 GPU-hour for the distillation
Results
| dev150 (150 verses, 20 held-out chapters, 9 voices) | CER | WER | CER on ɛ ɩ ʋ and nasals | Speaker sim. to prompt (ECAPA) | UTMOSv2 | F0 contour dist. (st) |
|---|---|---|---|---|---|---|
| Real recordings | 0.47 % | 1.85 % | 1.32 % | 0.73 | 3.03 | 0.00 |
| 24-layer Mooré teacher it was distilled from | 1.44 % | 4.41 % | 3.28 % | 0.62 | 3.04 | 1.64 |
| This model | 1.45 % | 3.86 % | 2.43 % | 0.63 | 3.11 | 1.56 |
CER: anyantudre/moore-asr-eval-w2vbert, greedy CTC, never trained on these chapters. Speaker similarity: cosine between ECAPA-TDNN (speechbrain/spkrec-ecapa-voxceleb) embeddings of the audio and of the voice prompt; for the real recordings it compares two different verses by the same reader, which is the ceiling. UTMOSv2 is an English-trained naturalness predictor and is only a rough guide for Mooré. F0 contour distance: word-aligned DTW between synthesized and natural pitch, in semitones (lower is closer). Every system clones the same reference clip per verse.
Limitations
- Trained on read Bible speech: the prosody sounds like Bible reading, and other domains are untested.
- Use a reference clip of about 5 seconds: the model was trained with 5-second prompts and stops early with much longer ones.
- Guidance is baked in: keep the default settings; adding classifier-free guidance on top degrades the output badly.
- Tones are not written in Mooré orthography, so the model has to infer them from the text around each word. Apart from the F0 contour distance, nothing here measures tone.
License
CC BY 4.0, inherited from kyutai/pocket-tts. The training audio comes from Bible recordings whose terms restrict redistribution; it is not included, apart from the short reference clips in samples/.
Model tree for anyantudre/moore-tts-pocket
Base model
kyutai/pocket-tts