Комментарии 43
Ииииии.....?
Уж не Ваш ПК ли это сказал?
Уж не Ваш ПК ли это сказал?
-1
Вроде в Win7 есть функции воспреизведение голосом печатного текста.
-7
В WinXP она тоже была, только вроде надо было что то скачать — доустановить, кажется движок сам.
Пуск->Панель управления->Звук, речь и аудиоустройства->Речь (Start->Control Panel-> Sound, Speech and Audio Devices->Speech).
Пуск->Панель управления->Звук, речь и аудиоустройства->Речь (Start->Control Panel-> Sound, Speech and Audio Devices->Speech).
+1
НЛО прилетело и опубликовало эту надпись здесь
О, первое апреля как раз близко, возьму на заметку :)
+2
Пошутить здорово можно! )) Как то я был на работе, а девушка дома, я логинюсь с работы по ssh на сервак домой (белый IP), и начинаю беседывать с ней запуская синтезатор и передавая ему нужные фразы :D, она звонит мне в панике, говорит «твой компьютер со мной разговаривает!!!» )))
+3
tts можно заменить подготовленными записями, типа play 20-hours.mp3 15-minutes.mp3
-2
у меня так сервер оповещает о землятресениях =)
+1
Респект =)
Для того чтобы не было задержек, можно сначала сохранять вывод festival в файл (wav или mp3), и только когда он будет готов, ставить плеер на паузу и проигрывать временный файл. После этого файл можно даже удалить =)
Для того чтобы не было задержек, можно сначала сохранять вывод festival в файл (wav или mp3), и только когда он будет готов, ставить плеер на паузу и проигрывать временный файл. После этого файл можно даже удалить =)
0
У кого-нибудь получилось? И как качество звука?
У меня проблема возникла при установке festival на ubuntu
У меня проблема возникла при установке festival на ubuntu
[root@ubuntu:/home/vitaliy]
# echo «Привет» | festival --tts --language russian 20:11:45
«Unsupported language, using English»
SIOD ERROR: unbound variable: voice_rab_diphone
festival: fatal error exiting.
0
вот тут решали такую же проблему, успешно
www.linux.org.ru/forum/desktop/3622248
www.linux.org.ru/forum/desktop/3622248
+1
Чтобы оно вообще заговорило (хотя бы и на английском) надо было в самой программе (в терминале запускаем festival) набрать, вместе со скобками:
(SayText «What is thy bidding, my master?»)
Русский словарь у меня по дефолту отсутствовал, пришлось добавить festvox-ru. Других вариантов русского не увидел.
Дальше в самой программе было проще:
festival> (voice.list) — показывает список установленных в системе голосов
(rab_diphone kal_diphone msu_ru_nsh_clunits)
festival> (voice_msu_ru_nsh_clunits) — выставляет нужный нам голос
msu_ru_nsh_clunits#<Utterance 0x7f22224ec030>
festival> (SayText «Я ЛЮБЛЮ ХАБРАХАБР») — произносит желанную фразу
#<Utterance 0x7f2222560610>
Почему-то не распознались маленькие буквы, пришлось использовать только заглавные.
Все вышеописанное работало на версии 1.96 beta.
(SayText «What is thy bidding, my master?»)
Русский словарь у меня по дефолту отсутствовал, пришлось добавить festvox-ru. Других вариантов русского не увидел.
Дальше в самой программе было проще:
festival> (voice.list) — показывает список установленных в системе голосов
(rab_diphone kal_diphone msu_ru_nsh_clunits)
festival> (voice_msu_ru_nsh_clunits) — выставляет нужный нам голос
msu_ru_nsh_clunits#<Utterance 0x7f22224ec030>
festival> (SayText «Я ЛЮБЛЮ ХАБРАХАБР») — произносит желанную фразу
#<Utterance 0x7f2222560610>
Почему-то не распознались маленькие буквы, пришлось использовать только заглавные.
Все вышеописанное работало на версии 1.96 beta.
+1
Если у вас появляется ошибка Linux: can't open /dev/dsp вместо голоса, решение описано тут: wiki.archlinux.org/index.php/Festival#can.27t_open_.2Fdev.2Fdsp
+1
0
vitali@vitali-desktop:~/.bin$ /home/vitali/.bin/get_cur_tmpr.sh | /home/vitali/.bin/sayit.sh
/home/vitali/.bin/sayit.sh: строка 3: ошибка синтаксиса около неожиданной лексемы `newline'
/home/vitali/.bin/sayit.sh: строка 3: `read str <&'
Делал всё как по инструкции…
В чём может быть проблема?
0
3-я строка, может он ругается на /usr/bin/mocp -P, это пауза плееру moc, если у вас он не установлен тогда ругнется конечно, попробуйте скрипты запусать без пайпа "|", проче будет понять где ошибка.
+1
Поставил пакет moc, проблема не исчезла, ошибка таже…
vitali@vitali-desktop:~/.bin$ /home/vitali/.bin/get_cur_tmpr | /home/vitali/.bin/sayit
/home/vitali/.bin/sayit: строка 3: ошибка синтаксиса около неожиданной лексемы `newline'
/home/vitali/.bin/sayit: строка 3: `read str <&'
vitali@vitali-desktop:~/.bin$ /home/vitali/.bin/get_cur_tmpr
-9
0
#!/bin/bash
# читаем фразу из стандартного ввода
read str
#запускаем синтезатор
echo "(voice_msu_ru_nsh_clunits) (SayText \"$str\")" | festival
+1
Теперь всё работает… однако по какой то причине программа говорит просто «Девять» вместо положенных «Минус девять»
и скрипт gmail тоже почему то не пашет.
и скрипт gmail тоже почему то не пашет.
vitali@vitali-desktop:~/.bin$ /home/vitali/.bin/gmail | /home/vitali/.bin/sayit FATAL_ERROR: The server is not running Invalid card number. Usage: amixer <options> [command] Available options: -h,--help this help -c,--card N select the card -D,--device N select the device, default 'default' -d,--debug debug mode -n,--nocheck do not perform range checking -v,--version print version of this program -q,--quiet be quiet -i,--inactive show also inactive controls -a,--abstract L select abstraction level (none or basic) -s,--stdin Read and execute commands from stdin sequentially Available commands: scontrols show all mixer simple controls scontents show contents of all mixer simple controls (default command) sset sID P set contents for one mixer simple control sget sID get contents for one mixer simple control controls show all controls for given card contents show contents of all controls for given card cset cID P set control contents for one control cget cID get control contents for one control Invalid card number. Usage: amixer <options> [command] Available options: -h,--help this help -c,--card N select the card -D,--device N select the device, default 'default' -d,--debug debug mode -n,--nocheck do not perform range checking -v,--version print version of this program -q,--quiet be quiet -i,--inactive show also inactive controls -a,--abstract L select abstraction level (none or basic) -s,--stdin Read and execute commands from stdin sequentially Available commands: scontrols show all mixer simple controls scontents show contents of all mixer simple controls (default command) sset sID P set contents for one mixer simple control sget sID get contents for one mixer simple control controls show all controls for given card contents show contents of all controls for given card cset cID P set control contents for one control cget cID get control contents for one control FATAL_ERROR: The server is not running
0
И это «Девять» повторяет 2 раза…
0
vitali@vitali-desktop:~/.bin$ /home/vitali/.bin/get_cur_tmpr
-9
Если скрипт возвращает "-9", то читаться будет «девять»
По-идее, скрипт должен возвращать «минус девять», но это, как видно, не так. Значит проблема со скиптом возвращения температуры.
Кстати, в нём у автора явная ошибка:
stringZ=`cat /home/eugene/.tmp/index.html
вместо
stringZ=`cat /home/eugene/.tmp/index.html`
0
Подскажите, версию Ubuntu Server какую используете?
0
А кто-нибудь нашёл женский английский голос как в фильмах?
+1
Такс… а я где-то видел руководство, как научить udev сообщать голосом о подключённых устройствах
0
Проверить сейчас возможности нет, но подозреваю, что правило, которое надо положить в /etc/udev/rules.d/, будет выглядеть примерно так:
ACTION!="add", GOTO="festival_say_end"
RUN+="echo $name | festival --tts --language russian"
LABEL="festival_say_end"
0
Практика показала, что с потоками у udev какая-то фигня, поэтому лучше так:
И соответственно шелл-скрипт:
Но в идеале надо добавить еще обработчики по типам, иначе даже на обычную флэшку произносит по пять сообщений — «Подключен sg1», «Подключен sdb1»…
RUN+="/home/torkvemada/sayit.sh Подключен $name"
И соответственно шелл-скрипт:
#!/bin/bash
echo "$@" | festival --tts --language russian
Но в идеале надо добавить еще обработчики по типам, иначе даже на обычную флэшку произносит по пять сообщений — «Подключен sg1», «Подключен sdb1»…
0
вот так получилось (Ubuntu 9.10):
добавляем в файл /etc/udev/rules.d/70-mount-usb-storage.rules следующие строчки
# Добавление
ACTION==«add», KERNEL==«sd[a-z][0-9]», ENV{ID_USB_DRIVER}==«usb-storage», RUN+=«echo 'обнаруженъъ носитель информации' | festival --tts --language russian»
# Удаление
ACTION==«remove», KERNEL==«sd[a-z][0-9]», ENV{ID_USB_DRIVER}==«usb-storage», RUN+=«echo 'устройство удалено' | festival --tts --language russian»
добавляем в файл /etc/udev/rules.d/70-mount-usb-storage.rules следующие строчки
# Добавление
ACTION==«add», KERNEL==«sd[a-z][0-9]», ENV{ID_USB_DRIVER}==«usb-storage», RUN+=«echo 'обнаруженъъ носитель информации' | festival --tts --language russian»
# Удаление
ACTION==«remove», KERNEL==«sd[a-z][0-9]», ENV{ID_USB_DRIVER}==«usb-storage», RUN+=«echo 'устройство удалено' | festival --tts --language russian»
0
Заставил говорить скайп.
Создал скрипт следующего содержания:
В настройках уведомления вбиваем ~/say.sh "%smessage"
Создал скрипт следующего содержания:
#!/bin/bash
echo "(voice_msu_ru_nsh_clunits) (SayText \"$1\")" | festival
В настройках уведомления вбиваем ~/say.sh "%smessage"
0
Берём девушку с красивым лицом торсом голосом, записываем 73 фразы и юзаем их.
Минусы:
— при склейках цифр могут быть нестыковки
— надо продумать список того что надо записать
Плюсы:
— красивый голос
— общение с девушкой
Минусы:
— при склейках цифр могут быть нестыковки
— надо продумать список того что надо записать
Плюсы:
— красивый голос
— общение с девушкой
+5
у меня как бы нету слов
браво :)
браво :)
0
Отличная статья. Собираюсь все себе такое же реализовать да руки не доходят.
Еще круче было бы приглушать музыку, чтобы она играла тихо, и на ее фоне зачитывать объявления. Но для этого видимо надо будет похитрому настраивать звуковую систему, чтобы могла получать сигнал из двух источников, наверно это можно сделать через pulseaudio.
Еще круче было бы приглушать музыку, чтобы она играла тихо, и на ее фоне зачитывать объявления. Но для этого видимо надо будет похитрому настраивать звуковую систему, чтобы могла получать сигнал из двух источников, наверно это можно сделать через pulseaudio.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Учим ПК разговаривать