Festival как альтернатива Alice

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Festival как альтернатива Alice

Сообщение sergejey » Ср ноя 27, 2013 4:08 pm

Я планирую в ближайшее время добавить возможность указания какой сценарий выполнить дополнительно на некоторые системные функции, в том числе say -- в нём уже можно будет и другие движки использовать и прочее. И, главное, обновлении системы не потребует правки файлов каждый раз.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Festival как альтернатива Alice

Сообщение ErmolenkoM » Ср ноя 27, 2013 6:34 pm

Есть предложение!
Нужен механизм создания _пользовательских_ функций. Что бы была возможность создать свои функции на PHP и они были видны из скриптов и других мест (аналогично common.class.php).
НО при этом не перезатирались при обновлении.
Типа такого: если файл есть, то include userfunction.php
Понятно, что в обновлении этого файла быть не должно.
Можно сделать что бы в CONNECT можно было его выложить.
Вообщем это сейчас делаю через Сценарии, но там проблема с возвратом значений, и вызов громоздкий.
Одна из задач - MySay() отличающаяся убавлением громкости (или приостановкой воспроизведения) Медиа, на время проговаривания текста. А может уже такое есть?
aka msh555
Cubian на Cubietruck, Connect
mixa
Сообщения: 7
Зарегистрирован: Вс окт 27, 2013 10:36 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: RHVoice как альтернатива TTS Google в Linux(Ubuntu Serve

Сообщение mixa » Ср ноя 27, 2013 8:12 pm

LuckyFIA писал(а):Новые голоса в RHVoice доступны, если собрать его из исходников https://github.com/Olga-Yakovleva/RHVoice ветка rewrite. Но есть одно но, RHVoice пока не поддерживает на прямую работу из командной строки, однако есть модуль для speech-dispatcher с которым можно и из командной строки. Таким образом имеем следующий план действий:
1. Ставим rhvoice-0.4_3alpha-1_i386.deb (прилагается), зависит от libao4, libportaudio2, dbus-x11
2. Ставим speech-dispatcher (apt-get install speech-dispatcher)
3. Копируем (или сим. линк) файл RHVoice.conf из /etc/RHVoice/ в /etc/speech-dispatcher/modules/
4. Копируем (или сим. линк) sd_rhvoice из /usr/bin/ в /usr/lib/speech-dispatcher-modules/ (собственно сам модуль)
5. Редактируем конфиг speechd.conf speech-dispatcher`а (лежит в /etc/speech-dispatcher), прописываем RHVoice как дефолтный движок и настраиваем звуковой выход (alsa/pulse). Мой speechd.conf прилагается.
6. Как бы всё, но есть пара камней: RHVoice написан для speech-dispatcher`а вер. 0.8, а в репозитории вер. 0.7, поэтому из 0.8 версии выдернут необходимый файл spd-say (прилагается), его можно скопировать с заменой существующего в /usr/bin/ а можно запускать и так.
Т.е. spd-say "Привет, это говорит шелезяка" -w -y anna , где -w ставит в очередь сообщения, a -y выбор голоса.
Да, чуть не забыл sudo usermod -a -G audio User, где User пользователь от имени которого будет запускаться spd-say , sudo init 6 или sudo shutdown -r now (кому что нравится) и можно пользоваться.
Архив RHVoice.zip с файлами лежит тут http://yadi.sk/d/ePqQBiBTBYAhV, сюда не влез.

Ну и чтобы прицепить все это дело к MDM, нужно в файле common.class.php в функции say внести изменения:

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

           } else {
                //safe_exec('cscript '.DOC_ROOT.'/rc/sapi.js '.$ph, 1, $level);
                safe_exec('spd-say "'.win2utf($ph).'" -w -y anna+alan', 1, $level);
Еще, так для размышления: если в функцию say добавить еще одну переменную, например $voice, то Алиса сможет говорить разными голосами.

P.S. Творчество проводилось на Ubuntu server 12.04.3 для себя, поэтому прошу сильно не пинать.
Хорошее руководство, но есть нюанс.
У меня продолжает генерировать через google tts.
Решил варворским способом - в файле common.class.php закоментировал строки с 42 по 62.

Как правильно отключить синтез через google tts ?
TangaRUS
Сообщения: 16
Зарегистрирован: Чт ноя 07, 2013 5:02 pm
Благодарил (а): 0
Поблагодарили: 0

Re: RHVoice как альтернатива TTS Google в Linux(Ubuntu Serve

Сообщение TangaRUS » Чт ноя 28, 2013 8:36 am

DiArt писал(а):Почему не поддерживают из командной строки?
Я напрямую в консоли писал - всё проговаривает
В приложенном выше .deb отсутствует бинарник "RHVoice". Ты наверное из сорцов собирал как-то иначе, или дистрибутив linux другой, где в пакетах есть оно.
mixa писал(а):Как правильно отключить синтез через google tts ?
Через веб-морду в настройках MJD "Use Google Text-to-Speech engine".
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Festival как альтернатива Alice

Сообщение sergejey » Чт ноя 28, 2013 10:01 am

msh555 писал(а):Есть предложение!
Нужен механизм создания _пользовательских_ функций. Что бы была возможность создать свои функции на PHP и они были видны из скриптов и других мест (аналогично common.class.php).
НО при этом не перезатирались при обновлении.
Типа такого: если файл есть, то include userfunction.php
Понятно, что в обновлении этого файла быть не должно.
Можно сделать что бы в CONNECT можно было его выложить.
Вообщем это сейчас делаю через Сценарии, но там проблема с возвратом значений, и вызов громоздкий.
Одна из задач - MySay() отличающаяся убавлением громкости (или приостановкой воспроизведения) Медиа, на время проговаривания текста. А может уже такое есть?
Можно добавить в ./lib/ любой .php файл и он будет автоматически подгружаться и доступен отовсюду (так уже сделано -- грузить все php-файлы из ./lib/, но не из подкаталогов), при этом раз в основном пакете файла с таким именем нет, то он не будет изменяться при обновлении. Там можно реализовать и mySay и всё, что угодно.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Festival как альтернатива Alice

Сообщение ErmolenkoM » Чт ноя 28, 2013 10:33 am

sergejey писал(а):Можно добавить в ./lib/ любой .php файл и он будет автоматически подгружаться и доступен отовсюду
Круто! Это то что нужно!
С вашего позволения, размещу эту информацию в вики. Я так понимаю, что для разработчика многие вещи очевидны, а последователям - тяжко.
Но думаю, что если описывать грабли, то рано или поздно - будет подробный и удобный мануал.
aka msh555
Cubian на Cubietruck, Connect
Anton_kulibin
Сообщения: 354
Зарегистрирован: Вт окт 09, 2012 8:05 am
Откуда: Луза Кировская обл. Россия
Благодарил (а): 20 раз
Поблагодарили: 35 раз

Re: Festival как альтернатива Alice

Сообщение Anton_kulibin » Чт янв 30, 2014 9:51 am

Кто-нибудь пробовал делать словарь для RHVoice, или хотя бы как ударения расставлять? А то иногда так говорит что прям плакать хочется))
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Festival как альтернатива Alice

