Innhold Vis
vibevoice.cpp er en ren C++-port av Microsofts VibeVoice-modell, laget av LocalAI-teamet, og lar deg kjøre avansert tale-AI lokalt uten Python, uten sky og uten månedlige abonnementer. Modellen støtter TTS (tekst-til-tale), langt lydopptak med automatisk transkribering, og speaker diarization – altså at den skiller ut hvem som snakker når i opptaket. Alt på CPU, CUDA, Metal og Vulkan.
Microsoft VibeVoice ble lansert som en open source frontier-modell for stemme-AI. Den originale modellen var Python-basert og krevde tung infrastruktur for å kjøre. vibevoice.cpp endrer dette: ggml-rammeverket (det samme som whisper.cpp og llama.cpp bruker) gjør at du nå kan kjøre samme kapabilitet direkte på hardware du allerede har – Mac, Linux-server, Windows-PC eller en gammel RTX-kalkulator som trenger å gjøre nytte for seg.
Her er hva du trenger å vite om hva vibevoice.cpp faktisk kan, hvem det passer for, og hva som er statusen på prosjektet akkurat nå.
Hva er Microsoft VibeVoice egentlig?
VibeVoice er ikke én modell men en familie av tre modeller med ulike formål. Microsoft slapp dem som open source for å fremme forskning på tale-AI.
VibeVoice-ASR (7 milliarder parametere) er transkriberings-motoren. Den kan behandle opptil 60 minutters sammenhengende lydinndata i ett enkelt pass – innenfor et 64K token-vindu. Viktigst: den genererer strukturerte transkripsjonssegmenter med hvem som snakker, når de snakker og hva de sier. Med støtte for over 50 språk.
VibeVoice-TTS (1,5 milliarder parametere) er tale-syntetiseringsmodellen. Den kan generere opptil 90 minutters tale i én sesjon og støtter opptil 4 distinkte talere i en samtale. Det er podcast-motoren – gi den manus og stemmer, og den lager lydfilen.
VibeVoice-Realtime (500 millioner parametere) er den lette varianten. Rundt 300 millisekunder latens, støtter strømmende tekstinngang, og håndterer opptil 10 minutters innhold. Praktisk for applikasjoner som trenger respons i sanntid.
Den tekniske arkitekturen er interessant: VibeVoice bruker det de kaller «next-token diffusion»-rammeverk, en kombinasjon av en stor språkmodell for tekstforståelse med et diffusjons-hode for å generere lyd. Tokeniserne opererer på en ultralow frame-rate på 7,5 Hz – noe som sparer beregningsressurser uten å ofre lydkvalitet.
Hva gjør vibevoice.cpp annerledes enn originalen?
Den originale Python-versjonen av VibeVoice krever CUDA-miljø, tunge Python-avhengigheter og gjerne en NVIDIA Deep Learning Container for å sette opp riktig. Det er ikke noe du raskt spinner opp på en bærbar PC.
vibevoice.cpp fjerner hele Python-laget ved inferens. Koden er ren C++ med ggml som backend – det samme rammeverket som driver llama.cpp og whisper.cpp. Det betyr:
- CPU-kjøring fungerer uten GPU i det hele tatt
- CUDA for NVIDIA GPU-akselerasjon
- Metal for Apple Silicon (M1/M2/M3/M4)
- Vulkan for AMD og Intel GPU-er
Ingen Python ved inferens er en stor ting. Python-overhead, pakkekonflikter og virtuelle miljøer er kilde til endeløs irritasjon. En kompilert C++-binær som bare fungerer er fundamentalt annerledes å jobbe med.

