Silero расширяет синтез речи до 29 языков России: новые модели для тюркских и кавказских языков
Команда Silero представила две новые модели синтеза речи, которые охватывают 29 языков народов России, включая ранее не поддержанные абхазо-адыгские и нахско-дагестанские. Модели, доступные в открытом доступе, поддерживают SSML и высокое качество генерации, хотя управление ударением пока недоступно.
Команда Silero, известная своими открытыми моделями синтеза речи, объявила о выпуске двух новых моделей, которые расширяют языковую поддержку до 29 языков народов России. Предыдущий релиз охватывал 20 наиболее популярных языков России и СНГ, но оставлял без внимания значительные языковые группы, особенно многочисленные языки Кавказа, Дагестана и Чечни. Новые модели призваны исправить этот пробел, охватывая как тюркские, так и кавказские языки, что делает синтез речи более инклюзивным для миллионов носителей этих языков. Это особенно важно в контексте государственной политики России, направленной на сохранение и развитие языков народов РФ: многие из этих языков имеют официальный статус в республиках, используются в образовании, СМИ и повседневном общении. Доступность качественного синтеза речи для них может способствовать развитию локальных голосовых помощников, систем озвучивания текста и образовательных приложений, что открывает новые возможности для цифровизации национальных культур.
Первая модель, ориентированная на тюркские языки, поддерживает 14 языков и включает 33 голоса, в то время как вторая модель для кавказских языков охватывает 15 языков и предлагает 31 голос. В сумме это 29 языков, среди которых представлены как крупные языки, такие как татарский и чеченский, так и менее распространённые, например абазинский или рутульский. Разработчики отмечают, что из-за ограниченности ресурсов модели не позволяют напрямую управлять ударением, что может быть критично для некоторых языков, особенно для кавказских, где ударение играет смыслоразличительную роль. Например, в абазинском или адыгейском ударение может менять значение слова, и отсутствие контроля над ним может привести к искажению смысла при синтезе. В тюркских языках, как правило, ударение менее критично, но и там оно может влиять на произношение. Тем не менее, модели "сами" ставят ударение на основе контекста, что в большинстве случаев даёт приемлемый результат.
Технически модели используют конкатенацию официальных кириллических алфавитов всех поддерживаемых языков в качестве допустимого набора символов, что позволяет модели самостоятельно обучаться произношению биграмм и редких букв. Разработчики подчёркивают, что часть языков содержит биграммы, но модель научилась их произносить без дополнительных манипуляций. Однако они предупреждают о распространённой проблеме: в интернет-текстах часто используются латинские замены кириллических символов, что может вызывать ошибки при синтезе. Например, вместо кириллической "ә" может использоваться латинская "a" с диакритикой, что приводит к неправильному произношению. Поэтому разработчики настоятельно рекомендуют использовать правильные кириллические символы для корректной работы. Модели поддерживают SSML, что позволяет управлять паузами, интонацией и другими аспектами речи, и прошли все оптимизации, применённые к предыдущим публичным моделям, включая улучшения качества звучания. В этот раз команда применила некоторое ноу-хау для повышения качества, хотя фишки с вопросами и интонациями пока не доехали.
Этот шаг является продолжением серии релизов Silero, начатой в прошлом году, когда команда выпустила модели для 20 языков. Тогда основным недостатком было отсутствие поддержки абхазо-адыгских и нахско-дагестанских языков, которые теперь включены в кавказскую модель. В тюркскую модель также вошли таджикский и калмыцкий языки, которые относятся к иранской и монгольской группам соответственно, но были добавлены из-за недостатка данных для создания отдельных моделей. Это решение подчёркивает прагматичный подход команды к максимизации охвата при ограниченных ресурсах. Интересно, что выбор языков осуществлялся исходя из двух предпосылок: банально из имеющихся данных и необходимости покрыть крупные языковые группы, которые не были покрыты. Как следствие, команда стремилась по максимуму использовать фонетическую похожесть родственных языков, что позволяет модели генерализировать между ними. Например, кавказская модель может синтезировать речь на адыгейском, кабардино-черкесском и других абхазо-адыгских языках, используя общие фонетические закономерности.
Для российского рынка это значимое событие, поскольку многие из этих языков являются государственными в республиках РФ и используются в образовании, СМИ и повседневном общении. Доступность качественного синтеза речи для этих языков может способствовать развитию локальных голосовых помощников, систем озвучивания текста и образовательных приложений. Однако эксперты отмечают, что отсутствие управления ударением может ограничить применение в некоторых сценариях, особенно для кавказских языков, где ударение может менять значение слова. Тем не менее, сообщество разработчиков уже активно тестирует модели, и Silero приглашает пользователей к обратной связи. Сравнивая с альтернативами, стоит отметить, что большинство коммерческих систем синтеза речи, таких как Google Cloud TTS или Amazon Polly, не поддерживают большинство этих языков, что делает решения Silero уникальными для российского контекста. Кроме того, модели распространяются бесплатно с открытым исходным кодом, что позволяет интегрировать их в любые проекты без лицензионных отчислений. Это особенно важно для некоммерческих инициатив и стартапов, ориентированных на национальные республики.
В планах команды — дальнейшее расширение языковой поддержки и улучшение качества синтеза. Разработчики признают, что не смогли найти качественные параллельные корпуса для всех языков, поэтому полагаются на сообщество для создания консистентных примеров. Они также упоминают о планах по внедрению управления ударением и другими просодическими характеристиками в будущих версиях. Пока же пользователи могут запускать модели через pip-пакет, torch.hub или напрямую из репозитория, а также экспериментировать с генерализацией между родственными языками, что открывает новые возможности для кросс-языковых приложений. Минимальный код запуска тюркской модели выглядит так: !pip install silero; from silero import silero_tts; model, example_text = silero_tts(language='ru', speaker='v5_turkic'); audio = model.apply_tts(text='Болар барысы да шул кадәр серле һәм акыл җитмәслек катлаулы.', speaker='tat_3'). Аналогично для кавказской: !pip install silero; from silero import silero_tts; model, example_text = silero_tts(language='ru', speaker='v5_caucasian'); audio = model.apply_tts(text='Зэи тхузэӏумыхын хуэдэу зэӏуаща щэхущ ахэр.', speaker='kbd_1'). При реальном запуске нужно установить PyTorch, выбрать частоту дискретизации и устройство, а также можно использовать SSML. Рекомендуется установить нужную версию torch по официальной инструкции до запуска моделей.
Открытые вопросы остаются: насколько хорошо модели справятся с редкими языками, где мало данных для обучения? Как сообщество отреагирует на отсутствие управления ударением? Возможно, будущие версии будут включать эту функцию, но пока пользователям приходится полагаться на автоматическое ударение. Тем не менее, Silero продолжает оставаться одним из немногих проектов, которые делают синтез речи доступным для малых языков России, и этот релиз — важный шаг в сохранении языкового разнообразия в цифровой среде. С учётом того, что модели доступны в открытом доступе, любой разработчик может интегрировать их в свои проекты, что может привести к появлению новых приложений для изучения языков, озвучивания книг и даже для создания голосовых ассистентов на национальных языках. Это открывает широкие перспективы для развития и популяризации этих языков среди молодого поколения, которое всё больше времени проводит в цифровой среде.