RHVoice голосовой движок

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
ilya14
Сообщения: 8
Зарегистрирован: 24 авг 2011, 15:11

RHVoice голосовой движок

Сообщение ilya14 » 13 янв 2013, 15:29

Кто нибудь устанавливал и разбирался с этим движком. А то поставил этот движок ни не могу понять как предавать на него данные для воспроизведения. Конечно он лучше чем Festival. Если кто разбирался отпишитесь пожалуйста.

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: RHVoice голосовой движок

Сообщение ArtSamovar » 13 янв 2013, 16:00

ilya14 писал(а):Кто нибудь устанавливал и разбирался с этим движком. А то поставил этот движок ни не могу понять как предавать на него данные для воспроизведения. Конечно он лучше чем Festival. Если кто разбирался отпишитесь пожалуйста.
Пример мужского голоса очень напоминает festival.
Женский лучше гугловской ))))))

Спасибо, поковыряем
Лень — двигатель прогресса...

ilya14
Сообщения: 8
Зарегистрирован: 24 авг 2011, 15:11

Re: RHVoice голосовой движок

Сообщение ilya14 » 13 янв 2013, 16:24

да там тоже есть женский.

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: RHVoice голосовой движок

Сообщение ArtSamovar » 13 янв 2013, 20:34

На убунту поставилась без проблем, все библиотеки в стандартных репозиториях.
Голос действительно мягче фестиваля. К тому же довольно гибкая настройка голоса, скорость, высота и так далее.
Единственно, чуть металлизированнее, чем гугловский. Но настроить можно ))))
Есть маркер, знак, который, если поставить перед гласной, то ударение в слове, будет именно на него. Например Замок (дворец), Зам*ок (на дверь).
Читает довольно объемный текст.
По умолчанию кидает конфигурацию в /usr/local/etc/RHVoice/RHVoice.conf В нем по русски всё описано. 2 голоса, мужской и женский.
Можно подключить словарь.
Вот пример
Офф сайт тут

В общем это достойная замена фестивалю и синтезатору от гугла. ))))))))))))))))
Лень — двигатель прогресса...

vtec
Сообщения: 459
Зарегистрирован: 19 сен 2011, 09:28

Re: RHVoice голосовой движок

Сообщение vtec » 13 янв 2013, 21:20

Под убунту просто скомпилировали и все?
Да, голос какой то металлический. Если бы этот момент поправить, наверное это был бы наилучший вариант.

ilya14
Сообщения: 8
Зарегистрирован: 24 авг 2011, 15:11

Re: RHVoice голосовой движок

Сообщение ilya14 » 13 янв 2013, 21:47

ArtSamovar писал(а):На убунту поставилась без проблем, все библиотеки в стандартных репозиториях.
Голос действительно мягче фестиваля. К тому же довольно гибкая настройка голоса, скорость, высота и так далее.
Единственно, чуть металлизированнее, чем гугловский. Но настроить можно ))))
Есть маркер, знак, который, если поставить перед гласной, то ударение в слове, будет именно на него. Например Замок (дворец), Зам*ок (на дверь).
Читает довольно объемный текст.
По умолчанию кидает конфигурацию в /usr/local/etc/RHVoice/RHVoice.conf В нем по русски всё описано. 2 голоса, мужской и женский.
Можно подключить словарь.
Вот пример
Офф сайт тут

В общем это достойная замена фестивалю и синтезатору от гугла. ))))))))))))))))
А ты какую версию ставил? Да я вот голову ломаю как теперь чтобы это программа начала температуру за окном говорит которая берется с датчика.

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: RHVoice голосовой движок

Сообщение ArtSamovar » 14 янв 2013, 00:36

