LINUX.ORG.RU

festival(голосовой движок) проговаривание даты-времени


0

0

Нужна помощь, фестиваль поставил и настроил, всё работает замечательно. Теперь хочу сделать что бы он проговаривал время и дату и поместить это дело в cron, Как можно реализовать эту фишку. Знаю что команда date выводит дату время но её нужно парсить и раскладывать.

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

прикольная игрушка )))

Ммм а как в скрипте питона выполнить команду оболочки? Что нибудь вроде этого festival --language russian --tts /home/tim/3

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

Это задача шелла :)

smarttime.py | festival ...

Соответствующая строчка висит тупо в cron'е.

На самом деле для cron'а минуты даже не нужны, достаточно часы из словаря и всё. Я делал универсальный вариант в надежде найти несложную систему управления голосом (по голосовым меткам хотя бы).

- Компьютер, время?
- Двадцать два часа сорок четыре минуты.

Увы, управлялку временем не нашёл. Так что скрипт этот без дела. А время у меня каждый час так выводится:

0 8-22 * * * /home/balancer/syncronized/Documents/Sounds/kuku.sh

=== kuku.sh ===
#!/bin/sh

for i in k3b mplayer nero exaile; do
if [ "`pgrep -f $i`." != "." ]; then exit; fi
done

KUKU=`/bin/date +%l`
while [ $KUKU -gt 0 ]; do
play -q /home/balancer/syncronized/Documents/Sounds/cuckoo.au
KUKU=$((KUKU-1))
done

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

> Ммм а как в скрипте питона выполнить команду оболочки? Что нибудь вроде этого festival --language russian --tts /home/tim/3

import os

os.system("festival --language russian --tts /home/tim/3")

simbiont7182817
()

Всем спасибо разобрался что и как, всё работает. Смешно так проговаривает.

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

Лови в http://balancer.ru/files/0906/cuckoo.au

Кстати, я предыдущий скрипт не очень хорошо подчистил.

Вот полный вариант:

#!/bin/sh 

for i in k3b mplayer nero exaile; do
    if [ "`pgrep -f $i`." != "." ]; then exit; fi
done

KUKU=`/bin/date +%l`
if [ "`mount|grep /media/dvd`." == "." ]; then sudo eject /dev/cdrom; fi 
while [ $KUKU -gt 0 ]; do
play -q /home/balancer/syncronized/Documents/Sounds/cuckoo.au
KUKU=$((KUKU-1))
done
if [ "`mount|grep /media/dvd`." == "." ]; then eject -t /dev/cdrom; fi 

KRoN73 ★★★★★
()

Я себе тоже аналогичный скрипт сваял, но он почему-то говорит "два чАса", а не "два часА". Кстати, фестиваль спокойно проговаривает цифры в виде цифр, не надо ему разжевывать словами. Только добавил единицы измерения.

ЗЫ В результате, правда, скрипт отключил - когда в одном кабинете двое говорящих часов, это раздражает (вторыми работает Nabaztag).

svu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.