Skip to content
kàddu

Speech AI for the languages big labs leave behind.

Kàddu turns spoken Wolof into text and Wolof text into speech, through one small API. It is built in Dakar on open models. Every accuracy number on this page was measured on a public test set, and you can check how.

Kàddu is Wolof for “word”, “speech”, “voice”.

What Kàddu heard

bërëb schengen dé mo ngi dox mélni bénn réew ci noonu

facebook/mms-1b-all · 36% word error rate on this clip

Underlined: differs from the human transcript

Real recording from Google FLEURS (Wolof test split, CC-BY 4.0). Word timings from forced alignment; output from the model we serve.

How we work

Measured, never claimed

Every accuracy figure on this site comes from a public test set we ran ourselves, on the same CPU setup that serves the API. Where we have not measured, we say so.

The best open model, per language

We compare Meta's MMS against fine-tunes from Senegalese and African researchers, then serve whichever wins on the test set, not whichever is biggest.

Data is the real work

Wolof has a tiny fraction of the transcribed hours English has. Our roadmap is a consented, openly licensed dataset built with speakers, universities and radio archives.

Languages

Wolof is where we start and where we measure. Other languages run on Meta MMS and stay in beta until we benchmark them.

  1. 01

    Wolofولوف

    Wolof · Wolofal

    Supported

  2. 02

    Pulaar

    Pulaar (Fula)

    Beta

  3. 03

    Mandinkakaŋo

    Mandinka

    Beta

  4. 04

    Bamanankanߓߡߊߣߊ߲ߞߊ߲

    Bambara · N'Ko

    Beta

  5. 05

    Harshen Hausaهَوْسَ

    Hausa · Ajami

    Beta

  6. 06

    Èdè Yorùbá

    Yoruba

    Beta

  7. 07

    Kiswahili

    Swahili

    Beta

  8. 08

    Lingála

    Lingala

    Beta

  9. 09

    Seereer

    Serer

    Coming

  10. 10

    Sooninkanxanne

    Soninke

    Coming

  11. 11

    Joola

    Jola-Fonyi

    Coming

Your language next?Tell us which language you need, and whether you can help with recordings.hello@zaleo.dev

Benchmark

Speech-to-text on the Wolof test split of Google FLEURS. Lower is better.

WER / CER
ModelWERCERSpeed
wav2vec2 MMS · 1B · non-commercial license
40.0%12.2%0.93
HuBERT base · 95M
46.9%18.1%0.17
wav2vec2 MMS · 1B · non-commercial license
47.3%15.7%0.49
w2v-BERT 2.0 · 600M · trained on FLEURS train split (same domain as the test set)
48.5%18.5%0.58
wav2vec2 XLS-R · 300M · trained on FLEURS train split (same domain as the test set)
49.2%18.7%0.15

Test set: Google FLEURS wo_sn (test), 239 utterances, 69 min of audio · Hardware: GitHub Actions runner, 2 vCPU x86_64, int8 dynamic quantisation · Measured on 29 Oct 2026

Methodology and all results

One request, one answer

Send audio, get text. Send text, get audio. JSON in, JSON or WAV/MP3 out, no SDK required.

transcribe
curl -X POST https://api.kaddu.zaleo.dev/v1/transcribe \
  -F "file=@salaam.wav" \
  -F "language=wol"
speak
curl -X POST https://api.kaddu.zaleo.dev/v1/speak \
  -H "Content-Type: application/json" \
  -d '{"text": "Na nga def?", "language": "wol", "format": "mp3"}' \
  -o na-nga-def.mp3
Full API reference

Free during the preview

Use the API without a key, within fair limits. Paid plans with API keys and higher limits will come once quality is where we want it.