среда, 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. Теперь можно использовать возможности Фестиваля для самостоятельного разговора компьютера. Об этом в следующей части.


Почитать:

вторник, 26 октября 2010 г.

Transmission-daemon

В современных версиях Ubuntu Bittorent клиент Transmission включен в дистрибутив, но не всякий убунту-пользователь согласится работать с десктопным приложением. Для таких пользователей был разработан Transmission-daemon клиент с вебмордой, установкой которого я и занялась сразу, как только появилась нужда заполнить ноутбук подборкой кантри-музыки и фильмов с Микки Рурком.
Изучив кучу ссылок на сомнительные ресурсы с неудобноваримой терминологией, вывела для себя алгоритм из наиболее простых и понятных действий, как оказалось - правильный. Итак, устанавливаем клиент:
  • sudo apt-get install transmission-daemon
Если мы попробуем запустить клиент сразу через вебморду, он потребует логин и пароль. Поэтому сразу начинаем настройку. Возможно, клиент загрузится в память после установки автоматически, поэтому стоит его стопнуть:
  • sudo /etc/init.d/transmission-daemon stop
Открываем конфигурационный файл для настроек:
  • sudo gedit /etc/transmission-daemon/settings.json
Что из всего напиханного туда нас интересует:
 -  rpc-authentication-required: нужна ли авторизация для удаленного доступа. 
 -  rpc-enabled: включить/выключить удаленный доступ.
 -  rpc-username: ваш логин.
 -  rpc-password: пароль.
 -  download-dir: директория закачки
 -  rpc-whitelist: Список ip через запятую с которых разрешено управление.
 -  rpc-whitelist-enabled: true — разрешить белый список (я не выставляла ip, и просто поставила параметр 0 в этом пункте - как я понимаю, это закрывает белый список и автоматически разрешает управление всем ip).
Также наличествуют функции с пометкой Scheduling, с помощью которых можно подробно распланировать работу клиента по дням и часам. Об этом можно почитать здесь, я еще не успела разобраться.

Сохраняем файл настройки, и заходим через браузер в http://localhost:9091, вводя свой логин и пароль. Скорее всего, должно получиться.

УПД: а еще есть такая вот штучка, превращающая интерфейс в подобие Мюторрента.