LINUX.ORG.RU

festival и ubuntu 11.04


1

1

есть скрипт, озвучивающий монтирование флэшек и сидирома. в убунту 10.04 работает без проблем, а в 11.04 замолчал. что там снова изменили в ней?

скрипт лежит в /usr/bin

еще есть 62-festival.rules в /etc/udev/rules.d

SUBSYSTEMS=="usb", RUN+="/usr/bin/boltalka.sh %b"
SUBSYSTEMS=="block", RUN+="/usr/bin/boltalka.sh %b"
★★★★★

Ответ на: комментарий от amorpher

rhvoice

Что-то даже не слышал о таком. Попробую. Фестиваль у меня много чего озвучивает, rhvoice справится со всплывающими уведомлениями и im клиентами?

pyometra ★★★★★
() автор топика
Ответ на: комментарий от amorpher

http://

igorka.com.ua/2010-03-24/ znakomstvo-s-udev-v-ubuntu/

Круть. Спасибо.

pyometra ★★★★★
() автор топика
Ответ на: комментарий от pyometra

>rhvoice справится со всплывающими уведомлениями и im клиентами?

А разница? Скрипт видоизменишь и прикрутишь. Это же юниксвей.

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

что-то ссылка мне не очень полезной оказалась.

вот проблема где-то тут

{
	device=$1

	case $device in
		[0-2]-[0-2])
					
		;;
		sr0)
			echo "optical drive"
		;;
		[sh]d*)
			
			echo "$s drive"
		;;
		*)
			exit
		;;
	esac

если так, то он два раза озвучивает монтирование и четыре раза размонтирование. раньше (убунту 10.04) там было значение [sh] и всё работало нормально, теперь же при таком значении вообще не разговаривает.

pyometra ★★★★★
() автор топика
Ответ на: комментарий от pyometra

echo логично. А чем круче? Лучше говорит? А то фестиваль, всё же, убог | /home/amorpher/.progs/RHVoice/bin/RHVoice > example

Запись — http://ifolder.ru/25073406


Через sox чище голос, типа так:

echo текст | RHVoice | play -q -

но не пишет нормально rec у меня (закинул просто в файл), по-умолчанию с тюнера хватает, а когда со звуковухи фигня получается (там бага вроде как — «sox WARN alsa: under-run». http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=546944

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

я уже нашёл, спасибо. как раз собрался попробовать.

pyometra ★★★★★
() автор топика
Ответ на: комментарий от amorpher

что-то мне не собрать. у тебя без проблем всё было?

pyometra ★★★★★
() автор топика
Ответ на: комментарий от amorpher

я короче запутался совсем. нужно наверное отдохнуть и подышать воздухом. не найти для линукса nvda, всё ля винды предлагают.

pyometra ★★★★★
() автор топика
Ответ на: комментарий от pyometra

nvda не нужно, это под винду.

Всё очень просто:
качаешь это — https://github.com/Olga-Yakovleva/RHVoice/zipball/0.2
ставишь scons, libunistring-dev и flite1-dev
Потом:
$ scons
# scons install

Я себе в хомяк ставил (~/.progs/RHVoice, у меня там много чего лежит со времён царя гороха, в основном игры), для этого надо перед конфигурацией указать сперва префикс:

$ scons prefix=<path>


В INSTALL всё это есть.



На счёт правил — посмотри как udev-notify в 11.04 это всё дело дёргает — http://startubuntu.ru/?p=33360

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

спасибо ещё раз. разобрался. теперь потрачу немного времни на перевод говорилки с фестиваля на rhvoice.

pyometra ★★★★★
() автор топика
Ответ на: комментарий от amorpher

хм. привёл скрипт к такому виду

#!/bin/bash

export PATH=/bin:/sbin:/usr/bin:/usr/sbin

FESTIVAL="festival --tts"

DEVICE=$1
UDEVINFO="udevadm info"

[ -z "$DEVICE" ] && exit
[ -z "$ACTION" ] && exit

function get_device_attr ()
{
	path=`find /sys/devices -name $1`
	echo `$UDEVINFO --attribute-walk   --path=$path | grep $2 -m1 | cut -f 2 -d '"'`
}

function get_device_name ()
{
	device=$1

	case $device in
		[0-9]-[0-9])
			s=`get_device_attr $device "product"`
			[ -z "$s" ] && echo "device" || echo "$s"		
		;;
		sr0)
			echo "optical drive"
		;;
		[sh]d*)
			s=`get_device_attr $device "KERNEL"`
			echo "$s drive"
		;;
		*)
			exit
		;;
	esac
	
}
function say ()
{
	echo "$1 $2" | $FESTIVAL
	exit
}

