02.07.2022

Новый выпуск системы синтеза речи Silero

Доступен новый публичный выпуск нейросетевой системы синтеза речи Silero Text-to-Speech. Проект в первую очередь нацелен на создание современной высококачественной системы синтеза речи, не уступающей коммерческим решениям от корпораций и доступной для всех желающих без использования дорогого серверного оборудования.

Модели распространяются под лицензией GNU AGPL, но развивающая проект компания не раскрывает механизм тренировки моделей. Для запуска можно использовать PyTorch и фреймворки с поддержкой формата ONNX. Синтез речи в Silero основан на использовании глубокого модифицированных современных нейросетевых алгоритмов и методов цифровой обработки сигналов.

Отмечается, что основной проблемой современных нейросетевых решений для синтеза речи является то, что зачастую они доступны только в рамках платных облачных решений, а публичные продукты имеют высокие требования к оборудованию, более низкое качество или не являются законченными и готовыми для использования продуктами. Например, для беспроблемного запуска одной из новых популярных архитектур end-to-end синтеза, VITS, в режиме синтеза (то есть не для тренировки моделей) требуются видеокарты с более чем 16 гигабайтами VRAM.

Вопреки сложившемуся тренду решения Silero успешно запускаются даже на 1 потоке x86 процессора Intel c инструкциями AVX2. На 4 потоках процессора синтез позволяет синтезировать от 30 до 60 секунд в секунду в режиме синтеза 8 kHz, в режиме 24 kHz — 15-20 сек., а в режиме 48 kHz — около 10 сек.

Основные особенности нового выпуска Silero:

  • Размер модели снижен в 2 раза до 50 мегабайт;
  • Модели умеют делать паузы;
  • Доступно 4 высококачественных голоса на русском языке (и бесконечное число случайных). Примеры произношения;
  • Модели стали в 10 раз быстрее и, например, в режиме 24 kHz позволяют синтезировать до 20 секунд аудио в секунду на 4 потоках процессора;
  • Все варианты голосов для одного языка упакованы в одну модель;
  • Модели могут принимать целые абзацы текста на вход, поддерживаются SSML-теги;
  • Синтез работает сразу в трёх частотах дискретизации на выбор — 8, 24 и 48 килогерц;
  • Решены «детские проблемы»: нестабильность и пропуск слов;
  • Добавлены флаги для контроля автоматической простановки ударений и простановки буквы «ё».

Сейчас для самой новой версии синтеза публично доступны 4 голоса на русском языке, но в ближайшем будущем будет опубликована следующая версия со следующими изменениями:

  • Скорость синтеза вырастет еще в 2-4 раза;
  • Будут обновлены модели синтеза для языков СНГ: Калмыцкого, Татарского, Узбекского и Украинского;
  • Будут добавлены модели для европейских языков;
  • Будут добавлены модели для индийских языков;
  • Будут добавлены модели для английского языка.

Некоторые из системных пробоем, присущих синтезу Silero:

  • В отличии от более традиционных решений для синтеза, таких как RHVoice, у синтеза Silero нет интеграции с SAPI, простых к установке клиентов и интеграций для Windows и Android;
  • Скорость, хотя и является беспрецедентно высокой для такого решения, может быть недостаточной для синтеза на лету на слабых процессорах в высоком качестве;
  • Решение для автоматической расстановки ударений не обрабатывает омографы (слова по типу зАмок и замОк) и все ещё делает ошибки, но данная недоработка будет исправлена в будущих релизах;
  • Текущая версия синтеза не работает на процессорах без инструкций AVX2 (или необходимо специально изменять настройки PyTorch), поскольку один из модулей внутри модели квантизован;
  • Текущая версия синтеза по сути имеет единственной зависимостью PyTorch, вся начинка «зашита» внутрь модели и JIT-пакетов. Исходники моделей не публикуются, равно как и код для запуска моделей из под клиентов PyTorch для других языков;
  • Libtorch, доступный для мобильных платформ, гораздо более громоздкий, чем ONNX runtime, но ONNX-версия модели пока не предоставляется.

Источник.