OpenVoice V2 draaien in de browser
Ik heb een lokale, meertalige voice-cloning workflow gebouwd voor Timeline Studio. Alles draait in de browser, waardoor audiogegevens of referentie-opnames je apparaat nooit verlaten. Dat houdt je gegevens privé en zorgt voor snelheid.
Het systeem draait OpenVoice V2 met FP16 ONNX, WebGPU en IndexedDB.
Hoe de workflow werkt
- Kies een taal en een basisstem.
- Genereer de bronspraak.
- Upload of neem een referentiestem op.
- Extraheer speaker embeddings.
- Voer tone-color conversie uit.
- Bekijk het resultaat in een preview en sla het op.
Technische details
De engine is verdeeld in twee delen: een op WASM gebaseerde reference encoder en een converter aangedreven door WebGPU. Als WebGPU niet werkt, valt de converter terug op WASM, zodat iedereen het kan gebruiken.
Ik heb gekozen voor FP16 voor het productiemodel. FP8 bestaat wel, maar de ondersteuning in browsers is nog niet stabiel. FP16 biedt momenteel de beste combinatie van snelheid en audiokwaliteit.
Om de UI soepel te houden, heb ik het volledige inference-pad naar een Web Worker verplaatst. Dit voorkomt dat de browser bevriest tijdens zware verwerking. Ik gebruik transferable ArrayBuffers om audiogegevens te verplaatsen zonder het systeem te vertragen.
Stappen voor audiokwaliteit
- Resamplen naar 22.050 Hz.
- Pas STFT toe voor conversie.
- Ruim tails automatisch op met behulp van RMS-activiteit.
- Pas soft-limiting toe op het signaal om clipping bij hoge volumes te voorkomen.
Opslag
Ik sla speakerprofielen op in IndexedDB, zodat je een stem kunt hergebruiken in verschillende talen zonder de encoder opnieuw te hoeven draaien.
Ik heb ook slimme caching toegevoegd. Het model wordt parallel gedownload van Hugging Face of ModelScope; als de browsercache vol raakt, draait het systeem het model vanuit het geheugen in plaats van een foutmelding te geven.
Dit project is meer dan een ONNX-model—het is een volledig systeem voor modellevering, hardware fallback en lokale gegevenspersistentie.
Repository: https://github.com/MartinDelophy/ai-video-editor
Volledige technische analyse: https://dev.to/martindelophy/running-openvoice-v2-in-the-browser-with-fp16-onnx-webgpu-and-indexeddb-50kl
Optionele leercommunity: https://t.me/GyaanSetuAi
