Introduction

Africa TTS is the zero-day multilingual speech drop African-language makers have been waiting for on Pocket TTS. On 2026-11-06 (~06:34 UTC) AfriSpeech / Ghana NLP published AfriSpeech/africa-tts — a 24-layer, 316M-parameter FlowLM that speaks 92 African languages plus English, clones a voice from a few seconds of audio, and reads text as IPA through africa-g2p.

Same-day companions: the inference/training/mobile repo AfriSpeech/africa-tts (created ~07:17 UTC) and the static samples Space AfriSpeech/africa-tts-samples (UDHR Articles 1/3/5 in 53 languages).

What Shipped

  • Vendor / product: AfriSpeech / Ghana NLP — Africa TTS (24-layer)
  • Modality: open-weight multilingual text-to-speech + few-second voice cloning
  • Open vs closed: CC-BY-NC-4.0 weights (non-commercial; JW training data terms); built on Kyutai Pocket TTS (CC-BY-4.0)
  • Runnable today: pip install "africa-tts @ git+https://github.com/AfriSpeech/africa-tts" then CLI / Python; or load config.yaml + model.safetensors via pocket-tts; sherpa-onnx ONNX bundle under sherpa-onnx/ for on-device
  • Concrete fact: 316M params (d_model 1024, 24 layers) + Mimi codec at 24 kHz / 12.5 Hz frames; training 897 hours real speech (no synthetic); released EMA checkpoint at 100k steps; HF weight file model.safetensors ≈ 1.344 GB (1,344,315,200 bytes)

Default voices ship for every language (JW clips; English = Ghanaian English) under voices/ (94 wavs). A faster 6-layer distilled sibling, Africa TTS Turbo, is named on the card but was still gated (401) at scout time — soft-hold.

Run It

pip install "africa-tts @ git+https://github.com/AfriSpeech/africa-tts"
africa-tts "Akwaaba! Yɛfrɛ me Kofi." --lang twi --model africa-tts -o out.wav

from africa_tts import AfricaTTS

tts = AfricaTTS.load("africa-tts")
audio = tts.generate("Akwaaba! Yɛfrɛ me Kofi.", lang="twi")  # default Twi voice
audio = tts.generate("Hello Ghana!", lang="eng", voice="my_voice.wav")  # 3–10 s clone
tts.save(audio, "out.wav")

Without the package, point Pocket TTS at the HF card and convert spelling → IPA with africa-g2p at commit 76b53a8 (PyPI 0.3.2 predates Ghanaian-table fixes for Twi / Fante / Ewe / Igbo / Rundi). Spell numbers out — every training clip with a numeral was dropped.

Notes for makers

  • Coverage spans Swahili, Shona, Twi, Zulu, Hausa, Igbo, Yoruba, Amharic, Fon, Ewe, Krio, Kabyle, and dozens more (full 92-row table on the card); low-hour languages (<~2 h) are weak
  • Mostly read religious speech (JW + related corpora) — news / conversation / technical vocab will sound less natural
  • Some africa-g2p tables omit tone (Fon, Ewe, Igbo, Ga); the model guesses from context
  • Pocket TTS path runs unguided (no CFG); Turbo claims guidance 2.0 distilled in — revisit when ungated
  • Distinct from today’s Sema F5 Boost (24-variety F5 cloning) and the older Kyutai Pocket TTS tiny English pack on ArtRealmAI — this is a full African-language FlowLM on the Pocket stack
  • No Gen CTA: African Pocket TTS does not map to the Flux / Grok / MiniMax-H3 / Seedream / Seedance Gen loop

Conclusion

If you need local speech across dozens of African languages with few-second cloning, Africa TTS is today’s runnable drop: 316M Pocket FlowLM, 897 h of real training audio, paste-ready africa-tts CLI, and a sherpa-onnx mobile bundle under CC-BY-NC-4.0.

—Anabel ♡