[РЕШЕНО]Поговори со мной, компьютер!

Ответить
Аватара пользователя
adeptru
Сообщения: 488
Зарегистрирован: 29 ноя 2015, 11:03
Operating system: ROSA Desktop Fresh 6 (уже 10)
Контактная информация:

[РЕШЕНО]Поговори со мной, компьютер!

Сообщение adeptru » 04 ноя 2018, 08:26

Во-первых, с Праздниками всех!
Теперь, к теме вопроса.
Захотелось, чтобы бук (время от времени) молвил чего-нить человеческим языком, да ишо и по-нашенски: установил festival и festivox-ru да сразу же, не проверяя, скрипт "дата-время" запустил, а он отказался работать (языкам, говорит, не обучен и ваще - отстань) -
Screenshot_20181104_194657.png
код скрипта:

Код: Выделить всё

#!/bin/bash

dat=`date +%H` #Время (кол-во часов)
day=`date +%A` #День недели
mont=`date +%B` #Месяц
num=`date +%e` #Число месяца
minut=`date +%M` #минута
n=$num #Порядковый номер названия числа словами в массиве chislo
night=5 #Конец ночи
morning=11 #Конец утра
afternoon=18 #Конец дня
evening=24 #Конец вечера
chislo=(ЧислаСловами первое второе третье четвёртое пятое шестое седьмое восьмое 
девятое десятое одиннадцатое двенадцатое тринадцатое четырнадцатое пятнадцатое 
шестнадцатое семнадцатое восемнадцатое девятнадцатое двадцатое двадцатьпервоое 
двадцатьвтороое двадцатьтретье двадцатьчетвёртоое двадцатьпятоое двадцатьестоое 
двадцатьседьмоое двадцатьвосьмоое двадцатьдевятоое тридцатое тридцатьпервоое)

if [ $dat -le $night ]
then
echo "Доброй ночи" | festival --tts --language russian
elif [ $dat -gt $night ] && [ $dat -le $morning ]
then
echo "Доброе утро" | festival --tts --language russian
elif [ $dat -gt $morning ] && [ $dat -le $afternoon ]
then
echo "День добрый." | festival --tts --language russian
elif [ $dat -gt $afternoon ] && [ $dat -le $evening ]
then
echo "Вечер добрый." | festival --tts --language russian
fi
echo "Сегодня" $day, $mont "месяц", ${chislo[n]} "число." "Местное время" $dat 
"$minut." | festival --tts --language russian
...ну, думаю, может хоть на забугорном чего ляпнет - опять же, послал куда подальше:
Screenshot_20181104_192114.png
...смотрю, а папки (которую он открыть не может - на скрине) у нас в директориях вообще нет! Это пол беды - начал в Сети просматривать: разговоры ведутся про файл languages.scm что находится в /usr/share/festival/ ... отсутствует, собаку за ногу, такой файл у нас!
Вот и вопросы: почему так - у нас в репозитории укладывают какие-то недоработанные версии дистрибутивов, которые при установке ни папки нужные не делают, ни файлы необходимые не прописывают?! И второй - как это все исправить, может знает кто?
Благодарю за участие!
P.S.: сайты с информацией - http://ru.festivalspeaker.wikia.com/wik ... 0_Festival и https://forum.ubuntu.ru/index.php?topic=92123.0
Последний раз редактировалось adeptru 04 ноя 2018, 11:01, всего редактировалось 1 раз.
...сегодня - лучше, чем вчера, завтра - лучше, чем сегодня!..

Аватара пользователя
VictorR2007
Сообщения: 5458
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Поговори со мной, компьютер!

Сообщение VictorR2007 » 04 ноя 2018, 09:04

Чтобы в системе был файл ‎/usr/share/festival/lib/languages.scm,
нужно установить пакет festival.
Для настройки русского языка нужно установить пакет festivox-ru .
Ищите дополнительную информацию в сети https://www.google.com/search?q=+%E2%80 ... =firefox-b

Аватара пользователя
adeptru
Сообщения: 488
Зарегистрирован: 29 ноя 2015, 11:03
Operating system: ROSA Desktop Fresh 6 (уже 10)
Контактная информация:

Поговори со мной, компьютер!

Сообщение adeptru » 04 ноя 2018, 09:17

VictorR2007 писал(а):
04 ноя 2018, 09:04
Чтобы в системе был файл ‎/usr/share/festival/lib/languages.scm,
нужно установить пакет festival.
Для настройки русского языка нужно установить пакет festivox-ru .
Ищите дополнительную информацию в сети https://www.google.com/search?q=+%E2%80 ... =firefox-b
Уважаемый, и festival, и festivox-ru установлены (в самом начале писал). ...В том месте, где Вы указали, файл нашелся - просто я читал, что он должен был находиться в самой папке festival, а про lib там ничего не было...
...сегодня - лучше, чем вчера, завтра - лучше, чем сегодня!..

Аватара пользователя
adeptru
Сообщения: 488
Зарегистрирован: 29 ноя 2015, 11:03
Operating system: ROSA Desktop Fresh 6 (уже 10)
Контактная информация:

