Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [HOWTO] Учим компьютер говорить по-русски / Festival скрипты  (Прочитано 78779 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн -=gr!n=-

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
После произношения фразы выводит сообщение:
Цитировать
audsp: unknown command "closeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee....

версия festival: Version: 1:2.0.95~beta-5.1ubuntu2

Видать баг в самом festival или можно исправить?
Лично мне исправить не удалось. Поставил версию от Maverick
1:2.0.95~beta-2ubuntu1

Пользователь решил продолжить мысль 21 Июня 2011, 20:22:36:
Хотелось бы прикрутить этот скрипт к Festival
(Нажмите, чтобы показать/скрыть)
Но фестеваль отказывается его читать, не подскажите в чём дело?


Во-первых, там нужны curl и gawk. Ставим:
sudo apt-get install curl gawk(Хотя мне кажется, что можно было бы переделать для wget и awk)

Создаешь текстовый файл (можно в домашней папке)
gedit script.shдобавляешь туда этот скрипт, вначале лучше добавить
#!/bin/bashВ строках, которые festival должен озвучивать, в конце добавляешь
| festival --tts --language russianСохраняешь, даешь скрипту право на исполнение
chmod +x script.sh
И запускаешь:
./script.shну или
bash script.sh
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 21 Июня 2011, 20:22:36 от -grin- »

Оффлайн _Alex_50

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Спасибо, разобрался.

Пользователь решил продолжить мысль 21 Июня 2011, 22:05:07:
Не подскажете тогда ещё по одному вопросу. Погоду беру с http://informer.gismeteo.ru/xml/99569_1.xml
Когда запускаю скрипт, то он примерно выдаёт: Температура 13 градусов по цельсию
Ветер. 1 метр в секунду. Всточный.
Давление 739 миллиметров ртутного столба
Влажность воздуха. 42 процента.
Комфорт. 13 градусов по цельсию.
ясно. дождь.
Внимание, вопрос: откуда берутся эти данные, если на http://informer.gismeteo.ru/xml/99569_1.xml имеется несколько значений на разное время суток?
Заранее извиняюсь.
« Последнее редактирование: 21 Июня 2011, 22:06:24 от _Alex_50 »

Оффлайн -=gr!n=-

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Спасибо, разобрался.

Пользователь решил продолжить мысль 21 Июня 2011, 22:05:07:
Не подскажете тогда ещё по одному вопросу. Погоду беру с http://informer.gismeteo.ru/xml/99569_1.xml
Когда запускаю скрипт, то он примерно выдаёт: Температура 13 градусов по цельсию
Ветер. 1 метр в секунду. Всточный.
Давление 739 миллиметров ртутного столба
Влажность воздуха. 42 процента.
Комфорт. 13 градусов по цельсию.
ясно. дождь.
Внимание, вопрос: откуда берутся эти данные, если на http://informer.gismeteo.ru/xml/99569_1.xml имеется несколько значений на разное время суток?
Заранее извиняюсь.

Похоже, что тупо берется первое значение.

Оффлайн _Alex_50

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Да,внимательно  изучил скрипт, он берёт первое значение и высчитывает среднее значение.

Оффлайн -=gr!n=-

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Во-первых, там нужны curl и gawk. Ставим:
sudo apt-get install curl gawk(Хотя мне кажется, что можно было бы переделать для wget и awk)

Создаешь текстовый файл (можно в домашней папке)
gedit script.shдобавляешь туда этот скрипт, вначале лучше добавить
#!/bin/bashВ строках, которые festival должен озвучивать, в конце добавляешь
| festival --tts --language russianСохраняешь, даешь скрипту право на исполнение
chmod +x script.sh
И запускаешь:
./script.shну или
bash script.sh
(Нажмите, чтобы показать/скрыть)
Вообще-то нужно было просто доустановить curl и gawk. И выполнить:
bash script | festival --tts --language russian

Оффлайн _Alex_50

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Скрипт нормально говорит погоду. Вот теперь не знаю, как сделать, чтобы скрипт говорил минус, потому что если написать echo -11 | festival --tts --language russian то festival произнесёт просто"один один", а не одиннадцать. Что же я буду делать зимой?
« Последнее редактирование: 21 Июня 2011, 23:30:51 от _Alex_50 »

Оффлайн -=gr!n=-

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Вот теперь не знаю, как сделать, чтобы скрипт говорил минус
Сделай по аналогии как в скрипте будильника (см. первое сообщение темы)

Оффлайн _Alex_50

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Дело в том, что со страницы информера значение минусовой температуры будет браться, как "-11". А я хочу, чтобы бралось только числовое значение "11". Минус то я пропишу сам.

Оффлайн -=gr!n=-

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Используй sed. В интернете есть хорошие мануалы. Разберешься

Оффлайн _Alex_50

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Спасибо с sed всё получилось. Кто нибудь знает скрипт для чтения rss лент? В гугле смог нарыть только это http://startubuntu.ru/?p=623 , но там скрипт удалён.

Оффлайн -=gr!n=-

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Парсить надо. Опять все те же wget, grep, sed.

Можно начать с этого:
wget -q -O - http://news.yandex.ru/politics.rss | grep description | sed 's/[</description>]//g'

Оффлайн Saltty

  • Активист
  • *
  • Сообщений: 362
  • Соль (Ubuntu 14.04)
    • Просмотр профиля
    • Мой сайт
Мой нынешний шедевр:
(Нажмите, чтобы показать/скрыть)

Произносит погоду на следующий отрезок времени (утро, день, вечер, следующая ночь) и характерристики погоды операясь на текущее время.
При желании можно добавить произношение давления, силы, направления ветра, влажности воздуха...
Заодно проверяем температуры винчестеров...

P.S.
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 10 Декабря 2011, 21:43:00 от Saltty »

Оффлайн _Alex_50

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
У меня в итоге вот что получилось:
(Нажмите, чтобы показать/скрыть)
Сам скрипт брал из какогото блога про Conky плюс на форуме помогли со склонением существительных. Говорит погоду на следующее время суток - усли сейчас день, то на вечер, если вечер, то на ночь, etc. Скрипт запускаю вот так ./pogoda.sh | festival --tts --language russian Тогда будет всё говорить без пауз.
« Последнее редактирование: 18 Октября 2011, 21:36:00 от _Alex_50 »

Оффлайн Runaway

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Вопрос по скрипту "Озвучка подключения/отключения USB-устройств": в нем присутствует такой кусок:
Цитировать
    change)
      say "$name" "информация изменена"
