NVIDIA gjør en stor del av talestacken sin langt enklere å kjøre lokalt med NeMo-Speech.cpp. Den nye C++-runtimen samler talegjenkjenning, tekst til tale og lyddekoding i ett prosjekt, med ferdige GGUF-filer for flere av selskapets åpne talemodeller.

Det interessante er ikke bare at enda noen modellfiler kan lastes ned. NeMo-Speech.cpp kutter bort mye av Python-, PyTorch- og NeMo-oppsettet som vanligvis følger med slike modeller. Du får en felles kommandolinje, lokal HTTP-server, et OpenAI-kompatibelt lyd-API og støtte for CPU, CUDA, Metal og Vulkan.

Men la oss rydde bort to misforståelser med én gang. «Hele talestacken» er en raus beskrivelse av et utvalg støttede modeller, og GGUF betyr ikke automatisk at alt er hardt kvantisert. ASR-filene leveres i Q8, mens MagpieTTS og NanoCodec foreløpig ligger som F16. Dette er likevel et viktig skritt: Modellene, formatet og den lokale runtimen begynner å ligne en sammenhengende verktøykasse i stedet for fem separate forskningsprosjekter.

Hva er NeMo-Speech.cpp?

NeMo-Speech.cpp er en lett, lokal C++-runtime bygget på ggml for NVIDIAs talemodeller. NVIDIAs offisielle GitHub-repositorium beskriver støtte for sanntids- og batchkjøring på flere backender, med én kommandolinje for transkripsjon, talesyntese og serverdrift.

Det er en ganske annen inngang enn det vanlige NeMo-oppsettet. I stedet for å installere et stort Python-miljø og laste originale checkpoints inn i rammeverket, kan du hente en ferdig GGUF-fil fra Hugging Face og peke nemo-speech mot den. For en enkel transkripsjon er selve kommandoen omtrent like rett fram som med whisper.cpp.

Prosjektet kan også starte en lokal server på maskinen din. Den tilbyr et dokumentert utvalg av OpenAI-kompatible lydendepunkter, WebSocket for løpende transkripsjon og en egen nettleserbasert lekeplass. Det gjør at en lokal app i prinsippet kan bytte fra et eksternt tale-API til en modell på egen maskin uten at hele integrasjonen må skrives på nytt.

«I prinsippet» gjør litt arbeid i den setningen. Den offentlige installasjonsveien bygger fortsatt fra kildekode, og krever blant annet Git, CMake 3.26 eller nyere, Ninja og en C++17-kompilator. Dette er tidlig utviklerverktøy, ikke en ferdig app du installerer fra Microsoft Store og glemmer.

NeMo-Speech.cpp samler lokal talegjenkjenning, talesyntese og lydkodek i én C++-runtime
Én lokal runtime samler transkripsjon, talesyntese og lyddekoding på samme maskin.

Hvilke NVIDIA-modeller kan kjøres lokalt?

Den dokumenterte modellpakken består av fire ASR-modeller, MagpieTTS Multilingual og NanoCodec. NVIDIAs ASR-oversikt viser Parakeet CTC 1.1B, Parakeet TDT 0.6B v3, Nemotron Speech Streaming EN 0.6B og Nemotron 3.5 ASR Streaming 0.6B.

Parakeet CTC 1.1B er modellen for vanlig offline transkripsjon. Parakeet TDT 0.6B v3 dekker 25 europeiske språk, men er ikke trent som en cache-bevisst strømmemodell. NeMo-Speech.cpp avviser derfor streaming med denne modellen og bruker hele ytringen på én gang. Det er en viktig detalj dersom målet er en stemmeassistent som skal svare mens du snakker.

Til løpende tale er Nemotron-modellene mer interessante. Den engelske utgaven er laget for strømming, mens Nemotron 3.5 utvider samme grunnidé til 40 språkvarianter. Modellen beholder tidligere beregnet kontekst og behandler nye lydbiter uten å gjøre samme jobb om igjen for hvert vindu.

