Voice research · Kapllan AIOslo · Stockholm

The voice, written down.

Public voice models are English-centric. Kapllan AI builds streaming STT, streaming TTS and voice-cloning models that start from Norwegian Bokmål and Swedish. Owned voices, on private compute.

§ Listen

Ofelia, in three voices. Press play.

Ofelia
Norwegian Bokmål

Kyutai DSM · Variant C tokenizer · alignment-gated

Ofelia
Norwegian Bokmål · variant

Same backbone, different speaker conditioning

Ofelia
English

Cross-lingual baseline from the same checkpoint

Ofelia
Live capture · 2026-03-19

Recorded from the production voice surface

Talk to Ofelia
Idle
52 / 600 chars

Samples are raw outputs from Ofelia’s Kyutai DSM LoRA pipeline. The “Talk to Ofelia” box proxies your text through Kapllan’s private cluster — if the upstream voice service is offline the status line will say so instead of failing silently.

§ The voice stack

One production voice. Several research lines beneath it. Each one earns its place.

Ofelia
Live
Production voice brain

The voice that powers the Kapllan voice surface. 48 speakers, ~184 ms first-token latency, runs on node3 behind the Unmute STT/TTS stack with a gpt-oss-20b brain.

Kyutai DSM (STT)
Research
Streaming speech-to-text

Adaptation of kyutai/stt-1b-en_fr for Norwegian Bokmål (primary) and Swedish (secondary). DSM alignment-gate enforced as a preprocessing hard requirement — every (audio, text) pair must pass alignment_quality_gate.check_utterance().

Kyutai DSM (TTS)
Research
Streaming text-to-speech

Adaptation of kyutai/tts-1.6b-en_fr for Nordic languages. Variant C tokenizer (8k unigram SentencePiece on EN+NO Wikipedia) achieves 0 % OOV at 1.94 tpw density.

VoxCPM 2.0
Research
Voice cloning · 30 languages

2 B parameters, 48 kHz output. Used for design-mode and ultimate-mode cloning. LoRA + full-finetune pipelines wired through the kapllan-voice CLI; OpenAI-compatible /v1/audio/speech endpoint.

Pocket-TTS
Research
On-device TTS

kyutai/pocket-tts targeted at edge / on-device synthesis. Same alignment-gate constraints as the streaming pipeline.

§ How we work

Three constraints we choose, so the system stays honest.

Nordic-first

Norwegian Bokmål and Swedish, not English-translated.

Public voice models are English-centric. We build for the languages we actually speak. The corpus, the tokenizer and the alignment thresholds all start from Nordic baselines.

Alignment as a gate

Preprocessing is enforced, not learned.

Every (audio, text) pair we keep on disk has passed an alignment quality gate. Misaligned data does not enter training. This costs us throughput; it buys us stability.

OpenAI-compatible serving

Speech endpoints look like every other model on Kapllan AI.

The kapllan-voice FastAPI service exposes /v1/audio/speech so any client that already speaks OpenAI's audio API can route through Kapllan AI's private cluster without a rewrite.

§ What runs

Backbones, languages, where it serves from.

Backbones
Kyutai DSM (STT, TTS) · VoxCPM 2.0 · Pocket-TTS
Tokenizer
Variant C — 8k unigram SentencePiece, EN + NO Wikipedia corpus
Languages
Norwegian Bokmål (primary), Swedish (secondary), 30-language VoxCPM coverage
Serving
FastAPI · /v1/audio/speech · Unmute frontend · gpt-oss-20B brain
Production host
node3 · 10 TTS + 5 STT engines · Hetzner nginx → WG → 10.100.0.10
Research host
nxai-voice-lab + kapllan-voice-lab — Kyutai adaptation, VoxCPM cloning + finetuning
§ Adjacent

Voice is one of several capabilities.

Each Kapllan AI surface ties back to the same private compute and the same model ladder. Voice meets Llana in the chat; Ofelia speaks; K—1 reads.