Викия

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

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

13статей на
этой вики
Добавить новую страницу
Обсуждение0

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

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

все файлы должны быть в /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

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Викия-сеть

Случайная вики