Hva kan du faktisk bruke dette til?
Speaker diarization er det mest interessante her. Hvis du har et langt intervju-opptak – si 45 minutter med to eller tre deltakere – kan VibeVoice-ASR gi deg en transkripsjon som skiller mellom hvem som sa hva, med tidsstempler. Det er nyttig for podcast-produksjon, møtereferater, intervju-analyse.
For TTS-siden handler det om stemme-kloning fra pre-konverterte stemmeprompts. vibevoice.cpp støtter alle de originale .pt-stemmefilene fra upstream (Carter, Grace, Emma, Davis), og du kan bruke disse til å generere lange, flerspråklige lydklipp. Manus inn, lydfil ut. Ingen abonnement.
Sanntids-TTS med 300 ms latens åpner for integrasjon i voice assistenter og chatboter. Ikke imponerende for menneskelig samtale, men akseptabelt for mange use cases.
Det er verdt å merke seg at Microsoft fjernet TTS-koden fra det offisielle VibeVoice-repositoryet etter lansering av hensyn til ansvarlig bruk. vibevoice.cpp ble portert fra den opprinnelige koden og inkluderer TTS-funksjonaliteten. Det gjør prosjektet spesielt verdifullt for de som vil utforske hele kapabiliteten til modellen lokalt.
Hvem er LocalAI-teamet og hva er ggml?
LocalAI er et open source-prosjekt med mål om å gi en API-kompatibel server for å kjøre AI-modeller lokalt – tenk en self-hosted versjon av OpenAI-APIet. De har portert og integrert mange modeller, og vibevoice.cpp er en naturlig forlengelse av dette arbeidet.
ggml er et tensor-bibliotek skrevet i C, opprinnelig laget av Georgi Gerganov (mannen bak llama.cpp og whisper.cpp). Biblioteket er designet for effektiv inferens på vanlig hardware – det er grunnen til at du kan kjøre Llama-modeller på en gammel laptop via Ollama. ggml håndterer kvantisering, hardware-akselerasjon og minneeffektiv beregning.
vibevoice.cpp følger samme mønster som whisper.cpp og andre populære C++-porter. Porten er ikke bare en oversettelse av Python-kode til C++ – det er en omskriving for det ggml-native økoystemet med alle fordelene det medfører.
Hvilken hardware trenger du?
VibeVoice-ASR-modellen er 7 milliarder parametere – omtrent 14 GB i full presisjon. Du kan kjøre den på CPU med nok RAM (16-32 GB anbefalt), men VRAM på GPU gir vesentlig bedre hastighet. Med kvantisering (som ggml støtter) kan modellen krympe betraktelig og passe på mer modest hardware.
VibeVoice-Realtime på 500 millioner parametere er langt mer tilgjengelig og passer godt for de som ikke har tung hardware. Det er et godt startpunkt for å teste konseptet.
Apple Silicon-brukere med Metal-støtte er i en gunstig posisjon her – unified memory-arkitekturen i M-prosessorene håndterer ggml-modeller bra uten separat GPU.

Hva er statusen på prosjektet akkurat nå?
vibevoice.cpp er forbi «first-pass port»-fasen ifølge LocalAI-teamet. Det er et tegn på at API-et er relativt stabilt og at noen faktisk har brukt det og gitt tilbakemeldinger. Men det er fortsatt et community-prosjekt i aktiv utvikling – forvent at ting endrer seg.
En diskusjon om GGUF-konvertering for VibeVoice pågår i llama.cpp-repositoryet. GGUF er det foretrukne formatet for ggml-modeller – standardiseringen på tvers av prosjekter gjør distribusjon og deling av modellvekter mye enklere. Når VibeVoice-vektene er tilgjengelige i GGUF-format vil terskelen for å prøve modellen senkes ytterligere.
For den som vil grave dypere er Microsofts VibeVoice GitHub-repo utgangspunktet, og LocalAIs kanaler er stedet for vibevoice.cpp-spesifikke spørsmål.
Er dette bedre enn alternativer som whisper.cpp og VoxCPM2?
Det er litt epler og appelsiner. whisper.cpp er godt etablert, veldig rask på transkripsjon og støtter norske dialekter via NB-Whisper. Men whisper har ikke innebygd speaker diarization – du må koble på ekstern diarization for å vite hvem som sa hva.
VibeVoice-ASR kombinerer transkripsjon og diarization i ett enkelt pass. Det er den store fordelen. For lange opptak med flere talere er dette vesentlig mer praktisk enn å koble sammen flere verktøy.
På TTS-siden er VoxCPM2 og lignende modeller allerede godt tilgjengelige lokalt. VibeVoice TTS skiller seg ut med støtte for lange klipp (90 minutter), multi-speaker i én sesjon, og en arkitektur som er spesielt designet for podcast-aktig innhold.
Den praktiske konklusjonen er at vibevoice.cpp fyller et hull – spesielt for de som trenger long-form audio med speaker identification uten å sende data til skyen. Open source-alternativene for lokal tale-AI blir stadig sterkere, og dette er et godt eksempel på det.
Verdt å teste? Ja, hvis du jobber med transkripsjon av lange opptak, podcast-produksjon, eller vil ha en lokal TTS-motor med mer kapasitet enn de fleste alternativer. Forvent litt hands-on oppsett, men LocalAI-teamets track record er god.