Instructions to use Toadoum/naija-tts with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Chatterbox
How to use Toadoum/naija-tts with Chatterbox:
# pip install chatterbox-tts import torchaudio as ta from chatterbox.tts import ChatterboxTTS model = ChatterboxTTS.from_pretrained(device="cuda") text = "Ezreal and Jinx teamed up with Ahri, Yasuo, and Teemo to take down the enemy's Nexus in an epic late-game pentakill." wav = model.generate(text) ta.save("test-1.wav", wav, model.sr) # If you want to synthesize with a different voice, specify the audio prompt AUDIO_PROMPT_PATH="YOUR_FILE.wav" wav = model.generate(text, audio_prompt_path=AUDIO_PROMPT_PATH) ta.save("test-2.wav", wav, model.sr) - Notebooks
- Google Colab
- Kaggle
Naija TTS β multilingual Hausa / Yoruba / Igbo / Nigerian English
One Chatterbox model covering four Nigerian languages, with zero-shot voice cloning. LoRA fine-tune of Chatterbox Multilingual (MIT), with the grapheme vocabulary extended for the characters these languages need.
Base Chatterbox ships 23 languages, of which Swahili is the only African one.
This model adds Hausa, Yoruba, Igbo and Nigerian English β the last under its
own en-ng tag so base English is left intact.
Evaluation
| Language | n | CER | CER floor | WER | Speaker SIM | RTF |
|---|---|---|---|---|---|---|
Hausa (ha) |
40 | 8.83 % | 4.87 % | 32.35 % | n/a | 0.680 |
Yoruba (yo) |
40 | 45.02 % | 12.13 % | 77.73 % | n/a | 1.065 |
Igbo (ig) |
40 | 14.87 % | 8.41 % | 42.57 % | n/a | 0.840 |
Nigerian English (en-ng) |
40 | 12.27 % | 13.09 % | 31.44 % | n/a | 0.932 |
Read each CER against its own floor, not against zero. The floor is what MMS-ASR scores on genuine recordings of that language β its own error rate. A CER at the floor means the synthesized speech is as intelligible as real speech. The floors differ substantially between languages; a raw CER comparison across languages is meaningless.
Usage
import torchaudio as ta
import chatterbox.mtl_tts as M
from chatterbox.mtl_tts import ChatterboxMultilingualTTS
for code, name in [("ha","Hausa"), ("yo","Yoruba"), ("ig","Igbo"),
("en-ng","Nigerian English")]:
M.SUPPORTED_LANGUAGES[code] = name
model = ChatterboxMultilingualTTS.from_local("path/to/repo", device="cuda")
wav = model.generate("Sannu da zuwa.", language_id="ha",
audio_prompt_path="reference.wav")
ta.save("out.wav", wav, model.sr)
Normalize text to Unicode NFC and keep the languages' special characters as written β for Yoruba this includes the combining tone marks.
Limitations
- Hausa tone is not modelled: Boko orthography marks neither tone nor vowel length, so a character-input model has no signal for it. Yoruba and Igbo write tone with diacritics and are not subject to this.
- Long utterances can truncate (Chatterbox forces EOS on long tails).
- The corpus was capped per language for balance, so no language sees its full available data.
- Outputs carry Resemble's Perth watermark, inherited from the base model.
Licence
MIT, from base Chatterbox.
- Downloads last month
- -
Model tree for Toadoum/naija-tts
Base model
ResembleAI/chatterbox