Iblant når jeg er ute og går, eller gjør et eller annet praktisk, dukker det opp noen ideer som jeg synes det er verdt å ta vare på. Da snakker jeg inn et opptak på telefonen. Innen en time ligger det et referat og eventuelt en oppgaveliste på alle enhetene mine. Talegjenkjenningen skjer på en gammel bærbar PC hjemme, ikke hos en nettjeneste. Her forklarer jeg hvordan det virker, og hvor grensene går.
Serveren er en Toshiba-bærbar fra 2015, med 7 GB minne og uten skjermkort. Talegjenkjenning bruker vanligvis kraftigere maskiner, gjerne med et kraftig skjermkort.
Likevel kjører den en ganske stor utgave av NB-Whisper. Det går fordi modellen er komprimert: tallene den består av lagres i et enklere format. Da bruker den mye mindre minne, og kvaliteten blir nesten like god.
Et langt opptak tar en god stund å transkribere, men det gjør ikke så mye, for jobben går uansett i bakgrunnen.
NB-Whisper er Nasjonalbibliotekets utgave av Whisper, en talegjenkjenner fra OpenAI, trent videre på norsk tale. Den er spesielt god på norske dialekter, trykk og norske navn. Gøy å prøve noe norskutviklet, og spesielt gøy at det kan kjøres lokalt.
Den klarer likevel ikke absolutt alt, særlig for en som opererer i en virkelighet som ofte er engelsk.
Når jeg snakker norsk og plutselig sier «cron-jobb» eller «Anthropic», har modellen ingen grunn til å tro at det kommer et engelsk ord. Den gjetter på noe som høres norsk ut:
| «crownie» | →cron-jobb |
| «Choppicks» | →Anthropic |
| «HIQ» | →Haiku |
Modellen kan få en ordliste med ord den skal være ekstra oppmerksom på.
Ordlisten har i skrivende stund 17 ord og navn, blant annet Obsidian, Syncthing og Karpathy. Inntil videre må jeg legge til ting mer eller mindre manuelt, men det skal jeg løse etter hvert.
Et taleopptak tar mye plass. Teksten fra det samme opptaket tar nesten ingen. Hvis lydfilene ble liggende på telefonen, ville telefonen fylles opp av opptak jeg allerede er ferdig med. Derfor sendes taleopptakene til hjemmeserveren med en gang. Teksten har jeg tilgang til på alle enheter via Samba og Syncthing — se detaljer om dette i posten om Hjemmeskyen.
For hvert opptak kommer det to tekstfiler (.md) som jeg vanligvis åpner i notatprogrammet Obsidian: hele transkripsjonen, og et referat. Øverst i begge står dato, hvor langt opptaket var, og hvilken lydfil de kom fra. Referatet ser slik ut:
Oppgavelisten er delt i to med vilje. Meg er det jeg må gjøre selv. AI er det jeg kan be en KI-assistent om å gjøre. Da ser jeg med én gang hva som venter på meg, og hva jeg kan overlate til andre. Det skal sies at dette ikke er helt feilfritt, og at en del av de løse tankene mine ikke blir gjort så mye med …
Når referatet er klart, får jeg et varsel på Telegram via Claude Code-boten jeg har satt opp. Ved eventuelle feil får jeg også beskjed om det.
Lyden forlater aldri mitt private nettverk, men teksten gjør det. Referatet skrives av Claude, en språkmodell fra Anthropic som kjører på deres servere. Det er den ene pila som går ut av rammen i diagrammet. Dersom jeg bare ville hatt transkripsjon, kunne jeg fått det privat, men en språkmodell som skriver gode referater på norsk, trenger mer kraft enn det min gamle Toshiba leverer.
Dette er det svakeste punktet i oppsettet ut fra et personvernperspektiv. En dag skal jeg få tak i en maskin med mer minne og et skjermkort, eller en Mac Studio, og så kan jeg kjøre lokale LLM-er i stedet for å sende dataene til amerikanske skyer.