(voice_msu_ru_nsh_clunits) >(SayText "Привет!") http://vkontakte.ru/photo42615_204043634" /> (voice_msu_ru_nsh_clunits) >(SayText "Привет!") http://vkontakte.ru/photo42615_204043634" /> [HOWTO] Учим компьютер говорить по-русски / Festival скрипты - стр. 6 - Ubuntu.ru

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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

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

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

Оффлайн timkuptsov

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
У меня при попытке произнести текст из консоли пишет: "Аварийный останов"
Где копать надо?
Ставил так:
# apt-get install festival speech-tools festvox-ru
# festival
>(voice_msu_ru_nsh_clunits)
>(SayText "Привет!")
http://vkontakte.ru/photo42615_204043634
« Последнее редактирование: 30 Декабря 2010, 15:20:37 от timkuptsov »

Оффлайн ratte

  • Активист
  • *
  • Сообщений: 461
  • http://selisiltra.ho.ua/
    • Просмотр профиля
    • мягкая депрессия
а кто-нибудь знает при подключении блока питания к ноутбуку как заставить фестиваль это озвучивать? и когда переходит в режим батареи тоже. откуда брать информацию об этом?

ага. состояние можно брать из /proc/acpi/ac_adapter/AC0/state, но вот как написать скрипт, чтобы при изменении содержимого файла фестиваль срабатывал.
« Последнее редактирование: 25 Февраля 2011, 12:49:30 от ratte »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Приведите вывод
cat /proc/acpi/ac_adapter/AC0/state
во включенном и выключенном состоянии для предметного разговора.

Оффлайн ratte

  • Активист
  • *
  • Сообщений: 461
  • http://selisiltra.ho.ua/
    • Просмотр профиля
    • мягкая депрессия
ratte@ratte-monstr:~$ cat /proc/acpi/ac_adapter/AC0/state
state:                   on-line
ratte@ratte-monstr:~$ cat /proc/acpi/ac_adapter/AC0/state
state:                   off-line
ratte@ratte-monstr:~$

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Что-то все молчат.
Выделить on-line или off-line и записать в переменную можно так
VAR=`cat /proc/acpi/ac_adapter/AC0/state | grep "state" | awk '{print $2}'`

Оффлайн ratte

  • Активист
  • *
  • Сообщений: 461
  • http://selisiltra.ho.ua/
    • Просмотр профиля
    • мягкая депрессия
спасибо. сделал немного по-другому (на ЛОРе посоветовали)
взял состояние из /etc/acpi/events/battery и прицепил скрипт с фестивалем.

Оффлайн hamstep

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Фестиваль не работает,если работает проигрыватель-аудио или видео,либо флэш в браузере.даже если плеер стоит на паузе он не будет болтать.

Кстати еще одно применение фестиваля- pidgin-festival.есть у него косяки , но приручить можно.пользуюсь уже давно-очень полезная штука.
А не подскажешь, как вылечить следующий косяк: не проговаривает сообщения, содержащие русскую букву "П". OC ubuntu 10.10

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
А если заменить прописную букву строчной ?

Оффлайн hamstep

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Регистр роли не играет. Пробовал и так и так.

Оффлайн levine

  • Активист
  • *
  • Сообщений: 256
    • Просмотр профиля
-grin- , надо бы поправить хаутушечку. Так называемые "баги" надо править, редактируя не  /usr/share/festival/languages.scm или /usr/share/festival/festival.scm, а  /etc/festival/siteinit.scm ,  может при обновлении или переустановке фестиваля ничего и не слетит, к тому же невразумительно это звучит ".. добавить в конце", " дописать в начале..." . Думаю, выглядеть это должно примерно примерно так:

(Нажмите, чтобы показать/скрыть)

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

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

Вообще, у меня стоит версия festival 1:2.0.95~beta-5.1ubuntu2
И там, повторюсь, все уже исправлено, как описано в первом посте.
Но что-то у меня все жутко глючит, похоже в festivalе что-то поломали.
В терминале вывод примерно такой:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 19 Апреля 2011, 20:52:13 от -grin- »