Сообщение nick7zmail » Пт апр 25, 2014 3:32 pm

Привет. Недавно задумавшись о линуксе и голосовом синтезаторе вспомнил про виндовую "Алёну"...да и тут она неоднократно упоминалась. Решил зайти на их офсайт дабы посмотреть не появилсь ли сборка для линукса...и собственно вот что обнаружил...
https://acapela-box.com/AcaBox/index.php
Может как то можно выудить апи и использовать онлайновый синтезатор на подобии гугл войс? Будет отличная кросплатформенная штука...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
TangaRUS
Сообщения: 16
Зарегистрирован: Чт ноя 07, 2013 5:02 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Festival как альтернатива Alice

Сообщение TangaRUS » Пт апр 25, 2014 8:19 pm

nick7zmail писал(а):Может как то можно выудить апи и использовать онлайновый синтезатор на подобии гугл войс? Будет отличная кросплатформенная штука...
Есть там API конечно, только всё это платно (не API, а вообще сервис, как и многие подобные).
I like your text-to-speech and I would like to integrate it in my application, is it possible to access your text-to-speech via an API?
- acapela-box is designed to provide sound files only, however Acapela Group has many other products allowing integration of text-to-speech in an application via an API. Please have a look at www.acapela-group.com for more information on the complete product range of SDKs and developer tools from Acapela Group.
handy76
Сообщения: 33
Зарегистрирован: Пт авг 23, 2013 12:15 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Festival как альтернатива Alice

Сообщение handy76 » Вт дек 02, 2014 10:02 am

Добрый день, коллеги.

А никто не рассматривал вариант использования https://voicefabric.ru/ для синтеза голоса Алисы?

Наша российская разработка. И вроде бы api дают.
Вот на Хабре статья http://habrahabr.ru/company/speechpro/blog/244663/

Upd. Оказалось надо денег давать.... :-(

Upd2. На главной странице есть демо форма. И там есть api ключ, но ограничение в 150 символов.
Голос Марии мне понравился. Вечером попробую встроить в МЖД.
Ответить