| --- |
| language: |
| - wo |
| license: cc-by-nc-4.0 |
| library_name: coqui-tts |
| tags: |
| - text-to-speech |
| - tts |
| - vits |
| - wolof |
| - senegal |
| - low-resource |
| - african-languages |
| datasets: |
| - AIHubSN/Sunubaat-Wolof-TTS |
| pipeline_tag: text-to-speech |
| --- |
| |
| # WolofTTS (VITS) |
|
|
| Single-speaker [VITS](https://arxiv.org/abs/2106.06103) text-to-speech checkpoint for Wolof, trained by [AI Hub Senegal](https://www.ai-hubsenegal.sn/fr/hub) on the [Sunubaat Wolof TTS](https://huggingface.co/datasets/AIHubSN/Sunubaat-Wolof-TTS) corpus with [πΈ Coqui TTS](https://github.com/coqui-ai/TTS). VITS is end-to-end, so `model.pth` + `config.json` are all you need β no separate vocoder. |
|
|
| Trained on ~20 hours / 9,183 utterances of a single native (female) Wolof speaker, covering agriculture, fishing, health, education, news, sports, politics, and daily life β see the [dataset card](https://huggingface.co/datasets/AIHubSN/Sunubaat-Wolof-TTS) for details. Licensed **CC BY-NC 4.0**, matching the training data: non-commercial use with attribution. |
|
|
| ## Install |
|
|
| ```bash |
| pip install TTS |
| ``` |
|
|
| ## Usage |
|
|
| Download `model.pth` and `config.json` into the same folder, then: |
|
|
| ```python |
| from TTS.utils.synthesizer import Synthesizer |
| |
| synthesizer = Synthesizer( |
| tts_checkpoint="model.pth", |
| tts_config_path="config.json", |
| ) |
| |
| wav = synthesizer.tts(text="salamalekum, na nga def") |
| synthesizer.save_wav(wav, "output.wav") |
| ``` |
|
|
| Or via the CLI: |
|
|
| ```bash |
| tts --model_path model.pth \ |
| --config_path config.json \ |
| --text "salamalekum, na nga def" \ |
| --out_path output.wav |
| ``` |
|
|
| ### Notes |
|
|
| - Input text should be lower-cased (the model was trained on lower-cased graphemes, no phonemizer). |
| - Standalone digits (`0`β`10`) are commonly converted to **French** number words (e.g. `"3"` β `"trois"`) before synthesis, reflecting Wolof/French code-switching β do this yourself if you want matching pronunciation. |
| - Single speaker only β no `speaker_wav` / speaker id arguments apply. |
|
|