Commander Flow: et år med udvikling af tale til tekst

Commander Flow — et år med udvikling af AI diktering: udviklerens skrivebord med bærbar og mikrofon

I juni 2025 fik jeg en build, der crashede hvert 40. minut og genkendte mit "hej" som "h — ej — å". Jeg var lykkelig. Jeg forstod, at jeg sad og pirkede ved en prototype af noget, der ikke fandtes på Windows — en helt offline tale til tekst med menneskelig polering. I dag er det april 2026, og den samme bærbare trækker Commander Flow i baggrunden hele døgnet.

Det her er ikke produktets historie. Det er historien om, hvordan mine vaner ændrede sig, efterhånden som produktet ændrede sig.

Sommer 2025: jeg lærte at tåle Whisper-tiny

Den første build brugte ggml-tiny (75 MB). Genkendelsen var brugbar på rent engelsk, middelmådig på dansk og katastrofal på blandet sprog. Jeg dikterede "deploy til staging" og fik "deploy til stejging". Polering fandtes slet ikke dengang — bare rå ASR.

Hvad gjorde jeg? Jeg byggede min arbejdsgang om efter værktøjets svagheder. Talte i korte sætninger. Undgik slang. Det var upraktisk, men stadig hurtigere end at taste — og jeg var allerede afhængig.

"Når du bygger dit eget værktøj, forelsker du dig i idéen, før koden ærligt afspejler den."

Efterår 2025: poleringen kom, og jeg holdt op med at skamme mig over fyldord

Jeg tilføjede en lokal LLM. Det var et vendepunkt. Jeg kunne sige "altså sådan i bund og grund jeg synes vi skal øhh skrive den her komponent om", og i tekstfeltet dukkede op: "Jeg synes, vi skal skrive denne komponent om".

Det var i det øjeblik, jeg holdt op med at forberede min tale. Indtil da havde jeg formateret sætningen indvendigt, før jeg trykkede på genvejstasten. Nu kommer tanken ud som tanke, værktøjet skiller selv skidt fra kanel.

Vinter 2025/2026: Parakeet, og jeg forstod, hvad "hurtigt" betyder

ASR-LATENS · CPU Whisper-large (før) ~900 ms Parakeet TDT v3 (efter) ~140 ms 5–10× hurtigere på samme CPU · sherpa-onnx C# bindings "140 ms — det er kortere, end jeg når at registrere en pause"
Januar 2026: skiftet til Parakeet via sherpa-onnx — det mest mærkbare ryk på et helt år.

I januar blev Parakeet-TDT-0.6B-v3 standard-ASR via sherpa-onnx. På min CPU uden grafikkort er den 5–10 gange hurtigere end Whisper-large. Latensen fra slip af genvejstasten til tekst kommer er faldet fra ~900 ms til ~140 ms.

140 millisekunder — det er kortere, end jeg når at registrere en pause. Grænsen mellem "tryk på genvejstasten" og "teksten dukker op" forsvinder i oplevelsen. Fra det øjeblik følte diktering sig ikke længere som "en kommando til værktøjet"; det er bare en forlængelse af tanken.

Forår 2026: den nyeste Google AI og poleringstilstande

POLERINGSTILSTAND friendly business code-comments prompt-engineering accountant minimal-edit Google AI · balanced Seks tilstande skifter med genvejstast eller fra trayen MORGEN mails til kunder · business DAG Slack til teamet · friendly AFTEN forældrechat · minimal-edit
Trayens menu: tilstanden skifter på farten — men det meste af tiden siger jeg blot den ønskede tone som en stemmekommando, mens jeg polerer.

I dag er standarden den nyeste Google AI-model. Og det vigtigste — poleringstilstande. Jeg vælger stilen fra trayen eller med en genvejstast: business / friendly / minimal-edit / accountant / academic / code-comments.

Min typiske mandag:

  • Om morgenen mails til kunder — business
  • I Slack til teamet — friendly
  • Kommentarer i koden — code-comments (bevarer tekniske termer på latinsk, "roder" ikke i variabelnavne)
  • Om aftenen svar i forældrechatten — minimal-edit (renser bare fyldord, "børster" ikke tonen)

Tilbageblik: hvad der ændrede sig i mig selv

Hvis jeg punkter det op, bliver det kedeligt. Så jeg siger det sådan her. På et år med Commander Flow har tre ting ændret sig i min omgang med tekst, og jeg planlagde ingen af dem på forhånd.

For det første: tankerne i mine mails er blevet længere. Tasteskriving klipper sætningen til det, du fysisk når at skrive. Stemmen haster ikke. Testerne lagde mærke til, at mine rapporter blev mere strukturerede, før jeg selv lagde mærke til det.

For det andet: engelsksprogede mails gør mig ikke længere nervøs. Jeg dikterer på dansk, beder om at få det skrevet om til business English, får en tekst, som man ikke kan skelne fra en indfødt. Det er ikke længere en separat anstrengelse, men bare det næste skridt i samme diktering.

Og for det tredje, det mærkeligste: mine hænder er mindre trætte sidst på dagen. Jeg har aldrig anset tasteskriving for fysisk arbejde, før jeg holdt op med det.

Skævheder, jeg fanger

Ærlig liste over det, der regelmæssigt generer mig:

Poleringen "forbedrer" nogle gange termer, der ikke skal forbedres. Jeg siger "kubectl apply", får "Kubernetes apply". Løst via en ordbog i indstillingerne (PolishOptions.Dictionary) — du tilføjer dine egne termer, og LLM rører dem ikke. Men de første uger vidste jeg det ikke og blev overrasket.

Modelopvarmning ved kold start. Den første diktering efter Windows-opstart er mærkbart langsommere end de efterfølgende. Jeg tilføjede AudioDeviceWarmup (sparer 40–80 ms), men LLM'ens KV-cache skal stadig varmes op. Det løses ved, at jeg simpelthen siger en hvilken som helst sætning ind i mikrofonen lige efter systemstart — som en opvarmning.

Jeg vil nogle gange gerne hot-swappe tilstande midt i en sætning. For eksempel: "forretningsagtig start, så et sjovt P.S.". Det findes ikke endnu — men retningen tiltaler mig, og jeg holder den i baghovedet.

Det, jeg ville have sagt til mig selv for et år siden

"Vær tålmodig. Det, der nu ligner et legetøj, bliver om 10 måneder dit mest brugte program efter browseren. Før dagbog. Det her bliver historien om, hvordan privat AI på en konkret enhed bliver den nye norm."

Alfaen er slut. Betaen er næsten slut. Jeg leverer ikke længere en prototype — jeg har ansvaret for et produkt, der bruges dagligt.

Og det er jeg meget stolt af.

Prøv det selv

Download Commander Flow og hold Caps Lock nede i enhver app. Genkendelsen kører lokalt, uden sky — gratis prøveperiode inkluderet.

Download gratis

Lignende historier

Alle artikler