Оффлайн Saltty

  • Активист
  • *
  • Сообщений: 362
  • Соль (Ubuntu 14.04)
    • Просмотр профиля
    • Мой сайт
Есть вот такой сайтик: http://ru.festivalspeaker.wikia.com/wiki/Банк_скриптов_для_голосового_движка_Festival Кто-то вроде о нём уже впоминал. Оттуда можно много полезного по теме почерпнуть.

А вот мой нынешний вариант говорильника без rhythmbox:
(Нажмите, чтобы показать/скрыть)
1.Удалил паузы между проговариваемыми предложениями (т.к. у меня на PIII 933Мгц паузы очень были заметны)
2.Не проговаривает погоду если её не получил по каким-то причинам из интернета.
3.Добавил склонение названий месяцов.
4,Поправил ударение в слове "часа".
5.Поправил ударение в слове "двенадцатое"
6.Поправил ударение в слове "семьнадцатое"
« Последнее редактирование: 21 Мая 2011, 23:15:04 от Saltty »

Оффлайн Камми

  • Участник
  • *
  • Сообщений: 178
  • фанатка Compiz Fusion
    • Просмотр профиля
    • Любовница Тукса
А кто-нибудь может подсказать строку запроса в скрипте для проверки почты с ящиков mail.ru и yandex.ru? Или как с Thunderbird перехватить сигнал, когда он получает почту?

Оффлайн Saltty

  • Активист
  • *
  • Сообщений: 362
  • Соль (Ubuntu 14.04)
    • Просмотр профиля
    • Мой сайт
Пытаюсь научить festival проговаривать ещё и прогноз на следующий день, но возник затык...
Народ, подскажите как из полученной wget -t 1 -q -O - http://www.gismeteo.ru/city/daily/12698/ | grep -m 3 '<div class="temp">'|tail -n 1 строки
Цитировать
<div class="temp">0&deg;..<em>+10</em>&deg;</div>
оставить только +10 Не соображу как правильно составить регулярное выражение для получения второй температуры +10. Как получить первую температуру 0 додумался: wget -t 1 -q -O - http://www.gismeteo.ru/city/daily/12698/ | grep -m 3 '<div class="temp">'|tail -n 1| sed -r 's/<div class="temp">([0-9]+).*/\1/g'| awk '{print $1}' #Первая температура на завтране уверен что правильно :)
Спасибо.
P.S.  Кое в чём разобрался, но ушёл читать "Регулярные выражения. Дж. Фридл. 2-е издание"
« Последнее редактирование: 12 Июня 2011, 22:43:17 от Saltty »

Оффлайн Exo_Ist

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Пытался подредактировать скрипт будильника под banshee, но...
На строку
Цитировать
banshee --set-volume=50
ругается так
Цитировать
exoist@book:~$ banshee --set-volume=50

Unhandled Exception: System.ArgumentNullException: Cannot handle a null message; maybe the bus was disconnected
Parameter name: msg
  at NDesk.DBus.Connection.HandleMessage (NDesk.DBus.Message msg) [0x00000] in <filename unknown>:0
  at NDesk.DBus.PendingCall.get_Reply () [0x00000] in <filename unknown>:0
  at NDesk.DBus.Connection.SendWithReplyAndBlock (NDesk.DBus.Message msg) [0x00000] in <filename unknown>:0
  at NDesk.DBus.BusObject.SendMethodCall (System.String iface, System.String member, System.String inSigStr, NDesk.DBus.MessageWriter writer, System.Type retType, System.Exception& exception) [0x00000] in <filename unknown>:0
  at Banshee.MediaEngine.IPlayerEngineServiceProxy.set_Volume (UInt16 ) [0x00000] in <filename unknown>:0
  at Halie.Client.HandlePlayerCommands () [0x00000] in <filename unknown>:0
  at Halie.Client.Main () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.AppDomain:ExecuteAssembly (System.Reflection.Assembly,string[])
  at System.AppDomain.ExecuteAssemblyInternal (System.Reflection.Assembly a, System.String[] args) [0x00000] in <filename unknown>:0
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) [0x00000] in <filename unknown>:0
  at Booter.Booter.Main () [0x00000] in <filename unknown>:0

 

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