В прошлой статье на эту тему я рассказал о том, как установить, настроить и заставить говорить на русском языке пакет festival. Теперь, по просьбе одного из читателей хочу привести несколько примеров: каким же образом это можно использовать на практике?
Внимание: Подразумевается, что вами прочитана статья "Говорящая Ubuntu", все настроено как описано в ней и работает!
Скрипт приветствия (по всем нормам этикета)
Итак, открываем терминал, выполняем:
sudo gedit /usr/bin/salut
Вставляем в появившемся редакторе такой скрипт:
#!/bin/bash
var4=`date +%H`
var4=${var4#0}
var_priv=""
if [[ "$var4" -ge 0 && "$var4" -le 5 ]]; then
var_priv="Доброй ночи"
elif [[ "$var4" -ge 6 && "$var4" -le 11 ]]; then
var_priv="Доброе утро"
elif [[ "$var4" -ge 12 && "$var4" -le 17 ]]; then
var_priv="Добрый день"
elif [[ "$var4" -ge 18 && "$var4" -le 23 ]]; then
var_priv="Добрый вечер"
fi
echo "$var_priv"
exit 0
Сохраняем, закрываем редактор. Выставляем нужные права доступа к получившемуся файлу:
sudo chmod 755 /usr/bin/salut
И пробуем:
salut
Эту команду можно добавить в автозапуск компьютера (Система - Параметры - Запускаемые приложения). Здорово, правда? Теперь и приличных людей в гости пригласить не стыдно =).
Чтение свежих новостей
Для начала поставим пакет curl:
sudo apt-get install curl
Создадим новый скрипт:
sudo gedit /usr/bin/read_news
Вот такого содержания : Текст скрипта удален со страницы. Скачайте скрипт по ссылке: http://startubuntu.ru/files/read_news.txt
Сохраняем, закрываем редактор. Выставляем нужные права доступа к получившемуся файлу:
sudo chmod 755 /usr/bin/read_news
Пробуем:
read_news
Скрипт читает новости с RSS-ленты Яндекса. Я постарался максимально адаптировать его для форматирования новостей таким образом, чтобы festival смог его прочитать, однако от совершенства он далека. Если процесс чтения новостей прерывается, можете попробовать запустить команду read_news в терминале и посмотреть на каком слове или символе происходит сбой и внести дополнения в скрипт. Свои дополнения оставляйте в комментариях - может быть все вместе доведем его до стабильного состояния =).
О проблемах пишите в комментариях – буду дополнять и исправлять.