Orinode LangID · v1.4

Sub-second language detection
for Nigerian audio.

Identify Hausa, Igbo, Yoruba, English, or Pidgin in under 800 ms of audio. Per-utterance and per-word labels. Built for telephony routing, real-time captions, and code-switch tracking.

Request beta API key Public benchmarks (JSON) →
97.8%
Top-1 accuracy (5 languages)
<800ms
First label latency
Per-word
Granularity for code-switch
₦0.10
Per second of audio

What it does

Spoken-language identification (LangID) is the last mile of Nigerian voice AI. Without it, you can't route a Hausa caller to a Hausa voice, or annotate a code-switched conversation. Orinode LangID solves both.

Sub-second first label
A "Sannu" greeting (~600 ms of audio) is enough. Route the call before the caller has finished their sentence.
🔀
Per-word labels
Mixed-language sentences get a label per token. Critical for downstream STT, intent extraction, and analytics.
📞
Telephony-trained
Tuned on 8 kHz µ-law audio from Nigerian carriers. 97.8% top-1 accuracy on cross-region test sets.
🌊
Streaming or batch
WebSocket for live calls, HTTP POST for recordings. Same API, same labels, same confidences.
🎯
Confidence scores
Soft labels (probability per language) — gate downstream routing on a threshold you control.
🆓
No competitor ships this
No major LangID API (Google, AWS, Wit.ai) supports per-word Nigerian-language detection. Orinode does — exclusively.

Detected languages

haHausa
igIgbo
yoYoruba
en-NGNigerian English
pcmNigerian Pidgin

Other African languages (Swahili, Amharic, Wolof) shipping in v2.0 — Q4 2026.

Accuracy — public benchmarks

Per-language accuracy on a 2,500-utterance held-out telephony test set.

LanguageTest utterancesTop-1 acc.Top-2 acc.
Hausa50098.4%99.6%
Igbo50096.8%99.2%
Yoruba50097.2%99.4%
Nigerian English50098.8%99.8%
Pidgin50097.6%99.0%

Code samples

PYTHON

# Detect language from audio
import requests

resp = requests.post(
    "https://maraba.ai/api/v1/langid/",
    headers={"X-API-Key": "sk_live_..."},
    json={
        "audio_url": "https://cdn.example.com/call.wav",
        "granularity": "word",
    },
)
for tok in resp.json()["tokens"]:
    print(tok["text"], tok["lang"], tok["conf"])
# Zan ha 0.99
# zo  ha 0.99
# but en 0.97
# can en 0.98 ...

JAVASCRIPT (STREAMING)

const ws = new WebSocket("wss://maraba.ai/api/v1/langid/stream/");

ws.onmessage = (e) => {
  const msg = JSON.parse(e.data);
  console.log(msg.lang, msg.conf);
};

// Send 20 ms PCM frames
audioWorklet.port.onmessage = (e) => ws.send(e.data);

Pricing

Per-second
₦0.10 / second. ₦25 minimum per request.
Bundled
Free when used alongside Orinode STT — LangID labels ship with every STT response.
Beta
Free during private beta — unlimited for first 10 partners.

Frequently asked

What does Orinode LangID detect?+
Spoken language. Given audio, it returns ISO 639 codes (ha, ig, yo, en-NG, pcm) with confidence scores — per-utterance or per-word.
How fast is the detection?+
First label within 600–800 ms of audio onset. Per-word labels refresh every ~200 ms in streaming mode.
Does it work on code-switched audio?+
Yes. Per-word granularity is the headline feature. No competitor LangID API tags Nigerian-language code-switching at this granularity.
How accurate is it on telephony audio?+
97.8% top-1 across all 5 supported languages on an 8 kHz GSM test set. 99.4% top-2.

Route Nigerian calls in under a second.

Request a beta API key. Free during private beta for first 10 partners.

Request beta API key