Комментарии 37
Добрый день!
Спасибо за интересный обзор с примерами речи - сам хотел посмотреть некоторые модели, но руки не доходили.
Крайне рекомендую ознакомиться с VOSK-TTS, например версии 0.7 (более поздние более тяжелые, но тоже можно. Голос рекомендую номер 2)
Плюсы: очень быстрый синтез речи, включая CPU (работает на onnx), и хорошее качество. Вроде Apache лицензия.
Минусы: клона голоса нет, базовой обработки английского нет, нужно делать предобработку в коде
Если что, я его рекомендую в качестве базового оффлайн варианта для своего опенсорс голосового помощника Ирина - компактный и хорошо работает на разных системах.
Добрый день, спасибо большое за такой развернутый комментарий и за рекомендацию, обязательно рассмотрю ее!
Спасибо попробывал
VOSK я использую для противоположной задачи, STT, т.е. произносимую речь преобразовывать в текст. С английским работает на 4-ку с плюсом, русский на 3-ку, не понимает многих сложных слов (например слово "переустройство" разбивает на 2 слова не похожих по смыслу), и не не понимает пунктуацию, падежи слов путает, в общем пока пользы от него мало.
У VOSK есть два пакета, TTS менее известный - и имхо жаль.
Его стриминговый STT я использую уже давно в рамках своего опенсорс голосового помощника Ирина (1К Гитхаб).
Очень интересная статья!
Подскажи, с какой модели лучше начать знакомство с темой TTS? Возможно есть супер легкие не из этой подборки?
Спасибо!
Если нет возможности локально позапускать модели, то попробуй поработать с Silero, у них есть примеры в google colab, там сможешь попробовать различные модели от них
Silero в Google Colab и правда самая легкая - ничего не надо ставить, все работает в браузере, и сразу можно пощупать результат
Если хочется именно локально, то смотрите в сторону моделей, которые весят меньше гигабайта и не требуют GPU. Тот же VOSK, который посоветовали выше. Супер качества не даст, но для понимания процесса самое то
Рекомендую попробовать CosyVoice 3 - если судить по семплам, то была бы в топе данного обзора (хотя на мой взгляд, до ESpeech, которая лично мне больше всего понравилась из данного обзора, не дотягивает).
Статья огонь! За картинки отдельный лайк)
Очень интересная статья, спасибо:)
P.S. Для тех, у кого нет подходящего "железа" для генераций, неплохие варианты это TTS и STT через сервисы Сбера и Яндекса (у Сбера есть даже бесплатные лимиты, но с его сертификатом у меня были проблемы).
Тоже столкнулся с проблемой зависимостей PyTorch&pyannote&torchaudio и новой версии cuda sm_120 на RTX 50X0. Насколько я понял, некоторые библиотеки распознавания и генерации голоса еще не обновлены под новую архитектуру видеокарт.
Интересно было бы найти обходное решение без генерации на cpu.
Спасибо. Интересная статья. Прочитал с удовольствием.картинки зачётные.
Silero хорош за счет своей предобработки (расстановки ударений), но из-за этого теряется естественность интонации. А модели которые пытаются в end-to-end синтез (как XTTS), часто спотыкаются на омографах. Золотой середины пока нет
Не open source, просто метод получения интересных голосов с вашим текстом: в генераторе музыки SunoAI запрос на создание песни сделать с текстом внутри тэга [spoken audio], а в негативную часть внести [song, singing, music, instrumental, guitar, piano, violing etc.].
как своевременно и актуально )
я на НГ каникулах решил сделать программку по озвучке книг, остановился на Azure speech TTS - там всё хорошо, но ударения в тексте обозначить невозможно. Есть вариант представить текст в ssml разметке и использовать phoneme таг. Например чтоб в "берегу" ударение было на первое "е" слово меняется на
<phoneme alphabet="ipa" ph="ˈbʲerʲeɡu">берегу</phoneme> плюс не все книжки ё-фицированны, что добавляет еще и ё-омографы (берёт/берет например).
с двух-этапной обработкой (поиск омографов по словарю, послать предложение в LLM агента для определения правильной формы на основе контекста, трансформация исходного текста, посылка на озвучание) в принципе работает, но бесплатный лимит быстро выбирается, а платить 15-20 долларов за книжку получается накладно.
В итоге решил поставить TTS локально, на выходных буду пробывать, может мои танцы с омографами уже и не так актуальны...
Наборы голосовых данных [1], [2].
Fine-Tune an Audio Model in Any Language on Your Own Audio Files
Плюсую CosyVoice 3. Из локальных моделей - самый огонь.
На пьедестал встал бы Qwen3-TTS, если бы не две проблемы: 1. если ошибается в ударении, то это неисправимо (разрабы обещают пофиксить) и 2. на отрывках более пары минут сходит с ума. Думаю, это неисправимая фича модели, решается только разбиваниям текста на чанки.
Спасибо за упоминание нашего синтеза в вашей статье!
Тут есть одна нестыковочка только:
Это аудио длительностью примерно 10–15 секунд.
Silero (v5_ru)
Latency (CPU), сек
2.62
То есть если я верно понял, 10-15 секунд аудио у вас синтезируется около 2+ секунд на CPU. Скорее всего это первый запуск модели. В реальности синтез такой фразы должен занимать где-то 100ms после прогрева модели. Обратите внимание, что также нужно выставить оптимальное количество потоков CPU - 4 штуки.
Также обращаю внимание на пару вещей ещё:
Решалка ударений с омографами - https://habr.com/ru/articles/955130/
Синтез на 20 языках России - https://habr.com/ru/articles/968988/
Спасибо!
Большое спасибо за важную статью. Я давно хотел сравнить разные локальные TTS нейронки. Чтобы учебники и всякие познавательные книжки озвучивать. Очень уж мало такой литературы в аудио-версии есть. Там не должно быть таких высоких требований к артистичности начитки, как в развлекательной литературе. И вот такого обзора лучших моделей очень не хватало. Большое вам спасибо!
Надеюсь, будет подобный обзор, раз в пару лет. Чтобы люди знали о лучших моделях.
Спасибо, попробывал tts ESpeech, в общем если посидеть и подобрать seed, то выходит натурально. Но у меня карта AMD из за этого обаботка переключается на cpu и занимает чуть меньше 2х минут за 5 секунд.
Коротко — практичный список TTS-моделей (от open-source):
🔥 Silero TTS — быстро на CPU, звучит нормально.
🚀 ESpeech-TTS — классный баланс качества и скорости.
💥 F5-TTS (дообученный) — самый выразительный голос (GPU-оптимизация).
🌐 QwenTTS — много языков, но русская интонация так-сяк.
😬 HiggsAudio — слабее на русском.
Суть:
Silero/ESpeech — твой базовый выбор.
F5-TTS — если нужен крутой голос.
Остальное — допопции.
какое то всё, жирное. Ну или я не заметил легкие быстрые модели
которые можно было бы на малине развернуть.
А для Английского какая модель лучше ?
Есть не новая штука: TTS через Microsoft Edge. Есть несколько реализаций. Например: https://github.com/hinaichigo-fox/rus-edge-tts-webui
Выглядит так, как будто работает локально, но места занимает всего 450МБ и при работе создает сетевой трафик, а не грузит процессор. Похоже, что у microsoft торчит наружу api, которым научились пользоваться. Аккаунтов вводить не нужно, лимитов не видно, Русским владеет прекрасно.
Спасибо за обзор! Пара моментов.
1. Насчет ESpeech-TTS-1_RL-V2.
Там:
pip install f5-tts gradio ruaccent transformers torch torchaudio huggingface_hubПо-видимому база у них f5-tts, который также есть в обзоре. И звучат они похоже (и оба довольно качественно).
2. Насчет XTTS-v2.
Без малого пару лет назад тестировал эту библиотеку. Ниже список встроенных голосов, которые более-менее нормально работали с русским (остальные совсем плохо были, акцентили):
ZOFIJA_KENDRICK, TANJA_ADELINA, TAMMIE_EMA, SZOFI_GRANGER, NOVA_HOGARTH, NARELLE_MOON, MAJA_RUOHO, LIDIYA_SZEKERES, GRACIE_WISE, GITTA_NIKOLINA, CHANDRA_MACFARLAND, BRENDA_STERN, BARBORA_MACLEAN, SUAD_QASIM = (
"zofija_kendrick", "tanja_adelina", "tammie_ema", "szofi_granger", "nova_hogarth", "narelle_moon", "maja_ruoho",
"lidiya_szekeres", "gracie_wise", "gitta_nikolina", "chandra_macfarland", "brenda_stern", "barbora_maclean",
"suad_qasim"
)
ADDE_MICHAL, DAMJAN_CHAPMAN, DIONISIO_SCHUYLER, ABRAHAN_MACK, VIKTOR_MENELAOS, ROYSTON_MIN, LUIS_MORAY, FERRAN_SIMEN, EUGENIO_MATARACI = (
"adde_michal", "damjan_chapman", "dionisio_schuyler", "abrahan_mack", "viktor_menelaos", "royston_min",
"luis_moray", "ferran_simen", "eugenio_mataraci"
)Не все эти голоса хорошо произносят русский, часто уходят в акцент, но слушать в целом можно.
И надо заметить - XTTS-v2 сильно прожорливый, очень тяжелый. Большие тексты надо пилить на чанки, иначе будет проглатывать часть текста, либо вообще уходить в астрал, но это особенность архитектуры. В целом получалось озвучивать тексты размером с небольшую статью (2000-2500 символов, но точно не помню уже), хоть сама библиотека и ругалась и просила меньшие чанки.
П.С. отдельное спасибо за примеры синтеза, но к сожалению какая-то часть читателей из РФ не сможет их прослушать, т.к. soundcloud.com заблокирован в России.
Интересный обзор, спасибо. Но не ожидал увидеть такие тайминги. Мне кажется с такими задержками общаться с такой говорилкой будет некомфортно. Причем это относится ко всем моделям кроме одной.
Информация
- Сайт
- raftds.ru
- Дата регистрации
- Дата основания
- Численность
- 101–200 человек
- Местоположение
- Россия
- Представитель
- Евгений Кокуйкин
Обзор Open Source моделей для задачи TTS