Сегодня мы решили открыть исходный код Navoiy TTS. За основу взяли CosyVoice2-0.5B, поместили на GPU и «приготовили» с достаточным количеством узбекских аудиоингредиентов. В результате получилась модель синтеза речи, которая хорошо говорит по-узбекски.
Модель превращает узбекский текст в нейтральную или выразительную речь. В неё также входит утилита нормализации, которая подготавливает числа, даты, время, апострофы и узбекский кириллический текст к синтезу.
Ничто не идеально, и у этой модели есть свои ограничения. Всё зависит от ингредиентов — данных. Чем больше качественных ингредиентов, тем лучше результат.
Почему мы открыли модель для всех?
Повседневная речь состоит не только из простых слов. Поэтому модель обучалась:
- правильно читать числа, даты и время;
- верно произносить имена и названия мест;
- понимать латиницу и кириллицу;
- говорить с естественными паузами;
- поддерживать разные стили речи;
- произносить русские и английские слова внутри предложения.
Мы также постарались учесть другие ситуации, с которыми вы можете столкнуться, и решить связанные с ними сложные задачи.
Самый простой способ поблагодарить нас — рассказать о проекте друзьям. Мы будем рады, если модель пригодится в вашем проекте.
Нам приятно видеть, как вы используете наши модели. Спасибо, что пользуетесь нашими моделями распознавания и синтеза речи.
Как пользоваться?
Следуйте этим шагам, чтобы установить, настроить и запустить модель. Чекпойнт не работает самостоятельно: также нужны исходный код CosyVoice и базовая модель CosyVoice2-0.5B.
1. Сначала установите CosyVoice
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
git checkout 074ca6dc9e80a2f424f1f74b48bdd7d3fea531cc
git submodule update --init --recursive
pip install -r requirements.txt
cd ..2. Скачайте Navoiy TTS
git clone https://huggingface.co/aisha-org/navoiy-tts
pip install -r navoiy-tts/requirements.txtСкачайте базовую модель CosyVoice2-0.5B в ревизии, указанной в карточке модели.
3. Создайте речь
python navoiy-tts/inference.py \
--cosyvoice-dir CosyVoice \
--base-model-dir CosyVoice/pretrained_models/CosyVoice2-0.5B \
--checkpoint navoiy-tts/emotion_600h_joint.pt \
--reference reference.wav \
--text "Bugun siz bilan muhim bir xabarni baham ko'rmoqchiman." \
--emotion warm \
--output output.wavСкрипту нужны вычисления CUDA; он создаёт аудио с частотой 24 кГц. Используйте --list-emotions, чтобы увидеть все доступные эмоции.
Эмоции
Модель поддерживает эмоции calm, happy, sad, angry, nervous, surprised, whisper, warm, tired и sarcastic.
Эти настройки не гарантируют определённый результат. Итоговый голос зависит от текста, референсного аудио, чекпойнта и начального значения генератора случайных чисел. Рекомендуем проверить систему на своих текстах до использования в продакшене.
Нормализация
Числа и даты могут быть сложны для произношения моделью синтеза речи. Navoiy TTS также предоставляет модуль нормализации:
from uztts.normalize import normalize
print(normalize('Bugun 16.07.2026, soat 14:30 da uchrashamiz.'))Он переводит кириллицу в латиницу, приводит апострофы к единому виду и нормализует распространённые числа, даты, время, порядковые числительные и другие случаи.
Ограничения
Модель может неверно произносить имена, заимствования, сокращения и необычные числа. Она также может повторять, пропускать или менять слова. Мы ещё не полностью оценили диалекты и многоязычные тексты.
Перед клонированием голоса получите явное согласие его владельца. Не используйте модель для выдачи себя за другого человека, обмана, мошенничества, преследования или обхода голосовой аутентификации. Указывайте, что голос синтетический, если слушатели иначе могут принять его за голос реального человека.
Заключение
Navoiy TTS не обещает идеального результата для каждого предложения. Это открытая основа, которую разработчики и исследователи могут тестировать, улучшать и использовать для создания новых продуктов.
Изучите модель на Hugging Face, послушайте демонстрации и поделитесь опытом.