For norske brukere er Nemotron 3.5 den mest relevante. Det offisielle modellkortet plasserer norsk bokmål blant 13 språkvarianter med bred dekning som virker direkte. Nynorsk ligger derimot blant åtte språkvarianter som krever finjustering før full transkripsjon er støttet. «40 språk» betyr altså ikke samme modenhet for alle 40.

De ferdige Q8-filene er heller ikke enorme etter lokal modellstandard. Nemotron 3.5 er omtrent 742 MB, den engelske Nemotron-modellen omtrent 700 MB, Parakeet TDT omtrent 714 MB og Parakeet CTC omtrent 1,18 GB. Det gjør dem håndterbare på en vanlig PC, men filstørrelse alene forteller ikke hvor raskt de kjører på akkurat din prosessor eller GPU.

Hvordan fungerer lokal tekst til tale?

Tekst til tale bruker to separate GGUF-filer: MagpieTTS lager diskrete lydsymboler, og NanoCodec gjør dem om til en faktisk lydbølge. TTS-dokumentasjonen for NeMo-Speech.cpp oppgir en F16-fil på omtrent 449 MB for MagpieTTS v2602 og en NanoCodec-dekoder på omtrent 79 MB.

Dette skillet er mer enn en installasjonsdetalj. Magpie-modellen trenger en codec for å få lyd ut, men codec-delen kan utvikles og byttes uavhengig av tekstmodellen. Det er nettopp derfor det gir mening å omtale dette som en liten stack: tekst går inn i Magpie, lydsymboler kommer ut, og NanoCodec dekoder dem til en WAV-fil.

MagpieTTS v2602 støtter ni språk: engelsk, spansk, tysk, fransk, vietnamesisk, italiensk, kinesisk, hindi og japansk. Norsk er ikke blant dem. Den nyere v2607-modellen har fått arabisk, koreansk og portugisisk i tillegg, men runtime-oppskriften peker foreløpig uttrykkelig på v2602-filen. Du kan derfor transkribere norsk lokalt med Nemotron 3.5, men ikke regne med norsk talesyntese fra denne Magpie-pakken.

Oppsettet er heller ikke bare to nedlastinger og ferdig. Magpie trenger tokenizer-filer som ligger inne i den opprinnelige .nemo-pakken. De må pakkes ut og oppgis separat til runtimen. Japansk og kinesisk krever dessuten egne valg under kompilering. NVIDIA har fjernet mye friksjon, men ikke all friksjon. Det hadde nesten vært mistenkelig.

MagpieTTS lager lydsymboler som NanoCodec dekoder til en lokal lydbølge
MagpieTTS lager diskrete lydsymboler, mens NanoCodec dekoder dem til en ferdig lydbølge.

Er alle modellene virkelig kvantisert til GGUF?

Nei. GGUF er filformatet, mens Q8, Q6, Q5, Q4 og F16 beskriver hvordan vektene lagres. De ferdige ASR-filene bruker Q8 som standard, men MagpieTTS og NanoCodec distribueres i F16. Overskriften om at hele stacken er «kvantisert til GGUF» blander derfor to forskjellige ting.

For ASR kan konverteringsverktøyet lage Q8_0, BF16, FP16, Q6_K, Q5_K og Q4_K. Lavere presisjon gir mindre filer, men kan også påvirke kvaliteten. NVIDIA kaller Q8_0 den portable standarden med høy kvalitet, mens K-kvantiseringene er for dem som vil presse størrelsen lenger ned.

For TTS og codec er F16 standard. Det er fortsatt GGUF og fortsatt lokalt, men vektene er ikke komprimert på samme måte som en Q4- eller Q8-fil. Dette høres kanskje ut som flisespikkeri, men det har direkte betydning for minnebruk og hvilke enheter som faktisk er aktuelle.