[РЕШЕНО]Поговори со мной, компьютер!

Сообщение adeptru » 04 ноя 2018, 10:08

...раз файл нашелся, можно и пособирать: из пары ресурсов выбрал советы, объединил (так как не полные варианты были) - всё заработало! Между прочим, очень даже неплохо русский festival говорит!!!
...сейчас оформлю инструкцию - выложу, вдруг кому тож интересно...
Последний раз редактировалось adeptru 04 ноя 2018, 11:02, всего редактировалось 1 раз.
...сегодня - лучше, чем вчера, завтра - лучше, чем сегодня!..

Аватара пользователя
adeptru
Сообщения: 488
Зарегистрирован: 29 ноя 2015, 11:03
Operating system: ROSA Desktop Fresh 6 (уже 10)
Контактная информация:

Поговори со мной, компьютер!

Сообщение adeptru » 04 ноя 2018, 10:58

...ну, во-первых, естественно, установить сами пакеты festival и festivox-ru
потом, открываем файл /usr/share/festival/lib/festival.scm где в самом конце дописываем:

Код: Выделить всё

(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
- сохраняем, закрываем;
после этого, открываем файл /usr/share/festival/lib/languages.scm где сначала вначале вписываем

Код: Выделить всё

(define (language_russian)
"(language_russian)
Set up language parameters for Russian."
(set! male1 voice_msu_ru_nsh_clunits)
(male1)
(Parameter.set 'Language 'russian)
)
, потом в начале конечного блока кода (там где define(select_language language)) еще дописать

Код: Выделить всё

((equal? language 'russian)
(language_russian))
- сохраняем, закрываем.
В принципе - готово!
...для упрощения обращения пара скриптов: первый sayit.sh -

Код: Выделить всё

#!/bin/sh
festival -b "(begin (voice_msu_ru_nsh_clunits) (SayText \"$1\" nil))"
- для чтения введенного текста; второй readit.sh -

Код: Выделить всё

#!/bin/sh
festival -b "(begin (voice_msu_ru_nsh_clunits) (tts_file \"$1\" nil))"
- для чтения текстового файла; пример использования (в терминале): ./sayit.sh "Скажи чего-нибудь?"...
Тему, вроде как, можно считать закрытой.
VictorR2007 - огромная благодарность за подсказку!
...сегодня - лучше, чем вчера, завтра - лучше, чем сегодня!..

Survolog
Сообщения: 118
Зарегистрирован: 30 авг 2016, 22:30
Operating system: ROSA Fresh

[РЕШЕНО]Поговори со мной, компьютер!

Сообщение Survolog » 04 ноя 2018, 12:50

adeptru писал(а):
04 ноя 2018, 08:26
молвил чего-нить человеческим языком
Как вариант:
urpmi translate-shell
trans -p -b 'У попа была собака, он её любил. Она съела кусок мяса, он её убил. Он бы её может и не убил бы, если кусок мяса был хотя бы из холодильника, а не с его ж.'
Думаю, так проще.

Аватара пользователя
adeptru
Сообщения: 488
Зарегистрирован: 29 ноя 2015, 11:03
Operating system: ROSA Desktop Fresh 6 (уже 10)
Контактная информация:

[РЕШЕНО]Поговори со мной, компьютер!

Сообщение adeptru » 04 ноя 2018, 12:56

Survolog писал(а):
04 ноя 2018, 12:50
adeptru писал(а):
04 ноя 2018, 08:26
молвил чего-нить человеческим языком
Как вариант:
urpmi translate-shell
trans -p -b 'У попа была собака, он её любил. Она съела кусок мяса, он её убил. Он бы её может и не убил бы, если кусок мяса был хотя бы из холодильника, но не с его же ж.'
Думаю, так проще.
Благодарю за подсказку!
Просто, если я правильно понимаю, вариант, что Вы предлагаете, только для терминала (shell)? А festival (festivox-ru) - это уже движок, который прикручивается к различным программам (телефония, pidgin тот же)...
...сегодня - лучше, чем вчера, завтра - лучше, чем сегодня!..

Аватара пользователя
adeptru
Сообщения: 488
Зарегистрирован: 29 ноя 2015, 11:03
Operating system: ROSA Desktop Fresh 6 (уже 10)
Контактная информация:

[РЕШЕНО]Поговори со мной, компьютер!

Сообщение adeptru » 04 ноя 2018, 22:36

Здоровья всем!
Небольшой вопросик появился: вот, переписал я (совсем чуть-чуть, пара слов) скрипт из первого поста, вытащил ссылку на него на рабочий стол, клацаю - всё работает (день недели, число, месяц, время говорит), но не нравится мне, когда стол значками забит... Перетянул на панель - значок появился, а толку от него нет! Кто знает, подскажите, как скрипт из панели запускать?
Благодарю.
...сегодня - лучше, чем вчера, завтра - лучше, чем сегодня!..

Ответить