Logo Lanfrica

michsethowusu/afri10-tts-local

Domain:

natural language processing

Record type:

modelsoftware
Creator:
mic
Host:
On-device TTS for 10 African languages (NeuTTS-Nano finetune, GGUF q4/q8) # Afri-10 TTS — run on your PC (GGUF) On-device text-to-speech for **10 African languages** — Malagasy, Kabuverdianu, Shona, Kabiye, Twi, Bassa (Cameroon), Mauritian Creole, Nyaneka, Gun, and Swahili — using `neutts-nano` finetuned on `AfriSpeech/afri10` and quantized to **GGUF** for fast CPU inference. Models (downloaded automatically from the Hub on first run): - `AfriSpeech/neutts-nano-afri10-q4-gguf` — smallest / fastest - `AfriSpeech/neutts-nano-afri10-q8-gguf` — higher quality A browser demo (full-precision) lives at huggingface.co ## Install ```bash git clone github.com cd afri10-tts-local # system dependency: eSpeak NG (phonemizer backend) # Ubuntu/Debian: sudo apt-get install espeak-ng # macOS: brew install espeak-ng python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt ``` ## Usage ```bash # Default voice (no reference) — matches how the model was trained python run.py --text "Akwaaba, wo ho te sen?" --quant q4 # Voice cloning: provide a 3–15s reference clip IN THE TARGET LANGUAGE + its transcript python run.py \ --text "Your sentence here." \ --quant q8 \ --ref_audio path/to/reference.wav \ --ref_text path/to/reference.txt \ --output out.wav ``` Flags: `--quant {q4,q8}`, `--device {cpu,gpu}`, `--ref_audio`, `--ref_text`, `--output`. ## Notes - Phonemization uses eSpeak **lfn** (Lingua Franca Nova) as a universal approximation across these languages; **tone is not modelled**, so tonal languages (Twi, Gun, Shona) may sound tone-flat. - For cloning, use a reference clip in the language you want to hear. - Outputs are watermarked (Perth) by default. ## License Model weights derive from `neutts-nano` (NeuTTS Open License 1.0) and AfriSpeech data — review those terms before redistribution or commercial use.