Det mest nyttige med GGUF her er felles emballasje og metadata. Runtimen vet hvilken arkitektur den laster, og de samme modellfilene kan brukes mot ulike backender. Det er samme grunn til at GGUF har blitt så viktig for lokale språkmodeller: mindre spesiallim rundt hver enkelt modell.

Kan NeMo-Speech.cpp kjøre på en vanlig PC?

Ja, prosjektet har byggoppsett for CPU, CUDA, Metal og Vulkan, og dokumentasjonen dekker Linux, macOS og Windows. CPU gjør det mulig å kjøre uten NVIDIA-kort, Metal retter seg mot Apple Silicon, mens CUDA og Vulkan dekker ulike GPU-oppsett. Men NVIDIA har foreløpig ikke publisert et ryddig sett med forbrukerbenchmarks som viser fart og minnebruk på vanlige maskiner.

Det siste er verdt å holde fast på. Repositoriet sier at modellene kan kjøre i sanntid, men en 0,6 milliard parametere stor ASR-modell og en komplett TTS-kjede er ikke automatisk rask på enhver bærbar PC. Backend, prosessor, minnebåndbredde, valgt presisjon og lengden på lyden vil påvirke resultatet.

Likevel er arkitekturen lovende for lokale arbeidsflyter. En møteopptaker kan transkribere uten å sende lyd ut av huset. En utvikler kan legge et OpenAI-lignende lyd-API på 127.0.0.1. En lokal stemmeassistent kan kombinere streaming-ASR med en språkmodell og TTS uten at selve talen må gjennom tre forskjellige skytjenester.

NVIDIA har lenge solgt maskinvaren under AI-bølgen. Nå bygger selskapet stadig flere lag over brikkene, fra modeller og runtime til komplette utvikleropplevelser. Det ligner retningen jeg beskrev da NemoClaw flyttet NVIDIA nærmere selve agentplattformen. NeMo-Speech.cpp er mindre dramatisk, men følger samme mønster.

Kan dette kjøres på en mobiltelefon?

Ikke som en ferdig løsning ennå. NeMo-Speech.cpp dokumenterer Linux, macOS og Windows, men har ingen vanlig Android- eller iOS-app og ingen offisiell mobiloppskrift. At runtimen støtter CPU, Metal og Vulkan gjør mobilporter teknisk interessante, men det er ikke det samme som at du kan installere modellene på telefonen i dag.

En utvikler må fortsatt bygge C++-bibliotekene for mobilplattformen, lage lydinnmating, håndtere modellnedlasting og minne, og pakke alt inn i en app. På iPhone kan Metal-støtten være et naturlig utgangspunkt, mens Vulkan kan være relevant på Android. Men dette er mulige utviklingsveier, ikke dokumentert plug-and-play-støtte fra NVIDIA.

Modellstørrelsene viser også hvorfor spørsmålet ikke bare handler om lagringsplass. Nemotron 3.5-filen er rundt 742 MB, og TTS-paret er til sammen omtrent 527 MB før tokenizer-filer og app kommer i tillegg. En moderne telefon kan lagre dette, men kontinuerlig transkripsjon eller talesyntese må også passe innenfor minne-, varme- og batteribudsjettet.

Så svaret er litt kjedelig, men nyttig: NeMo-Speech.cpp har gjort en mobilimplementasjon mer realistisk, men har ikke levert mobilproduktet. Vil du bruke dette lokalt nå, er en PC, Mac eller Linux-boks det dokumenterte startpunktet.

Hvorfor er denne samlingen viktig?

Det viktigste er at lokale talesystemer blir mer sammenhengende. Du trenger ikke lenger behandle ASR, TTS og codec som helt separate økosystemer med hver sin runtime. NeMo-Speech.cpp gir dem felles byggesystem, kommandolinje, API-lag og modellformat.

