9.5 Установка и тестирование Festival Text-to-Speech

Теперь, когда мы можем поговорить с нашим роботом, было бы хорошо, если бы он мог поговорить с нами. Преобразование текста в речь (TTS) осуществляется с использованием системы CMU Festival вместе с пакетом ROS sound_play, который, в свою очередь, является частью мета-пакета ros-indigo-audio-common. Если вы следовали этой главе с самого начала, вы уже установили необходимые пакеты. В противном случае, запустите команды сейчас. Вам будет предложено установить пакеты Festival, если у вас их еще нет - конечно, ответьте «Y»:

$ sudo apt-get install ros-indigo-audio-common 
$ sudo apt-get install libasound2

Пакет sound_play использует библиотеку CMU Festival TTS для генерации синтетической речи. Давайте проверим это голосом по умолчанию следующим образом. Сначала запустите основной узел sound_play:

$ rosrun sound_play soundplay_node.py

В другом терминале введите текст для преобразования в голос:

$ rosrun sound_play say.py "Greetings Humans. Take me to your leader."

Голос по умолчанию называется kal_diphone. Чтобы увидеть все английские голоса в настоящее время установлен в вашей системе:

$ ls /usr/share/festival/voices/english

Чтобы получить список всех основных доступных голосов фестиваля, выполните следующую команду:

$ sudo apt-cache search --names-only festvox-*

Чтобы установить голос festvox-don (например), выполните команду:

$ sudo apt-get install festvox-don

И чтобы проверить свой новый голос, добавьте имя голоса в конец командной строки следующим образом:

$ rosrun sound_play say.py "Welcome to the future" voice_don_diphone

На выбор не так много голосов, но можно установить несколько дополнительных голосов, как описано здесь и продемонстрировано здесь. Вот шаги, чтобы получить и использовать два из этих голосов, мужчина или женщина:

$ sudo apt-get install festlex-cmu
$ cd /usr/share/festival/voices/english/ 
$ sudo wget -c \http://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_clb_arctic\-0.95-release.tar.bz2 
$ sudo wget -c \http://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_bdl_arctic\-0.95-release.tar.bz2
$ sudo tar jxfv cmu_us_clb_arctic-0.95-release.tar.bz2 $ sudo tar jxfv cmu_us_bdl_arctic-0.95-release.tar.bz2 $ sudo rm cmu_us_clb_arctic-0.95-release.tar.bz2
$ sudo rm cmu_us_bdl_arctic-0.95-release.tar.bz2
$ sudo ln -s cmu_us_clb_arctic cmu_us_clb_arctic_clunits $ sudo ln -s cmu_us_bdl_arctic cmu_us_bdl_arctic_clunits

Вы можете проверить эти два голоса, как это:

$ rosrun sound_play say.py "I am speaking with a female C M U voice" \ voice_cmu_us_clb_arctic_clunits
$ rosrun sound_play say.py "I am speaking with a male C M U voice" \ voice_cmu_us_bdl_arctic_clunits

ПРИМЕЧАНИЕ. Если вы не слышите фразу с первой попытки, попробуйте еще раз выполнить команду. Также помните, что узел sound_play уже должен работать в другом терминале.

Вы также можете использовать sound_play для воспроизведения волновых файлов или нескольких встроенных звуков. Чтобы воспроизвести волновой файл R2D2 в каталоге rbx1_speech / sounds, используйте команду:

$ rosrun sound_play play.py `rospack find rbx1_speech`/sounds/R2D2a.wav

Обратите внимание, что сценарий play.py требует абсолютного пути к волновому файлу, поэтому мы использовали rospack find. Вы также можете просто ввести полное имя пути.

Чтобы услышать один из встроенных звуков, используйте сценарий playbuiltin.py вместе с число от 1 до 5. Убавьте громкость для этого!

$ rosrun sound_play playbuiltin.py 4

Last updated