Use case · IVR & call centers
A Sudanese voice on the other end of the line.
Sautna is a Sudanese Arabic text-to-speech engine built for telephony: 8 kHz μ-law straight into your SIP stack, streaming audio that starts before the sentence finishes, and voices that a caller in Khartoum, Jeddah or Dubai recognises as one of their own. It is not a demo — our own voices answer real phone calls in production.
The gap
Your Sudanese callers are hearing a stranger
Almost every Arabic IVR in the region runs on a Modern Standard Arabic voice, and a few of the better ones run on Egyptian or Khaliji. For a Sudanese caller that voice is comprehensible but distinctly foreign — the letter ق comes out as [q] where Sudan says [g], the pace is clipped, the vocabulary is not the vocabulary anyone uses at home. The practical result is predictable: callers stop listening to the menu and press zero.
That matters most in exactly the places with the most Sudanese customers. Banks and telecoms inside Sudan serve a market where MSA prompts have always been a compromise. And the Gulf contact centres in the UAE, Saudi Arabia and Qatar — plus remittance and money-transfer operators serving diaspora customers in the UK and the US — are routing a large Sudanese caller base through queues built for other dialects. Adding a Sudanese voice line is a configuration change, not a rebuild.
Telephony ready
Built for the narrowband path, not resampled into it
8 kHz μ-law, raw PCM, MP3/Opus
Ask for ulaw_8000 and the response is already in the codec a PSTN call carries — no ffmpeg step in your media path. Wideband VoIP takes the native 24 kHz stream.
Streaming, sentence by sentence
With stream: true the first audio frames leave as soon as the first sentence renders. A long balance summary starts playing while the rest is still being generated, so dead air never opens up.
Cancellable for barge-in
Streams can be cut mid-utterance. When your VAD hears the caller start talking, cancel and flush — the same mechanism our own live voice line uses to let callers interrupt a prompt.
Cache the fixed prompts
Greetings, menu trees, hold messages and error prompts are static. Render them once, store the files, and only pay characters for the dynamic parts — balances, names, times, ticket numbers.
curl -X POST https://sautna.com/api/v1/tts \
-H "Authorization: Bearer sautna_sk_..." \
-H "Content-Type: application/json" \
-d '{"voice": "zola",
"format": "ulaw_8000",
"text": "أهلاً بيك في بنك النيل. عايز تعرف رصيدك؟ اضغط واحد."}' \
--output prompt.ulawWhat teams build with it
Banking IVR
Balance and last-transaction readouts, branch hours, card-blocking flows and appointment confirmations — in the dialect the account holder speaks at home.
Telecom self-service
Bundle balances, top-up confirmations, outage and maintenance notices, and roaming instructions, generated per subscriber and played back instantly.
Sudanese voice bots
Pair Sautna with your STT and LLM for a bot that both understands and answers in Sudanese Arabic — the half of the loop that has never had a decent option.
Outbound and notifications
Delivery windows, clinic reminders, payment due dates and service updates, dialled out with the message composed at call time.
Telephony output is included from the Pro plan upward, alongside a priority synthesis queue. Running a fleet of lines, or need invoicing and a dedicated warm pool? The enterprise form on the pricing page reaches us directly. Background on the model itself is on the Sudanese text-to-speech overview.
Questions
Can Sautna audio be played directly on a phone line?
Yes. Request format ulaw_8000 and you get 8 kHz μ-law, the native codec of a PSTN call, which drops straight into Asterisk, FreeSWITCH, Twilio or any SIP media stream without transcoding. Raw 24 kHz PCM, WAV, MP3 and Opus are available for wideband and VoIP-only stacks.
How fast is the first audio on a live call?
On warm capacity the streaming endpoint returns the first PCM frames in about a second, because synthesis is emitted sentence by sentence rather than after the whole script renders. Static prompts — greetings, menus, hold messages — should be pre-rendered and cached anyway, which makes them instant.
What happens on the first call after a quiet period?
GPUs scale to zero when idle, so a cold start can take up to about 90 seconds. For production IVR you avoid this two ways: cache your fixed prompts as files, and keep a warm-hold arrangement for dynamic text. Scale-plan customers get priority on warm capacity — talk to us before you cut over a live line.
Why does dialect matter for a call center?
Because callers hang up on menus they have to decode. A Sudanese customer hearing a Cairo or MSA voice reads it as a foreign institution and defaults to pressing zero for a human — which is the expensive outcome an IVR exists to avoid. Containment rates follow comprehension, and comprehension follows dialect.
Can I generate dynamic content like balances and dates?
Yes — the API takes arbitrary text per request, so account balances, appointment times, queue positions and outage notices are all just strings you compose at call time. Character-based pricing means a short confirmation costs a fraction of a cent.
Do you support barge-in and interruption?
The streaming path can be cancelled mid-utterance, which is what a barge-in implementation needs — when your VAD detects the caller speaking, stop the stream and drop the buffered audio. We run this ourselves on our own live telephony stack.
Prototype your menu tonight
5,000 free characters a month, no card required — enough to render an entire IVR tree and play it to your team before you commit.
Start free