Конфиг прописывается после запуска команды mycroft-config edit user
.
Подробные инструкции по настройке и ссылки на сайты можно найти в документации Mycroft по TTS.
Название | Русский | Лицензия | Пример |
---|---|---|---|
eSpeak | 💔 плохо | ✅ GPL v3 | |
eSpeak NG | ? | ✅ GPL v3 | |
Coqui TTS | ? | ✅ MPL v2 | |
FA TTS | ? | ✅ LGPL v3 | |
MaryTTS | нет? | ✅ LGPL v3 | |
Mimic 1 | ? | ✅ BSD-like | |
Mimic 2 | ? | ✅ Apache v2 | |
Mozilla TTS | ? | ✅ MPL v2 | |
RHVoice | ✅ да | ✅ LGPL v2.1 | SoundCloud |
Silero | ✅ да | ✅ AGPL v3 | SoundCloud |
SOVA | ✅ да | ✅ Apache v2 | |
SpdSay | ✅ да | ✅ GPL v2 |
Название | Русский | Стоимость | Пример |
---|---|---|---|
Amazon Polly | ✅ да | 💰 платно: 0,4-1,6 ¢ (0,29—1,15 ₽) за 1000 символов | |
Google TTS | ✅ да | ✅ бесплатно | |
IBM Watson | ❌ нет | 💰 платно: 2,14 ¢ (1,53 ₽) за 1000 символов | |
Microsoft Azure | ? | ? | |
Microsoft Bing | ? | ? | |
Responsive Voice | ✅ да | ? | |
VK Cloud | ✅ да | 💰 платно: 1 ₽ за 1000 символов | SoundCloud |
Yandex Cloud | ✅ да | 💰 платно: 0,18—1,2 ₽ за 1000 символов | SoundCloud |
- Самая быстрая настройка: Google TTS, голос Гугл-переводчика.
- Самый качественный голос в облаке: Yandex Cloud с голосами Филипп (
filipp
) или Алёна (alena
). - Самая лучшая локальная генерация: RHVoice
Поддержка русского формально заявлена, но на практике очень сложно понимать речь.
Даже замена файла словаря (ru_dict
) на улучшенную версию практически не улучгает ситуацию.
Плюсы:
- Локальная работа
- Быстрый ответ
- Нет проблем с установкой, независимо от платформы
- Неплохое качество голосов
Минусы:
- Большой репозиторий с кодом и долгая установка из исходников
- Озвучка числительных только как количественных, но не как порядковых
Установка:
- см. также инструкцию в репозитории RHVoice
sudo apt-get install scons libspeechd-dev
git clone --recurse-submodules https://github.com/RHVoice/RHVoice.git ~/RHVoice
cd ~/RHVoice
scons
sudo scons install
sudo ldconfig
mycroft-pip install mycroft-plugin-rhvoice
Базовый конфиг будет выглядеть так, подробный см. в репозитории плагина:
{
"lang": "ru-ru",
"tts": {
"module": "rhvoice"
}
}
Модели для русского языка:
aleksandr
— мужской голос (пример)aleksandr-hq
— мужской голос (пример)anna
— женский голос (пример)elena
— женский голос (пример)irina
— женский голос (пример)
Актуальный список см. на сайте RHVoice.
Модели на Pytorch для генерации голоса.
Проблемы:
- Нужен Pytorch 1.10+, его сложно собрать под многие платформы (для RPi 4 есть инструкция).
- Долгая генерация, на RPi 4 выходит 10-15 секунд для одной фразы для v2, возможно в v3 всё значительно лучше.
- Не умеет читать знак минуса
-
и числа, нужна дополнительная конвертация в текст (пример).
Установка:
- идёт работа над плагином
Конфиг будет выглядеть примерно вот так:
{
"lang": "ru-ru",
"tts": {
"module": "silero",
"silero": {
"lang": "ru",
"model": "v3_1_ru",
"voice": "eugene",
"rate": 8000
}
}
}
Голоса для русского языка:
aidar
— мужской голос (пример)baya
— женский голос (пример)kseniya
— женский голос (пример)xenia
— женский голос (пример)eugene
— мужской голос (пример)
Актуальный список см. в репозитории Silero.
Высокоуровневая обёртка для генерации голоса. Для линукса использует eSpeak NG.
Проблемы:
- Не может сказать две фразы подряд (например, текущую погоду, а потом прогноз), проглатывает первую и озвучивает только вторую.
- Не умеет читать знак минуса
-
, считая его служебным и заглатывая после него ещё и число.
Установка:
sudo apt-get install speech-dispatcher
Конфиг будет выглядеть примерно вот так:
{
"lang": "ru-ru",
"stt": {
"module": "spdsay",
"spdsay": {
"lang": "ru",
"voice": "child_male"
}
}
}
Возможные голоса: male1
, male2
, male3
, female1
, female2
, female3
, child_male
, child_female
. К сожалению, другие параметры, доступные в самом SpdSay (rate, pitch, pitch-range), через настройки задать невозможно.
Неплохой и достаточно быстрый в настройке способ. Требует постоянного подключения к интернету, а также наличия аккаунта в облаке VK. При регистрации даётся 100 рублей (можно получить до 3000 на два месяца для тестирования), дальше требует оплаты.
Плюсы:
- Можно задать скорость речи (0,75-1,75), рекомендую указывать что-то в диапазоне 1-1,2 (пример для 1.15)
Проблемы:
- Только один голос (вроде бы тот же, что у Маруси)
- Достаточно большие задержки при генерации
Установка:
mycroft-pip install mycroft-plugin-vk-cloud
Конфиг будет выглядеть примерно вот так:
{
"lang": "ru-ru",
"tts": {
"module": "vk",
"yandex": {
"service_token": "YOUR_SERVICE_TOKEN",
"tempo": 1.1
}
}
}
См. также VK Cloud STT.
Качественный и достаточно быстрый в настройке способ. Требует постоянного подключения к интернету, а также наличия аккаунта в облаке Яндекса. Первый месяц бесплатно, после этого требует оплаты.
Есть премиальные и обычные голоса. Премиальные намного качественнее, но и дороже примерно в 10 раз. Их два:
Обычных голосов больше, но многие из них звучат не очень приятно. Субъективно лучшие варианты:
- Ермил (
ermil
) — мужской голос (пример) - Элис (
alyss
) — женский голос (пример) - Оксана (
oksana
) — женский голос (пример)
Ссылки:
В случае использования Яндекса голоса Филиппа итоговый вариант конфига будет выглядеть примерно вот так:
{
"lang": "ru-ru",
"tts": {
"module": "yandex",
"yandex": {
"lang": "ru-RU",
"api_key": "YOUR_API_KEY",
"voice": "filipp",
"emotion": "good"
}
}
}
См. также Yandex SpeechKit STT.