Festival (Русский)
Эта страница нуждается в сопроводителе
Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki
Festival - это многоязычная система синтеза речи, разработанная CSTR (Centre for Speech Technology Research ).
Contents
- 1 Установка
- 2 Настройка
- 2.1 Использование со звуковым сервером
- 2.2 Голоса
- 2.3 Установка голоса по умолчанию
- 2.3.1 Ручная установка голосов
- 2.4 Поддержка русского языка
- 3 Использование
- 3.1 Интерактивный режим (тестирование голосов и пр.)
- 3.2 Чтение текстового файла
- 3.3 Чтение текстового файла и сохранение в wav
- 3.4 Пример скрипта для festival
- 4 Решение проблем
- 4.1 Cannot open /dev/dsp
- 4.2 Alsa playing @ wrong speed
- 5 Смотрите также
Установка
Установите festival из официальных репозиториев . Кроме того, необходимо установить один или несколько голосовых пакетов festival-english , festival-us . Также для Festival доступны и другие голоса; некоторые из них вы можете найти в AUR .
Для проверки выполните команду:
$ echo "This is an example. Arch is the best." | festival --tts
Если вы слышите то, что написано в примере, вы успешно установили TTS-систему. Если вы ничего не слышите, слышите какой-то странный звук или только начало предложения, смотрите раздел #Решение проблем .
Настройка
Основной конфигурационный файл расположен в /etc, но рекомендуется создать пользовательский файл ~/.festivalrc, или редактировать непосредственно /usr/share/festival/festival.scm.
Использование со звуковым сервером
Для PulseAudio, добавить эти строки в конец файла ~/.festivalrc или /usr/share/festival/festival.scm:
(Parameter.set 'Audio_Required_Format 'aiff)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")
Для ALSA, использовать эти строки вместо (source ):
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
Голоса
Чтобы узнать, какие голоса в настоящее время установлены и какой из них используется по умолчанию, перейдите в оболочку фестиваля (представляющую схему REPL):
$ festival
Festival Speech Synthesis System 2.1:release November 2010
Copyright (C) University of Edinburgh, 1996-2010. All rights reserved.
clunits: Copyright (C) University of Edinburgh and CMU 1997-2010
clustergen_engine: Copyright (C) CMU 2005-2010
hts_engine:
The HMM-based speech synthesis system (HTS)
hts_engine API version 1.04 (http://hts-engine.sourceforge.net/ )
Copyright (C) 2001-2010 Nagoya Institute of Technology
2001-2008 Tokyo Institute of Technology
All rights reserved.
For details type `(festival_warranty)'
festival> voice_default
voice_cmu_us_slt_arctic_hts ;;<-- THIS IS THE VOICE FESTIVAL SPEAKS WITH
festival> default-voice-priority-list
(kal_diphone ;;<-- THIS IS THE HARD-CODED LIST OF VOICES FESTIVAL CAME PRE-AWARE OF
cmu_us_bdl_arctic_hts
cmu_us_jmk_arctic_hts
cmu_us_slt_arctic_hts
cmu_us_awb_arctic_hts
ked_diphone
don_diphone
rab_diphone
en1_mbrola
us1_mbrola
us2_mbrola
us3_mbrola
gsw_diphone
el_diphone)
festival> (voice_ ;;<-- PRESS TAB HERE TO SEE WHAT VOICES FESTIVAL HAS AVAILABLE
voice_cmu_us_slt_arctic_hts voice_kal_diphone voice_nitech_us_slt_arctic_hts voice_reset
voice_default voice_nitech_us_clb_arctic_hts voice_rab_diphone
festival> (voice_cmu_us_slt_arctic_hts)
cmu_us_slt_arctic_hts
festival> (SayText "Arch makes me happy")
#<Utterance 0x7fb5b8c423b0>
festival>
Установка голоса по умолчанию
Чтобы установить голос по умолчанию, добавьте следующую строку в конец вашего ~/.festivalrc
(set! voice_default voice_msu_ru_nsh_clunits)
You cannot set the voice with festival.scm; to set voices globally, set order of searched voices in /usr/share/festival/voices.scm.
Ручная установка голосов
Вы также можете получить голоса прямо из festvox.org . Файлы для загрузки различных голосов имеют вид "festvox_*.tgz". Чтобы их задействовать, необходимо распакованный архив переместить в каталог, содержащий голос. На данный момент для Arch подходящей директорией является /usr/share/festival/voices/ с соответствующей подкаталогом для голоса из 'festvox'.
Поддержка русского языка
В файл /usr/share/festival/languages.scm дописать вначале:
(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))
Для проверки выполните команду:
$ echo "Арч самый лучший. Я гарантирую!" | festival --tts --language russian
Использование
Интерактивный режим (тестирование голосов и пр.)
festival имеет командную строку, которая вы можете использовать для тестов. Несколько примеров (с примерами выводов)
$ festival
[...]
festival>
Список доступных голосов:
festival> (voice.list)
(cstr_us_awb_arctic_multisyn kal_diphone don_diphone)
Установить голос:
festival> (voice_cstr_us_awb_arctic_multisyn)
#<voice 0x1545b90>
Произнести:
festival> (SayText '"test this is a test oh no a test bla test")
inserting pause after: t.
Inserting pause
[...]
id _63 ; name t ;
id _65 ; name # ;
#<Utterance 0x7f7c0c144810>
Помощь:
festival> help
"The Festival Speech Synthesizer System: Help
Выход - ctrl+d или набрать:
festival> (quit)
Чтение текстового файла
festival --tts /path/to/letter.txt
Чтение текстового файла и сохранение в wav
cat letter.txt | text2wave -o letter.wav
Пример скрипта для festival
Одним из классических приложений, для которых удобно использовать festival, является ping. Используйте этот скрипт при пинге хоста, который будет возвращать успешный или неудачный результат:
#!/bin/bash
while [ 1 = 1 ]; do
ping -c $1 && (echo "Ping" | festival --tts) || (echo "Fail" | festival --tts)
done
Заметьте, что синтезатор речи работает не в реальном времени, т.к. ему нужно некоторое время перед воспроизведением.
Решение проблем
Cannot open /dev/dsp
Если festival возвращает следующую ошибку:
Linux: cannot open /dev/dsp
В зависимости от установленной аудиосистемы (можно проверить, набрав aplay или paplay в терминале), добавьте эти строки в ваш .festivalrc, или в usr/share/festival/festival.scm (source , source ):
Для ALSA:
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
Для PulseAudio:
(Parameter.set 'Audio_Command "paplay $FILE")
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Required_Format 'snd)
Alsa playing @ wrong speed
Если решение выше даёт скрипучий (писклявый) голос, можно попробовать следующее:
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -Dplug:default -f S16_LE -r $SR $FILE")
Смотрите также
Банк скриптов для голосового движка Festival
Учим компьютер говорить по-русски / Festival скрипты
Говорящий пингвин. Учим Linux говорить и слушать
C ategories:
- Accessibility (Русский)
- Multimedia (Русский)
- Русскийhttps://wiki.archlinux.org/index.php/Festival_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
=====================
- =====================
- Установка festival и festvox-ru, исправление багов.
Пакеты festival и festvox-ru лежат в стандартных репозиториях UBUNTU Karmic и Lucid. Ставим:
Код: [Выделить]
sudo apt-get install festival festvox-ru
Если у вас более ранний дистрибутив, то festvox-ru можно взять здесь (распаковать в /usr/share/festival/voices/russian/msu_ru_nsh_clunits)
Теперь исправим пару багов:
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
На этом подготовка завершена. Приступим непосредственно к написанию скриптов.
Стоп, чуть не забыл. Чтобы не было лишних вопросов, заранее предупрежу (или напомню), скриптам нужно давать право на исполнение.
Код: [Выделить]
chmod +x script.sh
Теперь приступим.
Будильник
Создаем скрипт в домашнем каталоге
Код: [Выделить]
gedit alarm.sh
(Нажмите, чтобы показать/скрыть)
Пришлось нарушить правила русского языка ради более-менее нормального звочания festival
Чтобы поставить будильник, вводим в терминале команду "crontab -e".
Должен запускаться консольный текстовый редактор. Но в первый раз система спрашивает, какой именно редактор вам больше по душе: ed, nano или vim.tiny. Если не знаете, выбирайте nano (нужно нажать "2").
В редакторе прописываем нужные параметры:
Код: [Выделить]
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/bash
# m h dom mon dow command
0 7 * * 1-5 ./alarm.sh
0 10 * * 6-7 ./alarm.sh
Указываем нужное время, у меня в будние дни будильник срабатывает в 7:00, а в выходные в 10:00.
Сохраняем (Ctrl+O), сохраняем как будет предложено. И выходим из редактора (Ctrl+X).
Если манипуляции в терминале оказались (или показались) сложными, то можно запланировать время работы будильника, воспользовавшись gui для cron - gnome-schedule.
При срабатывании будильника сначала включается плеер, какое-то время играет музыка, потом громкость снижается, и электронный голос приветствует и сообщает нам инфу по сегодняшнему дню, время, день, температура за окном. Затем снова играет плеер.
Озвучка открытия/закрытия крышки ноутбука
Открываем для редактирования файл /etc/acpi/lid.sh, для этого набираем в терминале:
Код: [Выделить]
sudo gedit /etc/acpi/lid.sh
Добавляем в этот файл перед строкой
Код: [Выделить]
test -f /usr/share/acpi-support/state-funcs || exit 0
следующий текст:
Код: [Выделить]
grep -q closed /proc/acpi/button/lid/LID/state
if [ $? = 0 ]
then
echo "Зачем вы меня закрыли?" | festival --tts --language russian;
else
echo "Привет!" | festival --tts --language russian;
fi
Ну или можно вписать стандартные фразы типа "открыто/закрыто".
Соответственно что напишете, то и будет говорить ноутбук при открытии/закрытии крышки.
Проверка почты gmail
Создаем скрипт в домашнем каталоге
Код: [Выделить]
gedit gmail
(Нажмите, чтобы показать/скрыть)
Вместо login:password соответственно вставляем свои логин и пароль. Скрипт также работает для почты @xakep.ru
И снова используем cron, чтобы запланировать автоматическую проверку. Вводим в терминале команду "crontab -e". И прописываем нужные параметры. В моем случае это:
Код: [Выделить]
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/bash
# m h dom mon dow command
*/15 17-23 * * 1-5 bash gmail
*/15 10-23 * * 6-7 bash gmail
Чтение всплывающих уведомлений
Нам необходимо создать два скрипта, один из которых мы потом добавим в автоматически-запускаемые приложения в GNOME.
Итак, скрипт первый (speech.sh):
(Нажмите, чтобы показать/скрыть)
Суть этого скрипта на bash заключается в следующем. Он принимает со стандартного ввода данные, полученные из второго скрипта и затем парсит их. Затем формирует сообщение и отправляет его в festival для синтеза речевого сообщения. Данные для этого скрипта предоставляет второй скрипт (run_speech.sh), который очень короткий и выглядит так:
Код: [Выделить]
#!/bin/bash
dbus-monitor "interface='org.freedesktop.Notifications', member='Notify'" | $1
Что делает этот скрипт. Он в качестве параметра принимает название первого скрипта (путь до него должен быть полный) и вызывает утилиту dbus-monitor, которая позволяет увидеть, что передается по шине dbus непосредственно для всплывающих уведомлений. Вывод от dbus-monitor мы передаем на вход нашему первому скрипту.
Далее, добавляем в запускаемые приложения GNOME новую команду (у меня выглядит так):
Код: [Выделить]
/home/user/run_speech.sh /home/user/speech.sh
Перезапускаем GNOME и смотрим что получилось. Для проверки можно сделать следующее:
Код: [Выделить]
notify-send "Привет" "Я твое новое голосовое сообщение"
Однако, наверняка среди установленных на вашем компьютере приложений найдется программа, всплывающие сообщения которой вы не захотите, чтобы festival озвучивал. В таком случае эту программу можно добавить, так скажем, в "исключения", например, как я это сделал с rhythmbox:
(Нажмите, чтобы показать/скрыть)
Озвучка обрыва ppp0 в коньках/by goldskif & ratte
Прописываем в коньках (~/.conkyrc):
Код: [Выделить]
${if_empty ${exec /home/user/eth.sh}} $endif
В папке пользователя создаем файл eth.sh:
Код: [Выделить]
#!/bin/sh
LOCKFILE="/tmp/$VAR.lock"
VAR=`sudo ifconfig $1| grep "ppp0"`;
if [ "$VAR" = '' ] ; then
if (! test -f ${LOCKFILE}) then
touch ${LOCKFILE}
echo "человек. обрати внимание, связь потеряна, я нервничаю." | festival --tts --language russian
fi
else
if (test -f ${LOCKFILE}) then
rm ${LOCKFILE}
echo "человек. мы он лайн." | festival --tts --language russian
fi
fi
Озвучка подключения/отключения USB-устройств
(В Ubuntu 10.10 возможно работать не будет)
Снова два скрипта.
Первый - /etc/udev/rules.d/62-festival.rules
Код: [Выделить]
SUBSYSTEMS=="usb", RUN+="/usr/bin/boltalka.sh %k"
SUBSYSTEMS=="block", RUN+="/usr/bin/boltalka.sh %b"
Второй - /usr/bin/boltalka.sh
(Нажмите, чтобы показать/скрыть)
Чтобы говорил по-русски, можно сделать, например, так:
(наименование устройства озвучиваться не будет)
(Нажмите, чтобы показать/скрыть)
Благодарности: goldskif , ratte , OMUT , enfernal , bsod , КирIk , Rasskazow
habrahabr.ru , ru.festivalspeaker.wikia.com , ubuntuforums.org , welinux.ru
« Последнее редактирование: 12 Январь 2013, 17:31:23 от -grin- »
ratte
- Активист
-
-
- Сообщений: 461
- http://selisiltra.ho.ua/
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #1 : 24 Апрель 2010, 14:58:30 »
привет. у меня вопросы появились по поводу озвучки нотификаций- notify-send команда не найдена.
правда у меня Debian Squeeze, но сути не меняет.
можно ссылку на источник?
-=gr!n=-
- Автор темы
- Любитель
-
-
- Сообщений: 54
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #2 : 24 Апрель 2010, 17:51:46 »
Ц итата: ratte от 24 Апрель 2010, 14:58:30
привет. у меня вопросы появились по поводу озвучки нотификаций- notify-send команда не найдена.
правда у меня Debian Squeeze, но сути не меняет.
можно ссылку на источник?
Конечно, вот
jcrush
- Активист
-
- Сообщений: 678
- Khabara.Ru
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #3 : 24 Апрель 2010, 18:11:24 »
а распознавателя речи в линухе нету? в текст имеется ввиду.
Ubuntu Mate Stfw.Ru — SEO блог ...
ratte
- Активист
-
-
- Сообщений: 461
- http://selisiltra.ho.ua/
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #4 : 24 Апрель 2010, 18:50:52 »
Ц итата: jcrush от 24 Апрель 2010, 18:11:24
а распознавателя речи в линухе нету? в текст имеется ввиду.
есть: sphinx и julius , но, как я понял, они далеки от совершенства
tolik-blik
- Новичок
-
-
- Сообщений: 27
- Ubuntu 10.04
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #5 : 25 Апрель 2010, 21:42:12 »
А у меня время не говорит первый скрипт :-(
ratte
- Активист
-
-
- Сообщений: 461
- http://selisiltra.ho.ua/
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #6 : 25 Апрель 2010, 22:25:06 »
Ц итата: tolik-blik от 25 Апрель 2010, 21:42:12
А у меня время не говорит первый скрипт :-(
а всё остальное говорит?
Цитата: ratte от 24 Апрель 2010, 14:58:30
привет. у меня вопросы появились по поводу озвучки нотификаций- notify-send команда не найдена.
правда у меня Debian Squeeze, но сути не меняет.
можно ссылку на источник?
вернулся на Ubuntu (9.10) и новая заноза- если в терминале написать notify-send то работает, а все сообщения системы судя по всему идут в другом виде, ибо не озвучиваются
-=gr!n=-
- Автор темы
- Любитель
-
-
- Сообщений: 54
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #7 : 25 Апрель 2010, 22:37:04 »
Ц итата: tolik-blik от 25 Апрель 2010, 21:42:12
А у меня время не говорит первый скрипт :-(
Попробуй запустить такой командой:
Код: [Выделить]
bash alarm 2> alarm.log
И смотри ошибки в файле alarm.log
Если будет пустой, то так:
Код: [Выделить]
bash alarm &> alarm.log
Должно навести на мысль, что не так.
Цитата: ratte от 25 Апрель 2010, 22:25:06
вернулся на Ubuntu (9.10) и новая заноза- если в терминале написать notify-send то работает, а все сообщения системы судя по всему идут в другом виде, ибо не озвучиваются
ratte, каюсь, скрипт этот выложил не тестируя, доверился welinux.ru.
Пользователь решил продолжить мысль 25 Апрель 2010, 22:53:30:
Цитата: ratte от 25 Апрель 2010, 22:25:06
вернулся на Ubuntu (9.10) и новая заноза- если в терминале написать notify-send то работает, а все сообщения системы судя по всему идут в другом виде, ибо не озвучиваются
У меня такая же фигня. Хотя в моем случае все ясно, у меня уведомления вообще идут через cairo-dock.
« Последнее редактирование: 25 Апрель 2010, 22:53:30 от -grin- »
enfernal
- Новичок
-
- Сообщений: 49
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скр
« Ответ #8 : 28 Апрель 2010, 13:06:48 »
Можно ли сделать проверку плеера audacious для скрипта проверка писем в почте gMail
Я сделал так:
if [ $NUMB -eq "0" ]; then :
else
if [ "`ps -A | grep -c audacious`" -ne "0" ]; then audacious --pause
elif [ "`ps -A | grep -c rhythmbox`" -ne "0" ]; then rhythmbox-client --pause
fi
echo "Хозяин, на вашем почтовом ящике имеется $NUMB_MSG." | festival --tts --language russian
sleep 1
if [ "`ps -A | grep -c audacious`" -ne "0" ]; then audacious --play
elif [ "`ps -A | grep -c rhythmbox`" -ne "0" ]; then rhythmbox-client --play
fi
fi
exit 0
Проблем в том что,пауза и включение музыки срабатывают,но при последующем проигрывании включается ещё раз audacious, и в итоге их в день может быть до 20 штук, как решить проблему?
И ещё одна проблема,он говорит не сразу,а сначала поставит паузу и после секунд через 40-50 говорит
« Последнее редактирование: 28 Апрель 2010, 13:31:40 от enfernal »
ratte
- Активист
-
-
- Сообщений: 461
- http://selisiltra.ho.ua/
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #9 : 28 Апрель 2010, 17:38:45 »
пауза это нормально для фестиваля. очень он тормозной еще. да и на проверку уходит время.
enfernal
- Новичок
-
- Сообщений: 49
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #10 : 28 Апрель 2010, 19:29:59 »
Ещё есть проблема, он то говорит(т.е. работает) то не говорит(не работает),т.е. произвольно хочет работает,хочет нет
ratte
- Активист
-
-
- Сообщений: 461
- http://selisiltra.ho.ua/
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #11 : 28 Апрель 2010, 20:10:56 »
Фестиваль не работает,если работает проигрыватель-аудио или видео,либо флэш в браузере.даже если плеер стоит на паузе он не будет болтать.
Кстати еще одно применение фестиваля- pidgin-festival.есть у него косяки , но приручить можно.пользуюсь уже давно-очень полезная штука.
enfernal
- Новичок
-
- Сообщений: 49
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #12 : 28 Апрель 2010, 20:21:18 »
Ц итата: ratte от 28 Апрель 2010, 20:10:56
Фестиваль не работает,если работает проигрыватель-аудио или видео,либо флэш в браузере.даже если плеер стоит на паузе он не будет болтать.
Кстати еще одно применение фестиваля- pidgin-festival.есть у него косяки , но приручить можно.пользуюсь уже давно-очень полезная штука.
Да тоже стоит данный плагин для пингвина,но сейчас вот у меня играет музыка и уведомления из pidgin, festival всё равно говорит, потом иногда на время прекращает и после снова начинает
-=gr!n=-
- Автор темы
- Любитель
-
-
- Сообщений: 54
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты
« Ответ #13 : 28 Апрель 2010, 20:35:32 »
Ц итата: enfernal от 28 Апрель 2010, 13:06:48
Проблем в том что,пауза и включение музыки срабатывают,но при последующем проигрывании включается ещё раз audacious, и в итоге их в день может быть до 20 штук, как решить проблему?
Вообще то я пробовал этот скрипт с плеером audacious2. Вроде бы все нормально было. Может тебе стОит поставить версию 2.2.1? Ну или попробовать команду
Код: [Выделить]
audacious --play-pause
Пользователь решил продолжить мысль 28 Апрель 2010, 18:37:28:
Цитата: ratte от 28 Апрель 2010, 20:10:56
Фестиваль не работает,если работает проигрыватель-аудио или видео,либо флэш в браузере.даже если плеер стоит на паузе он не будет болтать.
Вообще-то этому багу есть лечение, оно в первом посте.
Цитировать
В файл /usr/share/festival/festival.scm в конце добавить строки
Код: [Выделить]
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
« Последнее редактирование: 28 Апрель 2010, 20:38:22 от -grin- »
enfernal
- Новичок
-
- Сообщений: 49
R e: [HOWTO] Учим компьютер говорить по-русски / Festival скр
« Ответ #14 : 28 Апрель 2010, 20:58:52 »
Ц итата: -grin- от 28 Апрель 2010, 20:35:32
Вообще-то этому багу есть лечение, оно в первом посте.
Цитировать
В файл /usr/share/festival/festival.scm в конце добавить строки
Код: [Выделить]
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
[/quote]
Я добавил в .festivalrc,
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
Но в пиджине я использую команду для вывовда звука:
aplay -D surround41 %s
Звук стал воспроизводится гораздо качественне и лучше, может в .festivalrc, нужно изменить строчку: (Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
На:
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r surround41 $SR $FILE")
Вот эти пункты:
В файл /usr/share/festival/languages.scm дописать вначале:
Код:
(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))
Я не делал, у меня всё и без них работает но не совсем гладко,я уже описал проблемы, но если сделать эти пункты,тогда ничего не работает, ubuntu 10.04