Audio and speech recognition

The phone line throws away half your voice

The demo understood everything. Then the agent went onto a phone number, and now it can't tell an F from an S. The model is the same one – the audio reaching it is not.

IngridIngrid,
A woman in a dark padded jacket stands in an apartment building's lift lobby with a mobile phone to her ear and her free hand raised as she repeats herself, seen through the glass wall from the entrance, while a man in a dark coat waits out of focus by the lift doors behind her

The demo sounded perfect. The agent understood everything, answered quickly, read the email address back without a single error.

Then it went onto a phone number. Now it hears "F" as "S", and it can't tell a Norwegian caller's "Kjell" from "skjell".

The obvious conclusion is that the model isn't good enough. Usually the model is exactly the one that was in the demo. What changed is the audio going into it – and neither of those errors is random. They sit at opposite ends of what the phone line throws away.

The line is a filter, not a pipe

Ordinary telephony encodes audio as what is called narrowband: 8,000 samples per second, across a frequency band running from roughly 300 to roughly 3,400 hertz. Everything above and below that is gone.

The standard is inherited from the analogue era, and it was set low deliberately. It had to carry just enough for one person to understand another, and no more, because bandwidth cost money.

For a human, it is plenty. The ear guesses the rest. This is not a new observation: the reason spelling alphabets exist at all – "S as in Sierra, F as in Foxtrot" – is that s and f become genuinely hard to tell apart once a phone line has removed the high frequencies that separate them.

A speech recognition model gets no such help. It gets a signal. And most models are trained on audio sampled 16,000 times per second – wideband. Give one half of what it is used to and it guesses too, but it guesses worse, and it guesses at things a person never would.

What the sound carries Roughly where Survives narrowband?
The fundamental of the voice – intonation, pitch accent 80–250 Hz No, it sits below the 300 Hz cut
Vowels 300–2,500 Hz Yes
s, sh and other sibilants 3,000–8,000 Hz Barely, or not at all
The burst in t, k and p 2,000–6,000 Hz Partly

The Nordic languages use both ends at once

English loses something to narrowband. Norwegian, Swedish and Danish lose something at both ends of the band simultaneously, and that is a harder problem.

At the top of the band sit the sibilants. Norwegian separates kj from skj – "kjenner" from "skjenner", the name "Kjell" from "skjell" – and Swedish separates its tje-sound from its sje-sound, as in "tjära" and "skära". Both contrasts are carried mainly by energy above 3,000 hertz. So is the release burst on a final t or k, which is what Danish leans on to keep "tak" apart from "tag". Narrowband cuts straight through that region.

At the bottom of the band sits the fundamental frequency of the voice. Norwegian and Swedish are pitch-accent languages: "bønner" (beans) and "bønder" (farmers) are told apart by tone alone, as are Swedish "anden" (the duck) and "anden" (the spirit). Danish does the equivalent job with stød, a brief creak in the voice that separates "hun" from "hund". All of it lives in the fundamental, which for most adults sits between 80 and 250 hertz – below the 300 Hz cut. The human ear reconstructs the fundamental from its overtones, so a person hears these distinctions on the phone without difficulty. A model asked to track pitch in a signal whose fundamental has been filtered out has a substantially harder job.

The Nordic languages are therefore unlucky at both ends at once: they use the top of the spectrum to separate consonants and the bottom to separate words, and the phone line takes some of each. It is a related reason why numbers are the hardest thing a voice agent hears – there the problem is how the numbers are counted, here it is acoustics, but they hit the same call.

Where the bandwidth actually goes

The good news is that it does not have to go anywhere.

G.722 and Opus are widely deployed wideband codecs. They sample 16,000 times per second and carry up to around 7,000 hertz. When a customer calls from a modern mobile over VoLTE, the call usually leaves the handset in wideband.

The problem is that calls rarely travel in a straight line. The weakest link sets the quality for the whole path. If the call passes through a single leg that only speaks narrowband – an older PBX, a SIP trunk configured with G.711 as the only option, a gateway to the legacy fixed network – the whole call is transcoded down there. The bandwidth does not come back afterwards. Audio that has been discarded is gone.

This is worth knowing, because it connects to something people do without thinking about audio at all. Call forwarding adds another leg to the path a call takes, and every leg is a fresh opportunity to transcode down. A setup that worked well when the agent sat directly on the number can get noticeably worse once the call has to pass through a corporate phone system first.

This is where Threll.ai has made a choice that bears directly on it. We run on Telenor's SIP trunk, integrated directly against the operator network, which removes one of the legs that would otherwise force the audio down to narrowband: the call can be carried in wideband with G.722 all the way to the agent, for handsets that support it. It does nothing for a customer calling from a legacy fixed line, and nothing if the call has already been transcoded down inside a corporate phone system we do not touch. But it is the leg we can actually do something about.

The numbers, and the caveat that comes with them

There is no good public figure for what narrowband costs in accuracy on Norwegian, Swedish or Danish. The closest thing available is in English.

Voicegain, a speech recognition vendor, published a benchmark in August 2025 across 40 call centre recordings in 8 kHz narrowband, drawn from eight different customers in different industries. The most accurate model in the test got 87.67 per cent of the words right. The weakest got 68.38 per cent. That is a spread of nearly twenty percentage points between models that are all considered good.

The caveats are real and should stay attached: this is American English, it is 40 files, and it is the vendor's own curated set – they have an obvious interest in this category of audio looking difficult. The numbers say nothing precise about any Nordic language.

What they do say something about is that the choice of model matters far more on narrowband than on clean audio, and that differences invisible in a demo become large in production.

Three things worth doing

Find out which codec your calls actually run on. The question goes to whoever owns the telephony, not to the vendor of the agent. The answer should be a name: G.711, G.722, Opus, AMR-WB. If you do not get a name, the answer is G.711 in practice.

Test on the real path in. Not in a browser, not over a headset in the office. Call the number from outside, from a mobile, through the whole setup the way a customer would. It is the same reason the demo does not survive the telephone, and it belongs in a pilot built to actually reveal something.

Do not buy a bigger model to solve an audio problem. If the errors cluster around sibilants, short words and names, that points at bandwidth rather than at language understanding. A more expensive model on the same poor audio just gives you a more expensive error.

Threll.ai builds voice agents in Norwegian, Swedish and Danish. Most of the work of getting an agent to hear correctly is not in the model. It is in how much of the sound is left by the time it arrives.

Related Articles

Continue reading more articles