OpenVoice V2 im Browser ausführen
Ich habe einen lokalen, multilingualen Voice-Cloning-Workflow für Timeline Studio entwickelt. Alles läuft direkt im Browser, sodass keine Audiodaten oder Referenzaufnahmen jemals dein Gerät verlassen. Das sorgt für Datenschutz und Geschwindigkeit.
Das System nutzt OpenVoice V2 mit FP16 ONNX, WebGPU und IndexedDB.
So funktioniert der Workflow
- Wähle eine Sprache und eine Basisstimme aus.
- Generiere das Quell-Audio.
- Lade eine Referenzstimme hoch oder nimm sie auf.
- Extrahiere Speaker-Embeddings.
- Führe die Tone-Color-Conversion durch.
- Vorschau anzeigen und das Ergebnis speichern.
Technische Details
Die Engine teilt sich in zwei Teile auf: einen WASM-basierten Reference Encoder und einen WebGPU-gestützten Converter. Falls WebGPU fehlschlägt, fällt der Converter auf WASM zurück, damit ihn jeder nutzen kann.
Für das Produktionsmodell habe ich FP16 gewählt. FP8 existiert zwar, aber die Browser-Unterstützung ist noch nicht stabil. FP16 bietet derzeit die beste Kombination aus Geschwindigkeit und Audioqualität.
Um die Benutzeroberfläche flüssig zu halten, habe ich den gesamten Inference-Pfad in einen Web Worker ausgelagert. Das verhindert, dass der Browser während intensiver Verarbeitungsprozesse einfriert. Ich verwende transferable ArrayBuffers, um Audiodaten zu übertragen, ohne das System zu verlangsamen.
Schritte zur Audioqualität
- Resampling auf 22.050 Hz.
- Anwendung von STFT für die Konvertierung.
- Automatisches Bereinigen von Ausklangphasen (Tails) mittels RMS-Aktivität.
- Soft-Limiting des Signals, um Clipping bei hohen Lautstärken zu vermeiden.
Speicher
Ich speichere Speaker-Profile in IndexedDB, sodass du eine Stimme über verschiedene Sprachen hinweg wiederverwenden kannst, ohne den Encoder erneut ausführen zu müssen.
Zudem habe ich ein intelligentes Caching hinzugefügt. Das Modell wird parallel von Hugging Face oder ModelScope heruntergeladen; wenn der Browser-Cache voll ist, führt das System das Modell aus dem Arbeitsspeicher aus, anstatt eine Fehlermeldung auszugeben.
Dieses Projekt ist mehr als nur ein ONNX-Modell – es ist ein vollständiges System für die Modellbereitstellung, Hardware-Fallback und lokale Datenspeicherung.
Repository: https://github.com/MartinDelophy/ai-video-editor
Vollständige technische Analyse: https://dev.to/martindelophy/running-openvoice-v2-in-the-browser-with-fp16-onnx-webgpu-and-indexeddb-50kl
Optionale Lern-Community: https://t.me/GyaanSetuAi
