Back to projects
Live

Klang STT

Speech-to-text that actually works for Nordic languages — dialects, code-switching, and all.

The engine behind everything we do

Klang STT is our speech-to-text system, and it powers all our other projects. It exists because the big speech models treat Nordic languages as an afterthought — fine for simple commands, unreliable for real work. We wanted something better, so we built it.

The goal is not just accuracy. It is speed, dialect coverage, and the kind of reliability that lets you build real products on top of it.

What makes it different

  • Nordic-first models — Not fine-tuned from English. Trained on 12,000+ hours of Nordic speech data, including regional dialects like Skånska, Norrländska, and Bergensk.
  • Fast enough to feel live — Sub-100ms latency using custom inference kernels optimised for streaming audio. Words appear as they are spoken.
  • Code-switching built in — Nordic conversations switch between languages mid-sentence. Our models handle that naturally, without requiring manual language selection.
  • A real API — REST and WebSocket endpoints that Klang Dictate, Klang Video, and external developers all run on today.

How it works under the hood

The core is a modified Conformer encoder with a CTC/attention hybrid decoder. We wrote custom CUDA kernels for the attention layers — partly for speed, partly because the off-the-shelf implementations did not handle streaming well enough for our latency targets.

Training data comes from the Nordic Speech Corpus, supplemented with synthetic augmentation for dialects where we do not have enough real-world recordings yet.

What we are learning

Dialects are harder than languages. The difference between standard Swedish and Skånska is, for a model, sometimes larger than the difference between Swedish and Norwegian. Our dialect work keeps revealing gaps in how we think about Nordic speech.

Latency is a feature, not a metric. Shaving 20ms off response time does not sound like much — but it changes how products built on top of STT feel to use. Klang Dictate would not work without it.

Benchmarks only tell part of the story. Our word error rates look good on paper (4–6% depending on language), but the numbers hide the cases that actually matter: noisy rooms, overlapping speakers, domain-specific vocabulary. Those edge cases are where we spend most of our time.