Простой рецепт по установке и использованию синтезатора речи Festival в Ubuntu:Устанавливаем festival и сопутствующие утилиты:
sudo apt-get install festival speech-tools
Cтавим пакет с голосом, которые занимает 186 Мб.
В репозитории universe Ubuntu 9.10 уже есть готовый пакет festvox-ru:sudo apt-get install festvox-ru
Если используется Ubuntu 9.04 в /etc/apt/sources.list добавляем:
deb http://ppa.launchpad.net/sergey-udaltsov/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/sergey-udaltsov/ppa/ubuntu jaunty mainСтавим:
sudo apt-get install festvox-ru
В остальных дистрибутива можно установить/распаковать deb-пакет с голосом из Ubuntu 9.10:
sudo wget http://ubuntu.mirrors.tds.net/ubuntu/pool/universe/f/festvox...
sudo dpkg --install festvox-ru_0.5-1_all.debПроверяем (русский текст воспринимается только в кодировке UTF-8):
festival
>(SayText "Hello!")
Активируем русский голос
>(voice_msu_ru_nsh_clunits)
Произносим русский текст:
>(SayText "Привет!")
>(exit)Читаем содержимое файла:
festival -b '(begin (voice_msu_ru_nsh_clunits) (tts_file "./file.txt"))'
Сохранить результат в файл:
text2wave -eval '(voice_msu_ru_nsh_clunits)' ./file.txt -o ./file.wav
Чтобы заработало:
cat file.txt | festival --tts --language russian
или
festival --tts --language russian file.txtНужно в файл /usr/share/festival/languages.scm перед строкой "(define (select_language language)" добавить (по аналогии с другими языками):
(define (language_russian)
"(language_russian)
Set up language parameters for Russian"
(set! male1 voice_msu_ru_nsh_clunits)
(male1)
(Parameter.set `Language `russian)
)В блок "(define (select_language language)" добавляем:
((equal? language `russian)
(language_russian))URL: http://festlang.berlios.de/docu/doku.php?id=russianru
Обсуждается: http://www.opennet.me/tips/info/2216.shtml
Автор, можешь выложить где-нибудь файлик с демонстрацией чтения произвольного текста? Хочу послушать, изменилось ли качество русского голоса.
В свое время перепробовал три системы синтеза русской речи - festival, espeak и ru_tts, качество произношения у фестиваля было хуже всех.
>качество произношения у фестиваля было хуже всех.А у кого было лучше всех?
все так же, отвратно, но в некоторых случаях лучше, чем ничего.
>Нужно в файл /usr/share/festival/languages.scmНа будущее:
В deb пакетах предусмотрен замечательный скрипт preinst, специально для того, чтобы пользователи не правили руками конфиги и т.д. , а изменения вносились автоматом.#!/bin/sh
#preinsttemp=`tempfile`
config="/usr/share/festival/languages.scm"cat $config | sed -e s/'(define (select_language language)'/' (define (language_russian) \n "(language_russian)\n Set up language paremetrs for Russian"\n (set! male1 voice_msu_ru_nsh_clunits)\n(male1)\n(Paremeter.set \`Language\` russian)\n)\n(select_language language)'/ > $temp
cat $temp > $config
Парсер над кавычками поиздевался.
Не нужно ничего писать - просто мейнтейнер festival "забыл" наложить
часть присланного ему патча. С festival >= 1.96~beta-10 должен
нормально работать ключ --language russian
Автор забыл добавить, что так же нужно прописать себя в группу audio(по умолчанию первый пользователь u9.10 в ней не состоит), иначе придёться запускать фестиваль от рута, что не оч. приятно.
Не надо ничего прописывать, итак работает.
У меня ругался на то, что нет доступа к /dev/dsp
А вообще, очень жутко работает, текст из файла не читает, ибо многие знаки он не понимает, и даже не начинает читать. Например даже простейшее, цифру "8.10" или "8,10" он не может прочитать, и вываливается с ошибкой.
Тогда о каком "чтении текста" вообще может быть речь?
Просто побаловаться лёгкими предложениями из коммандной строки, и снести эту недоделку к едрени-фени.
sed -r -e 's/[^а-я А-Я.,]//g' ./glava.txt | sed -r -e 's/[,]/\n/g' | sed -r -e 's/[.]/\n\n/g' > glava.test
festival -b '(begin (voice_msu_ru_nsh_clunits) (tts_file "glava.test" nil))'
У меня тоже ругается на доступ /dev/dsp
Как вылечить?
>У меня тоже ругается на доступ /dev/dsp
>Как вылечить?printf "; use ALSA\n(Parameter.set 'Audio_Method 'Audio_Command)\n(Parameter.set 'Audio_Command \"aplay -q -c 1 -t raw -f s16 -r \$SR \$FILE\")\n" > .festivalrc
Как прикрутить festvox ru к orca. Не могу найти информацию
При первом запуске орки из консоли оно предлагает выбрать енжину, в ней можно поставить фестиваль. Но сначала надо проверит читает ли фестиваль нормально сам по себе. На моём бубне оно тоже в закрытое устройство стучит.
Установка festival для Ubuntu 11.04: http://note.sectorit.net/os:linux:ubuntu:ubuntu-speak-text-t...
Можно послушать примеры использования.