Built for how Zimbabwe actually speaks
Speech AI that
hears Shona
and Ndebele.
Recognition and synthesis built in Zimbabwe, on a corpus recorded by Zimbabwean speakers and tagged by dialect — including the languages and varieties the open datasets leave out.
Transcript
Language
Shona
Dialect
Karanga
Switching
—
- 2
- Languages
- 8
- Varieties
- 16M
- Speakers
- 2
- Channels
Shona and Ndebele
Tagged on every clip
First-language, Zimbabwe
WhatsApp and web
Varieties we collect and label
The stack
Ears, mouth, and the reasoning between them.
Hears how people actually talk
Dialect identified as it transcribes, and English mid-sentence handled as ordinary speech rather than as an error.
- Dialect-aware
- Code-switch native
- Streaming or batch
A voice worth listening to
Studio-captured at 24-bit, with an expressive track so a reply can laugh, breathe and hesitate.
- Studio-captured
- Expressive tags
- Per-language voices
Follows the conversation
Reasons in the language it heard, instead of round-tripping the meaning through English.
- In-language
- Context held
- Built on our corpus
End to end
One conversation,
start to finish.
Each part works on its own. Together they hold a conversation in Shona or Ndebele without a detour through English.
- 1
Speech in
A voice note, a phone call, or a stream from your app.
- 2
Recognition
Transcribed with the language and dialect identified as it goes.
- 3
Understanding
Interpreted in-language, with the conversation held across turns.
- 4
Voice out
Answered in a voice built for the language, not adapted to it.
Coverage
Two languages.
Eight varieties.
Depth before breadth. A model that handles one language across every way it is really spoken is worth more than one that nominally supports forty and thins out past the capital.
The remaining constitutional languages follow, in the order the data supports rather than the order that reads best.
Shona
Karanga
South-central, around Masvingo
The largest variety by speakers, and consistently the one a Zezuru-weighted model handles worst.
Why the data is the product
A model is only as good as the speech it was built on.
Dialect is a first-class label
Every clip carries the speaker’s variety — Zezuru, Karanga, Manyika, Korekore, Ndau — from the moment it is recorded through to release. That is what lets us say where a model is strong and where it is thin, instead of reporting one number and hoping.
Ndebele from the ground up
isiNdebele is Nguni, not Shona-group. Three click series, lateral fricatives, conjunctive orthography — almost nothing transfers from a Shona model, so it is collected and trained as its own language rather than bolted on.
Recorded and governed in Zimbabwe
Contributors are Zimbabwean and paid, consent is explicit and revocable, and the corpus is held under the Cyber and Data Protection Act [Chapter 12:07]. The data stays where the speakers are.
One endpoint
Send audio.
Get the variety back with it.
No language flag to guess at, no separate call to work out which Shona you are looking at, and no penalty for a sentence that switches into English halfway through.
curl https://api.inzwi.app/v1/transcribe \
-H "Authorization: Bearer $INZWI_API_KEY" \
-F "audio=@voice-note.ogg" \
-F "language=auto"{
"text": "Ndiri kuenda ku meeting manje manje,
ndichaita call back ndadzoka.",
"language": "sn",
"dialect": "zezuru",
"code_switched": true,
"segments": [
{ "text": "Ndiri kuenda ku", "lang": "sn" },
{ "text": "meeting", "lang": "en" },
{ "text": "manje manje, ndichaita", "lang": "sn" },
{ "text": "call back", "lang": "en" },
{ "text": "ndadzoka.", "lang": "sn" }
],
"duration": 3.42
}The API is in private testing — the shape above is what it returns. Ask for a key below and we’ll get back to you.
Early access
Building something that has to work in Shona or Ndebele?
The API is in private beta. Tell us what you are building and we will get you a key.
Or contribute your voice instead