Natural Hausa, Igbo, Yoruba, English and Pidgin voices. Full tonal diacritic handling, sub-second time-to-first-byte, telephony-grade output. Powered by Orinode.
80% of open-source Yoruba TTS implementations on GitHub call .lower() on input text. Lowercasing strips combining diacritics — and Yoruba is its diacritics. ọ is not o. ṣ is not s. è, é, ē are three different tones.
è and é never collapse.Public beta voices. Custom voice cloning (with consent) available on Enterprise.
Mean opinion score (MOS) from 30 native-speaker listeners per language, blind A/B vs Meta MMS and Google Cloud TTS where available. Higher is better.
| Language | Meta MMS | Google Cloud TTS | Orinode TTS |
|---|---|---|---|
| Hausa | 2.8 | — | 4.1 |
| Yoruba | 2.9 | 3.2 | 3.9 |
| Igbo | 2.6 | — | 3.8 |
| Nigerian English | 3.6 | 3.8 | 4.2 |
| Pidgin | — | — | 3.7 |
"—" indicates the vendor does not ship the language. Raw audio samples at /benchmarks.json.
Synthesise Yoruba speech with tonal diacritics intact.
# Synthesise Yoruba — keep diacritics intact import requests text = "Ẹ ku àárọ̀. Bawo ni mo ṣe le ràn yín lọ́wọ́?" # DO NOT .lower() — destroys tones resp = requests.post( "https://maraba.ai/api/v1/tts/", headers={"X-API-Key": "sk_live_..."}, json={ "text": text, "voice": "yo-adunni", "format": "mp3", "sample_rate": 16000, }, ) with open("out.mp3", "wb") as f: f.write(resp.content)
curl https://maraba.ai/api/v1/tts/ \ -H "X-API-Key: sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "text": "Sannu, barka da zuwa.", "voice": "ha-aisha", "format": "ulaw", "sample_rate": 8000 }' --output out.ulaw
<speak> <prosody rate="95%"> Sannu, <break time="300ms"/> ina son ƙwayoyin ciwon kai. </prosody> </speak>
Per-character pricing — the unit that matches what you actually use.
è, é, ē produce audibly different tones.Beta API keys available this month. Request access — five-minute reply.
Request beta API key