Банк скриптов для голосового движка Festival Wiki
Advertisement

Привет уважаемый читатель\ница![]

Начнем с приготовлений:
Нам понадобятся следущие скрипты:

все файлы должны быть в /home/user/scripts/festival/

Вот собственно сам скрипт приветствия который у меня отлично уместился в crontab -e 

#!/bin/bash

user="username"	# Имя пользователя, да не все сразу находят где заполнять.

SCRIPTS=/home/$user/scripts/festival/

###################################################################
#               в оригинале этого скрипта столкнулся с кучей 
#               проблем, так что подредактировал автору не в обиду

stime_H=$(date +%H)
stime_M=$(date +%M)
stime_H=`echo ${stime_H}|sed 's/^0*//'`

cH="Вр+емя: $(${SCRIPTS}number_case.php male ${stime_H} ) \
      $(${SCRIPTS}pluralform.sh ${stime_H} час час+а час+ов)"

if [ ${stime_M} -gt 0 ] ; then
stime_M=`echo ${stime_M}|sed 's/^0*//'`
cM="${ch} $(${SCRIPTS}number_case.php female ${stime_M} ) \
      $(${SCRIPTS}pluralform.sh ${stime_M} мин+ута мин+уты мин+ут)"
TIME="$cH $cM"
else
TIME=" ${cH} р+овно."
fi

###################################################################

sdate=$(date "+%_d %_m")   #Число и месяц
day=`date +%A` 		   #День недели
night=5 		   #Конец ночи
morning=11 		   #Конец утра
afternoon=18 		   #Конец дня
evening=24 		   #Конец вечера



if [ ${stime_H} -le $night ]
then
privet="Доброй н+очи"
elif [ ${stime_H} -gt $night ] && [ ${stime_H} -le $morning ]
then
privet="Д+оброе +утро"
elif [ ${stime_H} -gt $morning ] && [ ${stime_H} -le $afternoon ]
then
privet="День д+обрый"
elif [ ${stime_H} -gt $afternoon ] && [ ${stime_H} -le $evening ]
then
privet="Вечер д+обрый"
fi
TEXT="$privet! "Сев+одня" $day.  $(${SCRIPTS}date_echo.sh $sdate), $TIME!"
${SCRIPTS}saytext_ru.sh "${TEXT}"

Сохраняем к примеру как privet.sh даем права на запуск:

$ chmod u+x privet.sh

pluralform.sh 

#!/bin/bash
 n=$(($1 % 100))
 n1=$(($n % 10))
 if [ $n -gt 10 -a $n -lt 20 ]; then echo $4;
 elif [ $n1 -gt 1 -a $n1 -lt 5 ]; then echo $3;
 elif [ $n1 -eq 1 ]; then echo $2;
 else echo $4
 fi

и saytext_ru.sh

#!/bin/bash
# http://ru.festivalspeaker.wikia.com

user="USERNAME" # Ваше имя пользователя введите вместо USERNAME
echo "$1" | text2wave -o /home/$user/scripts/festival/data/saytext_ru.wav -eval "(voice_msu_ru_nsh_clunits)"
aplay /home/$user/scripts/festival/data/saytext_ru.wav > /dev/null 2>&1
Advertisement