File size: 1,950 Bytes
a7a21e8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
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.