Automatisk sprogregistrering gætter forkert: lås dit sprog
Lander dikteringen på forkert sprog? Automatisk registrering flakser ved tosproget tale ved design. Lås sproget fast én gang, så bliver det siddende.
Dikterer du på mere end ét sprog, har du set fejlen. Du siger en sætning på rumænsk, og transskriptionen kommer tilbage som fonetisk mishandlet engelsk — rigtige ord, ingen af dem dine. Eller den vender midt i sætningen: første halvdel på det rigtige sprog, anden halvdel på noget, modellen besluttede, du var skiftet til. Eller, min personlige favorit, alfabetsuppe — latinske tegn med et par kyrilliske drysset i, som om modellen gardere sig bogstav for bogstav.
Det er ikke en klage over ét produkt. Det er en forudsigelig fejltilstand ved automatisk sprogregistrering, også Keebyes engelsk-tunede standard. Den rammer folk med accent på engelsk og alle, der skifter sprog hele dagen. En tosproget udvikler, hvis Slack er på polsk, og hvis commit-beskeder er på engelsk, giver automatisk registrering præcis de blandede signaler, den håndterer dårligst.
Anden halvdel af klagen er mere stilfærdig, men lige så reel: når en sprogindstilling findes, er den ofte begravet. Tre menuer inde, bag en engine-vælger, forbi en kontakt, hvis navn slet ikke nævner sprog. Skifter du sprog tyve gange om dagen, er en begravet indstilling reelt ingen indstilling.
Jeg vil forklare, hvorfor flakseriet sker — med mit eget produkts krigshistorie, for Keebye havde problemet, før den havde løsningen — og så vise, hvordan en faktisk løsning ser ud.
Hvorfor automatisk registrering flakser (og hvorfor det ikke ligefrem er en fejl)
Her er den ærlige mekanik. Moderne talemodeller identificerer sprog lydløst, som en del af afkodningen. Modellen lytter, danner sig et internt gæt på, hvilket sprog den hører, og afkoder mod det gæt. Er lyden ren, uden accent og på ét sprog, virker det så godt, at du aldrig tænker over det.
Fodr den så med rigtig tale. En accent skubber vokalerne mod et andet sprogs fonemer. En sætning indeholder tre engelske låneord — det gør enhver teknisk samtale. Der er et barn i baggrunden, eller du sidder ved en laptop-mikrofon. Hver af de ting gør modellens interne sproggæt mindre sikkert, og et gæt med lav sikkerhed kan vende mellem frames. Når det vender, vender afkodningen med, og du får en transskription, der skifter sprog midt i en tanke.
Det afgørende: i de fleste værktøjer er der intet, der forankrer det gæt. Modellen beslutter, lydløst, per ytring, og du har ingen mulighed for at overstyre. Det er ikke en fejl i én bestemt app — det er, hvad lydløs automatisk registrering er. En model, der træffer et skøn, du ikke kan rette.
Jeg kender det indgående, fordi Keebyes standard-engine har præcis den egenskab. Parakeet, vores engelsk-tunede standard, ignorerer ethvert sprog-hint i afkodningslaget — du kan ikke fortælle den, hvad du er ved at sige. På klart engelsk er den fremragende, og derfor er den standarden. På uklar lyd kan den flakse mellem sprog som alt andet i kategorien. Jeg fortæller dig det om mit eget produkt først, for løsningen giver først mening, når du accepterer, at problemet bor i arkitekturen og ikke i en konkurrents sjuskeri.
Hvad gør det egentlig at låse et sprog fast?
Løsningen er at holde op med at bede modellen om at gætte. Keebye leveres med en anden engine on-device — NVIDIAs Canary 1B v2, kvantiseret til int8 — som dækker præcis 25 sprog: bulgarsk, kroatisk, tjekkisk, dansk, hollandsk, engelsk, estisk, finsk, fransk, tysk, græsk, ungarsk, italiensk, lettisk, litauisk, maltesisk, polsk, portugisisk, rumænsk, slovakisk, slovensk, spansk, svensk, russisk og ukrainsk. I modsætning til standard-enginen accepterer Canary en sprog-instruktion og efterlever den.
Keebye stiller det til rådighed som et fastlås: en eksplicit sprogindstilling, der sendes til Canary-enginen for hver ytring. Lås rumænsk fast, og afkoderen bruger rumænsk i stedet for at træffe et automatisk sprogvalg. Genkendelsen kan stadig tage fejl, især omkring låneord og støjende lyd, men sprogvalget er ikke længere et ukontrolleret gæt.
Indstillingen læses live, per diktering. Ændrer du den, bruger den næste hold-nede-og-dikter det nye sprog uden at genstarte appen. Det betyder mere, end det lyder: en sprogstyring er langt mere brugbar, når det ikke afbryder arbejdet at skifte den.
Og fordi Canary kører on-device som alt andet i Keebye, koster fastlåsningen dig ikke fortællingen om privatliv. Modellen fylder cirka 1,3 GB og downloades én gang; derefter forlader dit rumænske, dit polske, dit ukrainske aldrig maskinen. (Hvorfor vi overhovedet mener, lokal flersproget diktering betyder noget, er sit eget indlæg — derfor bør diktering til udviklere ikke kun virke på engelsk. Dette her er dets praktiske efterfølger: det indlæg argumenterer for sprogene, det her handler om at gøre dem reelt brugbare.)
To klik, ikke tre menuer inde
Et fastlås, du ikke kan nå, er et fastlås, du ikke bruger, så skiftet bor i menulinjen. Keebyes ikon i menulinjen har en menu, »Dictation Language«, med en kurateret kortliste på 11 sprog — engelsk, rumænsk, fransk, tysk, spansk, italiensk, portugisisk, hollandsk, polsk, russisk, ukrainsk. To klik fra enhver app: klik på ikonet, klik på sproget. Du åbner ikke Indstillinger, og du forlader ikke det vindue, du arbejdede i.
Den fulde liste på 25 sprog ligger i Indstillinger for de sprog, der ligger uden for kortlisten. Men kortlisten dækker den daglige virkelighed i det meste tosprogede arbejde: du skriver til dit team på ét sprog og til en kunde eller en AI-agent på et andet, og du har brug for, at skiftet ikke koster noget.
Der er én mulighed mere, det er værd at kende, for den ændrer helt, hvordan nogle bruger fastlåsningen: en kontakt til oversættelse til engelsk. Tal dit sprog, og engelsk lander ved din cursor — samme engine, samme afvikling on-device. Kører din indre monolog på rumænsk, mens dit output skal være engelsk (commit-beskeder, prompts til en kodeagent, svar til et internationalt team), så falder det oversættelsestrin, du lavede inde i hovedet, bort. Jeg bruger den mere, end jeg havde regnet med.
Hvad fastlåsningen koster dig
25 sprog er 25 sprog. Cloud-baserede dikteringsværktøjer lister langt flere, fordi det at sende lyd til en stor model på serversiden er den billige måde at tilføje sprog på. Det er den reelle afvejning ved on-device: en model, der kan være på din Mac, dækker mindre af verden end en model, der fylder et datacenter. Er dit sprog ikke på listen med 25, dækker Keebyes flersprogede engine dig ikke i dag, og det siger jeg hellere end at runde op.
Et fastlås betyder et fastlås. Det er bagsiden af determinisme, og jeg vil være klar om det: låser du rumænsk fast og taler engelsk, vil Keebye trofast fejlafkode dit engelske som rumænsk, indtil du skifter. Enginen gør præcis det, du bad den om. Hele charmen ved automatisk registrering var, at du aldrig skulle tænke over det her — fastlåsningen bytter den bekvemmelighed for forudsigelighed. Efter min erfaring er byttet det værd, for et forkert gæt, du ikke kan styre, er værre end en forkert indstilling, du kan rette med to klik. Men det er et bytte, ikke en gratis frokost.
Kortlisten i menulinjen er 11 sprog, ikke 25. Indeholder dit daglige par f.eks. finsk eller græsk, skal du gennem Indstillinger for den ene side af det. Kuratering betyder, at nogens sprog ikke kom med i hurtigmenuen.
Hvor det efterlader klagen
Klagen på kategoriniveau — »min diktering kommer hele tiden ud på det forkerte sprog« — er i virkeligheden en klage over lydløse beslutninger. Modellen gættede, gættet var forkert, og der var ingen måde at sige den imod. Enhver løsning, der bevarer gætteriet (bedre registrering, længere lydvinduer, sikkerhedstærskler), gør bare fejlen sjældnere og mærkeligere. Den løsning, der faktisk gør en ende på klagen, er at give brugeren beslutningen tilbage.
Lever du lige nu med det her i et andet værktøj, er vores sammenligningssider ærlige om, hvor hvert værktøj passer — Keebye vs. Superwhisper og Keebye vs. Wispr Flow dækker begge sprogspørgsmålet blandt andre. Vil du prøve selve fastlåsningen, så start din gratis prøveperiode nedenfor, gentag den rumænske eller polske sætning fra starten af artiklen, og se, hvor meget af flakseriet der kom fra et ukontrolleret gæt frem for din accent.
Lås det sprog fast, du faktisk bruger
Start din gratis prøveperiode, og gentag ét svar på dit modersmål, som automatisk registrering tidligere ødelagde.
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
Læs videre
Diktér code reviews på dit eget sprog
Kode er engelsk. Dine reviewkommentarer behøver ikke være det. Sådan dikterer du feedback på ét af 25 sprog on-device — og derfor betyder sproglåsen noget.
Diktér prompts til parallelle agenter, bane for bane
Kører du to-tre kodeagenter på én gang, bliver det at prompte flaskehalsen. Et stemmeworkflow til at fodre parallelle baner uden at forlade den, du er i.
Styr Claude Code med stemmen: byg i parallelle lanes
AI-kodeagenter gjorde tastaturet til flaskehalsen. Et praktisk workflow til at diktere prompts, reviews og kursændringer i parallelle agent-lanes på macOS.