т.е. при удалении и др. действиях с файлами на флешке он должен сообщать об этом?

Оффлайн IP-2011

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Привет. Вот и моё небольшое вложение :)
Прилагаю в архиве. 5 скриптов.
Скрипты: Даты, времени, приветствия, погоды, и приветствие юзера при входе.
Скрипты реализованы модулями т.е. чтобы можно было использовать не только по отдельности или только в одном общем скрипте, а в разных скриптах.
Т.е. есть потенциал для развития и добавление новых функций достаточно лёгким способом, а не переписывая всё заново для каждого скрипта.
Скрипт даты выводит дату словами.
Скрипт времени соответственно.
Скрипт погоды выводит погоду, спасибо -grin-
Скрипт приветствия приветствует в соответствие с временем суток. Т.е. говорит либо "Доброе утро, День, вечер, ночи".
Скрипт приветствия при входе юзера, приветствует при входе в систему, говорит "Добрый ..." дату, время, и текущую погоду.
Все скрипты нужно положить в папку /usr/bin/
для коректной работы.
Потом добавить в "Запускаемые приложения" команду starttts
и всё!! :)
Остальные скрипты запускаются так:
имя_скрипта | espeak -vru
эта для испика, для фестиваля соответственно как тут писали выше. :)
А, да у кого фестиваль заменить в скрипте startts строку espeak -vru на соответствующию :)
Внимание!!!!
Если будете править скрипты учтите что они могут зависить от других скриптов!
И это может превести к ошибкам!!!!
P.S. В будущем наверно добавлю ещё в набор будильник, заменю погоду, и добавлю скрипт для всплывающих сообщений...
Может ещё что-нибудь... У кого есть идеи пишите! :)
« Последнее редактирование: 14 Июля 2011, 12:23:44 от IP-2011 »

 

Страница сгенерирована за 0.033 секунд. Запросов: 21.