Inzwi

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.

Example transcription
Karanga

Transcript

Language

Shona

Dialect

Karanga

Switching

2
Languages

Shona and Ndebele

8
Varieties

Tagged on every clip

16M
Speakers

First-language, Zimbabwe

2
Channels

WhatsApp and web

Varieties we collect and label

ZezuruKarangaManyikaKorekoreNdauZansiEnhlaHoleShona · English code-switchNdebele · English code-switch

The stack

Ears, mouth, and the reasoning between them.

01Recognition

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
02Synthesis

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
03Understanding

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. 1

    Speech in

    A voice note, a phone call, or a stream from your app.

  2. 2

    Recognition

    Transcribed with the language and dialect identified as it goes.

  3. 3

    Understanding

    Interpreted in-language, with the conversation held across turns.

  4. 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.

KorekoreZezuruManyikaKarangaNdauisiNdebele

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"
Response
{
  "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.

We use this to answer you, and for nothing else.

Or contribute your voice instead