Доступен новый публичный выпуск нейросетевой системы синтеза речи 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-версия модели пока не предоставляется.