среда, 27 октября 2010 г.

Festival (Часть 1) - подготовка к работе, базовые функции.

Фестиваль - пакет программ для синтеза человеческой речи, распространяемый под свободной лицензией, поддерживает множество языков, среди которых английский, чешский, финский, итальянский, и с недавних пор - русский. Вариантов его использования множество - от простого произнесения заданного текста и чтения сказок на ночь детям до чтения RSS с требуемого файла, приветствия пользователя при загрузке операционной системы, возмущенного жалования при закрытии крышки ноутбука и многих других. Сегодня наша задача - установить Фестиваль, настроить его и познакомиться с ним поближе, для дальнейшего более углубленного использования.

Итак, установка:
Скачиваем с сайта Фестиваль по-русски подходящий пакет и устанавливаем (на сайте нам рекомендуют пользоваться менеджером пакетов, и я как истинный буржуин радостно этим воспользовалась).
Давайте попробуем начать работу.
запускаем в терминале саму программу:
  • festival

Мы в программе. Выполним команду, заставляющую программу произнести текст:
  • (SayText "Привет")
Ошибка. Ну да, мы забыли указать голос. Пробуем еще раз:
  • (voice_msu_ru_nsh_clunits) (SayText "Привет")
 Работает. Судя по мануалу, приписку о том, каким голосом нужно говорить, потребуется вводить всегда. Что еще умеет делать фестиваль? Читать из файла. Создадим в домашнем каталоге /home/имя_пользователя тектовый файл с простым текстом. Введем в командную строку фестиваля команду чтения из файла:
  • (voice_msu_ru_nsh_clunits) (tts_file "/home/имя_пользователя/имя файла")
Работает. С двумя базовыми командами мы разобрались. Для дальнейшей работы со скриптами, обращающимися к фестивалю, нам потребуется настроить еще кое-что.

Для этого сначала выйдем из фестиваля:
  • (quit)
И залезем в языковой файл:
  • sudo gedit /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)
)

А в третьей - такие:
((equal? language 'russian)
(language_russian))

Соответственно, если их нет - добавляем и сохраняем.


Заключение:
Программа Фестиваль имеет четыре базовых команды, сам запуск - festival, произнесение текста - (SayText "Пример"), чтение текста из файла - (tts_file "/home/имя_пользователя/имя файла"), и выход - (quit).
Команды чтения и произнесения работают только внутри самой программы, но что, если мы захотим заставить Фестиваль разговаривать, не заходя в программу?
Для этого используется:
  • echo "Проверка" | festival --tts --language russian
Для того, чтобы этот скрипт работал, мы и настроили файл languages.scm. Теперь можно использовать возможности Фестиваля для самостоятельного разговора компьютера. Об этом в следующей части.


Почитать:

Комментариев нет:

Отправить комментарий