ilya14 писал(а): А ты какую версию ставил? Да я вот голову ломаю как теперь чтобы это программа начала температуру за окном говорит которая берется с датчика.
С офф...
помимо нужны
* A C/C++ compiler
* SCons build system (http://www.scons.org/)
* Python (http://www.python.org/)
* Flite 1.4 or later
* GNU libunistring 0.9.3 or later
* expat
* pcre
* libsox

________________________
По поводу произношения чисел. Напрмер 12 мая 2012 года она произнесет "двенадцать мая две тысячи двенадцать года".
С температурой, думаю проще 12 градусов, 5 градусов выше нуля и так далее.
Если значения температуры пишутся в базу, топодключаешься к базе, выдергиваешь в переменную значение, далее его округляешь до целых и выводишь в результат.

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

.....
	$text="тут округленное значение";
	exec('echo '.$text.' | RHVoice -o /var/www/voice/test.flacc'); //mp3, waw и так далее
	exec('play /var/www/voice/test.flacc');
Можно и сразу воспроизвести, но через файл удобнее.
Затем chmod +x voice.php и проверяешь работу.
Лень — двигатель прогресса...

vtec
Сообщения: 459
Зарегистрирован: 19 сен 2011, 09:28

Re: RHVoice голосовой движок

Сообщение vtec » 14 янв 2013, 08:42

ArtSamovar писал(а):По поводу произношения чисел. Напрмер 12 мая 2012 года она произнесет "двенадцать мая две тысячи двенадцать года".
С температурой, думаю проще 12 градусов, 5 градусов выше нуля и так далее.
Тут надо склонять.
Выдернул из bash скрипта, у меня так работает:

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

if [ "$CURR_HOUR" -eq "0" ] || [ "$CURR_HOUR" -eq "5" ] || [ "$CURR_HOUR" -eq "6" ] || [ "$CURR_HOUR" -eq "7" ] || [ "$CURR_HOUR" -eq "8" ] || [ "$CURR_HOUR" -eq "9" ] || [ "$CURR_HOUR" -eq "11" ] || [ "$CURR_HOUR" -eq "12" ] || [ "$CURR_HOUR" -eq "13" ] || [ "$CURR_HOUR" -eq "14" ] || [ "$TEMP_HOUR" -eq "0" ] || [ "$TEMP_HOUR" -eq "5" ] || [ "$TEMP_HOUR" -eq "6" ] || [ "$TEMP_HOUR" -eq "7" ] || [ "$TEMP_HOUR" -eq "8" ] || [ "$TEMP_HOUR" -eq "9" ]; then LC_HOUR="часов"

elif [ "$CURR_HOUR" -eq "2" ] || [ "$CURR_HOUR" -eq "3" ] || [ "$CURR_HOUR" -eq "4" ] || [ "$TEMP_HOUR" -eq "2" ] || [ "$TEMP_HOUR" -eq "3" ] || [ "$TEMP_HOUR" -eq "4" ]; then LC_HOUR="часа"

elif [ "$CURR_HOUR" -eq "1" ] || [ "$TEMP_HOUR" -eq "1" ]; then LC_HOUR="час"

fi


if [ "$CURR_MIN" -eq "5" ] || [ "$CURR_MIN" -eq "6" ] || [ "$CURR_MIN" -eq "7" ] || [ "$CURR_MIN" -eq "8" ] || [ "$CURR_MIN" -eq "9" ] || [ "$CURR_MIN" -eq "11" ] || [ "$CURR_MIN" -eq "12" ] || [ "$CURR_MIN" -eq "13" ] || [ "$CURR_MIN" -eq "14" ] || [ "$TEMP_MIN" -eq "0" ] || [ "$TEMP_MIN" -eq "5" ] || [ "$TEMP_MIN" -eq "6" ] || [ "$TEMP_MIN" -eq "7" ] || [ "$TEMP_MIN" -eq "8" ] || [ "$TEMP_MIN" -eq "9" ]; then LC_MINUTE="минут"

elif [ "$CURR_MIN" -eq "3" ] || [ "$CURR_MIN" -eq "4" ] || [ "$TEMP_MIN" -eq "3" ] || [ "$TEMP_MIN" -eq "4" ]; then LC_MINUTE="минуты"

fi


if [ "$CURR_MIN" -eq "1" ]; then DATE_TIME="$CURR_HOUR $LC_HOUR однa минута"

elif [ "$CURR_MIN" -eq "11" ]; then DATE_TIME="$CURR_HOUR $LC_HOUR $CURR_MIN $LC_MINUTE"

elif [ "$TEMP_MIN" -eq "1" ]; then DATE_TIME="$CURR_HOUR $LC_HOUR $(echo $CURR_MIN-1|bc) одна минута"

elif [ "$CURR_MIN" -eq "2" ]; then DATE_TIME="$CURR_HOUR $LC_HOUR две минуты"

elif [ "$CURR_MIN" -eq "12" ]; then DATE_TIME="$CURR_HOUR $LC_HOUR $CURR_MIN $LC_MINUTE"

elif [ "$TEMP_MIN" -eq "2" ]; then DATE_TIME="$CURR_HOUR $LC_HOUR $(echo $CURR_MIN-2|bc) две минуты"

elif [ "$CURR_MIN" -eq "00" ]; then DATE_TIME="$CURR_HOUR $LC_HOUR ровно"

else DATE_TIME="$CURR_HOUR $LC_HOUR $CURR_MIN $LC_MINUTE"

fi

}

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: RHVoice голосовой движок

Сообщение ArtSamovar » 14 янв 2013, 10:17

vtec писал(а):Выдернул из bash скрипта, у меня так работает
Спасибо
Лень — двигатель прогресса...

ilya14
Сообщения: 8
Зарегистрирован: 24 авг 2011, 15:11

Re: RHVoice голосовой движок

Сообщение ilya14 » 14 янв 2013, 19:32

Спасибо парни буду пробовать.

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: RHVoice голосовой движок

Сообщение arbuzmaster » 07 дек 2015, 22:54

Подскажите - может кто знает как выдерживать паузу между фразами в RHVoice ?

kulpinivan
Сообщения: 25
Зарегистрирован: 25 ноя 2012, 23:23

Re: RHVoice не работате в CRON

Сообщение kulpinivan » 09 мар 2016, 18:06

Всем добрый день.
Суть проблемы такова. Установлена система Mint 17.3, установлен Festival и RhVoice.
Решил сделать оп примеру автора проекта некий будильник в котором проигрывается мелодия и потом голосовое сообщение.
Сделал небольшой скрипт на Bash в котором сначала через play проигрывается mp3 файл, а затем синтезатором проговаривается некий текст. Права на сам скрипт назначены пользователю. Пользователь добален в группу audio.
Так вот, при запуске из терминала все отлично работает неважно какой синтезатор, успешно и с festival и с RHVoice, но как только добавляю скрипт в расписание crontab -e (пробовал и под локальным пользователем, и под root-ом) не работает с RHVoice, т.е. тот же самый скрипт в том же самом расписании, с festival работает, как только ставлю в качестве синтезатора RHVoice то молчит... иногда только музыкальный файл воспроизводится, а иногда вообще ничего, повторюсь, через терминал все ОК.
Куда копать? помогите, festival хоть и работает не устраивает качеством.
ПС RHVoice и SPD одинаково не работают в cron.

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: RHVoice голосовой движок

Сообщение arbuzmaster » 09 мар 2016, 20:55

Может нужно полностью путь до RHVoice указать?

kulpinivan
Сообщения: 25
Зарегистрирован: 25 ноя 2012, 23:23

Re: RHVoice голосовой движок

Сообщение kulpinivan » 16 мар 2016, 22:29

arbuzmaster писал(а):Может нужно полностью путь до RHVoice указать?
В общем, снес я Mint, поставил Debian 8. Пришлось повозиться прежде чем я добрался опять до RHVoice,
ситуация такая же. Из терминала под моим обычным пользователем все запускается нормально, но если создаю распиание в crontab -e этого же пользователя, проигрывается только муз. файл, синтеза речи нет.
Скрипт такой примерно:
#!/bin/bash
bash /home/user/scripts/01zvon.sh
echo "Докладываю текущую температуру в квартире " | RHVoice-client -s Elena+CLB | aplay

листинг 01zvon.sh
#!/bin/bash
play /home/user/scripts/zvon.mp3

При работе по расписанию слышно воспроизведение zvon.mp3 а голоса нет.
Если скрипт запустить из терминала, или через проводник то все нормально.

Указание путей результата не дало
| /usr/bin/RHVoice-client -s Elena+CLB | /usr/bin/aplay

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: RHVoice голосовой движок

Сообщение arbuzmaster » 17 мар 2016, 01:43

А если так попробовать?

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

echo "Докладываю текущую температуру в квартире " | RHVoice -d /var/www/html/voice/Elena>voice_sms.mp3
ну и естественно /var/www/html/voice/Elena заменить на свой путь.

kulpinivan
Сообщения: 25
Зарегистрирован: 25 ноя 2012, 23:23

Re: RHVoice голосовой движок

Сообщение kulpinivan » 17 мар 2016, 23:21

arbuzmaster писал(а):А если так попробовать?

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

echo "Докладываю текущую температуру в квартире " | RHVoice -d /var/www/html/voice/Elena>voice_sms.mp3
ну и естественно /var/www/html/voice/Elena заменить на свой путь.
голоса у меня находятся /usr/share/RHVoice/voices/elena
попробовал подставить пишет RHVoice команада не найдена (в /usr/bin нет RHVoice есть RHvoice-client и RHVoice-service)
если задать вот так: echo "Докладываю текущую температуру в квартире " | RHVoice-client -d /usr/share/RHVoice/voices/Elena>voice_sms.mp3
выдает
PARSE ERROR: Argument: -d
Couldn't find match for argument

Brief USAGE:
RHVoice-client -s <spec> [-v <number between -1 and 1>] [-r <number
between -1 and 1>] [-p <number between -1 and 1>] [--]
[--version] [-h]

For complete USAGE and HELP type:
RHVoice-client --help
сама сборка у меня какая то странная, ставил вот так:
сначала подключил sudo add-apt-repository ppa:linvinus/rhvoice
затем sudo apt-get install rhvoice rhvoice-russian

kulpinivan
Сообщения: 25
Зарегистрирован: 25 ноя 2012, 23:23

Re: RHVoice голосовой движок

Сообщение kulpinivan » 17 мар 2016, 23:38

попробовал с параметром -s (знать бы что эти параметры означают)
echo "Докладываю текущую температуру в квартире " | RHVoice-client -s /usr/share/RHVoice/voices/Elena >voice_sms.mp3
пишет Dbus error: 'GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: No voices found'
значит голоса у меня не там, а где??
убрал путь echo "Докладываю текущую температуру в квартире " | RHVoice-client -s Elena >voice_sms.mp3
файл появился, проигрывается нормально, но это все в терминале.
Попробовал засунуть это в скрипт, при запуске по расписанию файл создается но пустой 0 байт...
не пойму чего ему надо

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: RHVoice голосовой движок

Сообщение arbuzmaster » 19 мар 2016, 01:01

Раз файл создается, можно сделать вывод, что либо проблема с голосом, либо с правами доступа, но мне кажется что наиболее вероятен первый вариант! У меня при запуске через php было такое, когда путь к голосу был неправильно выставлен!

kulpinivan
Сообщения: 25
Зарегистрирован: 25 ноя 2012, 23:23

Re: RHVoice голосовой движок

Сообщение kulpinivan » 20 мар 2016, 10:28

Подскажите пожалуйста, где у вас расположены файлы голосов.

kulpinivan
Сообщения: 25
Зарегистрирован: 25 ноя 2012, 23:23

Re: RHVoice голосовой движок

Сообщение kulpinivan » 21 мар 2016, 21:32

Ура! заработало!
В общем совместными усилиями, перерыв интернет, разобрался.
Все дело было в шине Dbus, а RHVoice-client установленный у меня, работает как раз через Dbus.
Решение такое: в скрипте перед выполнением синтеза фразы поставил
export $(dbus-launch)
и все,)) стало прекрасно работать.
Может это еще кому то поможет, всем спасибо за участие.

Ответить