ww2 / checkpoints /README.md
mlroot's picture
Upload 6 files
a7a21e8 verified
|
Raw
History Blame Contribute Delete
1.95 kB
metadata
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 text-to-speech checkpoint for Wolof, trained by AI Hub Senegal on the Sunubaat Wolof TTS corpus with 🐸 Coqui 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 for details. Licensed CC BY-NC 4.0, matching the training data: non-commercial use with attribution.

Install

pip install TTS

Usage

Download model.pth and config.json into the same folder, then:

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:

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 (010) 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.