Det senker terskelen for personvernvennlig tale-AI og for løsninger som må virke uten nett. Lyd kan inneholde langt mer følsom informasjon enn en tilfeldig chatmelding: møter, kundesamtaler, private notater og stemmer fra andre mennesker. Lokal behandling fjerner ikke behovet for sikkerhet, men den fjerner i det minste et unødvendig hopp ut på internett.

Samtidig bør ingen late som alt er ferdig. Installasjonen er fortsatt kildekodeorientert, norsk TTS mangler, mobilstøtten er ikke pakket, og lokale ytelsestall på vanlig maskinvare må komme. Modellisensene varierer også selv om selve NVIDIA-koden er Apache 2.0.

Likevel er retningen tydelig. Lokale språkmodeller fikk sitt store gjennombrudd da gode modellfiler møtte en enkel C++-runtime. Nå begynner tale-AI å få den samme behandlingen. Det er mer betydningsfullt enn enda en pen modell-demo i nettleseren.

Ofte stilte spørsmål

Støtter NeMo-Speech.cpp norsk talegjenkjenning?

Ja. Nemotron 3.5 ASR har norsk bokmål som en språkvariant med bred dekning og kan brukes direkte. Nynorsk står som tilpasningsklar og krever finjustering for full støtte. Den separate MagpieTTS-pakken støtter foreløpig ikke norsk talesyntese.

Trenger jeg et NVIDIA-grafikkort?

Nei. Runtimen har backender for CPU, CUDA, Metal og Vulkan. Et NVIDIA-kort kan bruke CUDA, mens Apple Silicon kan bruke Metal. Faktisk hastighet avhenger av modell, presisjon og maskinvare, og prosjektet mangler foreløpig brede målinger på vanlige forbrukermaskiner.

Er GGUF det samme som kvantisering?

Nei. GGUF er et filformat. Q8, Q6, Q5 og Q4 er kvantiseringsnivåer, mens F16 lagrer vektene med 16-bits flyttall. ASR-modellene leveres i Q8, men MagpieTTS og NanoCodec er foreløpig F16-filer i GGUF-format.

Kan jeg bruke NeMo-Speech.cpp som et lokalt OpenAI-lyd-API?

Ja. Den lokale serveren tilbyr et dokumentert utvalg av OpenAI-kompatible lydendepunkter og WebSocket-transkripsjon. Det kan forenkle integrasjon med eksisterende klienter, men kompatibiliteten gjelder et utvalg av API-et og bør kontrolleres mot funksjonene appen faktisk bruker.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Meld deg på nyhetsbrevet

Få oppdateringer om AI nyhetene rett i inboxen!

Du liker kanskje denne også
Jan Sverre vurderer Claude pris for Free, Pro og Max i 2026

Hva koster Claude AI? Priser for Free, Pro og Max i 2026

Hva koster Claude AI i 2026? Se priser for Free, Pro, Max, Team og API i norske kroner, forstå bruksgrensene og velg planen som passer behovet ditt best.
Jan Sverre utforsker hvordan man kan lage sang med AI i Suno

Lage sang med AI: Det jeg lærte av 150 Suno-låter

Lage sang med AI på norsk: Dette lærte jeg av 150 Suno-låter om tekst, prompts, uttale, pris, gratisbruk og rettigheter før du publiserer din egen musikk.
Jan Sverre med headphones og lydmikser i boardroom-møte med forvirrede executives

Suno AI Copyright 2026 – Opphavsrett og Rettigheter for AI-Musikk

Kan du tjene penger på Suno-musikk? Her er en praktisk gjennomgang av rettigheter, risiko og hva du bør avklare før publisering.
Jan Sverre blar gjennom en tilpasset YouTube AI-videofeed på telefonen

YouTube lar deg lage din egen AI-videofeed – slik fungerer det

YouTube lar deg nå beskrive hva du vil se med vanlig tekst, og AI setter opp en personlig feed for deg. Her er hva du trenger å vite – og hva det egentlig betyr for deg som bruker.