Запуск OpenVoice V2 в браузере
Я разработал локальный мультиязычный процесс клонирования голоса для Timeline Studio. Всё работает прямо в браузере, поэтому аудиоданные или эталонные записи никогда не покидают ваше устройство. Это обеспечивает конфиденциальность и высокую скорость работы.
Система запускает OpenVoice V2 с использованием FP16 ONNX, WebGPU и IndexedDB.
Как работает процесс
- Выберите язык и базовый голос.
- Сгенерируйте исходную речь.
- Загрузите или запишите эталонный голос.
- Извлеките эмбеддинги диктора.
- Запустите преобразование тембра (tone-color conversion).
- Просмотрите и сохраните результат.
Технические подробности
Движок разделен на две части: референсный энкодер на базе WASM и конвертер на базе WebGPU. Если WebGPU недоступен, конвертер переключается на WASM, чтобы инструмент был доступен всем.
Для рабочей модели я выбрал FP16. Существует формат FP8, но поддержка в браузерах пока нестабильна. На сегодняшний день FP16 обеспечивает оптимальное сочетание скорости и качества звука.
Чтобы интерфейс работал плавно, я перенес весь процесс инференса в Web Worker. Это предотвращает зависание браузера во время тяжелых вычислений. Я использую передаваемые ArrayBuffer для перемещения аудиоданных без замедления системы.
Этапы обеспечения качества звука
- Ресемплинг до 22 050 Гц.
- Применение STFT для преобразования.
- Автоматическая очистка «хвостов» с помощью RMS-активности.
- Мягкое ограничение (soft-limiting) сигнала, чтобы избежать клиппинга на высокой громкости.
Хранение данных
Я сохраняю профили дикторов в IndexedDB, что позволяет использовать один и тот же голос для разных языков без повторного запуска энкодера.
Также я добавил умное кэширование. Модель загружается параллельно из Hugging Face или ModelScope; если кэш браузера переполняется, система запускает модель из памяти вместо того, чтобы выдавать ошибку.
Этот проект — не просто ONNX-модель, а полноценная система для доставки моделей, резервного переключения оборудования и локального хранения данных.
Репозиторий: https://github.com/MartinDelophy/ai-video-editor
Полный технический разбор: https://dev.to/martindelophy/running-openvoice-v2-in-the-browser-with-fp16-onnx-webgpu-and-indexeddb-50kl
Дополнительное обучающее сообщество: https://t.me/GyaanSetuAi
