Запуск 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