В процессе разработки приложений для Raspberry Pi иногда возникает потребность использования речевых синтезаторов, которые преобразуют текстовую информацию в речевую. В этой статье рассмотрим самые популярные речевые синтезаторы для Raspberry Pi
Festival TTS
Один из самых популярных речевых синтезаторов. К плюсам стоит отнести бесплатность и поддержку русского языка. К минусам - не очень качественный синтез речи.
Установка: sudo apt-get install festival
Пример использования: echo "This is a sample text" | festival --tts
ESpeak TTS
Установка: sudo apt-get install espeak
Пример использования:espeak -ven+f1 -k5 -s200 "This is a sample text"
Качество синтеза речи посредственное, но доступно много полезных настроек, например
-s - скорость речи, количество слов в минуту,
-g - длительность паузы между словами в милисекундах
-v[код языка][высота тональности и тип голоса - мужской женский], пример -ven+f1 : англоязычный женский голос, тональность +1
-k - выделение слов, начинающихся с заглавной буквы.
В ESpeak TTS реализована поддержка языка разметки синтеза речи https://ru.wikipedia.org/wiki/Speech_Synthesis_Markup_Language
Можно также использовать речевой синтезатор, встроенный в Google Translate. Качество синтеза хорошее, нотребуется подключение к интернету.
Пример скрипта g_speak.sh для использования Google Translate в качестве речевого синтезатора в вашем проекте :
#!/bin/bash
say() {
local IFS=+;/usr/bin/mplayer -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=$*&tl=ru";
}
say $*
Запускаем скрипт: ./g_speak.sh Текст, который нужно сказать
Pico TTS
Один из лучших синтезаторов речи для Raspberry Pi, который также используется в ОС Android
Установка: sudo apt-get install libttspico-utils
Пример использования: pico2wave -w sample.wav "This is a sample text" && aplay sample.wav
Примеры проектов, в которых использованы речевые синтезаторы:
http://raspberrypi.ru/blog/153.html
Комментариев: 4
mshock
23.04.2018 в 15:53 ответСпасибо! Полезная статья.
andrey37
14.05.2018 в 22:32 ответНе хватает yandex: http://tts.voicetech.yandex.net/generate?text='text'&format=wav&lang=ru-RU&speaker='speaker'&emotion='emotion'&key='key' speaker - женские голоса "jane", "oksana", "alyss" и "omazh", мужские голоса "zahar" и "ermil", "robot" emotions - "evil" (злой), "good" (доброжелательный), "neutral" (нейтральный) key-'ваш ключ' на выходе wav примерно так: import urllib2 url = "http://tts.voicetech.yandex.net/generate?text='text'&format=wav&lang=ru-RU&speaker='speaker'&emotion='emotion'&key='key'" wavfile = urllib2.urlopen(url) output = open('frase.wav','wb') output.write(files.read()) output.close()
fort
22.10.2018 в 13:36 ответRH-Voice - https://github.com/Olga-Yakovleva/RHVoice echo 'Привет, Андрей' | RHVoice-test -p anna
Devtoid
11.11.2019 в 16:27 ответПо RH-Voice есть готовый Docker контейнер - https://github.com/mgarmash/rhvoice-rest