name=`get_device_name $DEVICE`

if [ -n "$name" ]; then 
	case "$ACTION" in
		add)
		say "$name" "was found"
		;;
		remove)
		say "device" "has been removed"		
		;;
		change)
		say "$name" "was changed"
		;;
	esac
fi
и оно заговорило (этот скрипт работал в 9.10 и не работал в 10.04 вроде бы, в прошлый раз его в www.linux.org.ru/wiki/en/Special:Print?topic=Udev_festival кто-то правил), но повторяет по 3 раза. видно как флэшка определяется три раза так и говорит. скрипты для меня такие- тёмный лес. разобраться как udev-notify это делает тоже не смог пока, ноон определяет так же по три раза.

pyometra ★★★★★
() автор топика
Ответ на: комментарий от pyometra

>udev-notify

Себе поставил последний с ппа убунтувского, он только по USB извещает (по-крайней мере у меня на сквизи, здесь и юдев и хал, сижу на Xfce 4.6.2, родном т.е. дистрибутивном), и тоже не один раз уведомление всплывает (ну практически одновременно, но они у меня 90% прозрачные и видно, что за ним есть ещё такое же). Так что мне смысла нет мучать жопу с халом и юдев одновременно.
Поставил только приветствия на логин, подшаманил с ударениями и голосом — волшебно :)

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

с халом и юдев одновременно

ну хала у меня нет в системе.

pyometra ★★★★★
() автор топика
Ответ на: комментарий от pyometra

«+» ставишь перед гласной — будет ударение, можно ещё поиграться ставить 2 буквы (гласные, больше 2-х эффекта не будет, на согласных да — можно поизвращаться :) ). Ещё "-" работает, ну запятая и точка наверное сам уже заметил — паузы корректные. Про питчи и скорость знаешь наверно?

Приколись :) :

#!/bin/bash

dat=`date +%H`
morning=09
day=15
evening=21
night=05

if [ $dat -le $morning ]
then
echo С добрым утром, шеф. Кофе уже готов. | RHVoice | play -q -

elif [ $dat -gt $morning ] && [ $dat -le $day ]
then
echo Добрый день. Как дел+а? Жёсткий скоро. Скоро-скоро. | RHVoice | play -q -

elif [ $dat -gt $day ] && [ $dat -le $evening ]
then
echo А-а-аа. Пришол уже. Пока тебя небыло, завалил половину интэрнэтов в кваку. РЫЫГГЫГЫГЫРЫХЫРЫРЫГГХГЫГЫРГХЫРУУХУРААХАРГРУУУГУУУРАХААРГААГГАААЗЗЗЗЗМММАЫЫЫ. АААРРЫЫРЫГГГГХГХГХГХХГНЕМОГУЫББЛЯ. | RHVoice | play -q -

elif [ $dat -gt $evening ] && [ $dat -le $night ]
then
echo УУГУРУУУГУУУРАААРГААГГАААААЫРЫЫЫЫРЫЫГГЫГЫГЫРЫЫРЫЫГГЫРГЫГЫ. Оа+о, что-то вздулися мои каньдирь+ишки. И пахнет палёным текстолитом. Пар+ам-пам-п+ам п+арам-п+ам-пам татар+амдарамдамтатар+амбарабаранбар+ан. А. Это. Опа ньки. Это был мой барабамбаньчик. ИМ+ХО | RHVoice | play -q -
fi

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

скрипт доставил :D про + не знал, я пробелами и знаками препинания правил.

кстати в моём проблемном скрипте если поменять

festival --tts
на
/RH/bin/RHVoice|aplay
, то скрипт молчит ><

нужно заняться чтением документации наверное серьёзно уже.

pyometra ★★★★★
() автор топика
Ответ на: комментарий от pyometra

>если поменять

Ну так посмотри, как он работает. Через echo же :)

amorpher ★★★★★
()
Ответ на: комментарий от pyometra

А тебе на юдев переменные менять надо или прямо писать костыли.
Я не спец в этих делах особо (такой бинарь странный :) этот рхвойс), лучше закастуй кого с дев раздела в эту тему.

amorpher ★★★★★
()

почитал ещё в закромах интернета и решил пока вот такими правилами

ACTION=="add" KERNEL=="sd[b-d][0-9]" RUN+="/usr/bin/boltalka.sh %k"
ACTION=="remove" KERNEL=="sd[b-d][0-9]" RUN+="/usr/bin/boltalka.sh %k"
pyometra ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.