PKGBUILD для нового голосового движка

leonardo19, хз чего у тебя не так
вот у меня -- http://youtu.be/PdtJW_FmDMU
grayich
leonardo19, хз чего у тебя не так
вот у меня -- http://youtu.be/PdtJW_FmDMU
Да я верю...
grayich, если у тебя i686, не сочти за труд — готовый пакет мне как-нибудь кинь.
x86_64
Пакет собрался после установки portaudio и glibmm. То есть они должны быть включены в depends либо в makedepends — куда конкретно, не знаю.
У меня теперь другая проблема: не хочет говорить по cron. (скрипт запускает, но молчит)
Вызываю из питона вот так:
os.popen("echo " + txt + " | RHVoice-client -s Aleksandr+Alan | paplay").read()
или так
subprocess.Popen("echo " + txt + " | RHVoice-client -s Aleksandr+Alan | paplay", shell=True)
paplay менял на aplay -q

Если запускать скрипт из консоли, то работает.

Пробовал еще вот такой вариант:
 p = subprocess.Popen(
        ['RHVoice-client', "-s", "Aleksandr+Alan"],
        stdin=subprocess.PIPE, stdout=subprocess.PIPE,
        stderr=subprocess.PIPE, close_fds=True)
 stdout, stderr = p.communicate(txt.encode('utf-8'))
но так он даже из консоли молчит.
vantu5z, проблемы незапуска из крона на 99.99% всегда связаны с PATH
поэтому 2 варианта.. или установить (в скрипте) системный PATH в что-то вроде /usr/local/sbin:/usr/local/bin:/usr/bin .. правда как в питоне это делается .. хз
или использовать полные пути ...
не echo а /usr/bin/echo
не RHVoice-client а /usr/bin/RHVoice-client
и т.д.
grayich
мне кажется или синтез стал хуже, очень синтетический ?
В /etc/RHVoice/RHVoice.conf надо раскомментировать параметр hts_engine=mage и поменять на hts_engine=standard.
"Mage несколько уступает по качеству" -- мягко сказано...

Проблемы незапуска из крона на 99.99% всегда связаны с PATH
Добавил полные пути в команду, не помогает.

вот такие ошибки выдаёт:
окт 02 19:30:02 vantu5z-book CROND[19032]: (vantu5z) CMDOUT ((process:19043): glibmm-WARNING **: Glib::Error::throw_exception():)
окт 02 19:30:02 vantu5z-book CROND[19032]: (vantu5z) CMDOUT (  unknown error domain 'g-spawn-exit-error-quark': throwing generic Glib::Error exception)
окт 02 19:30:02 vantu5z-book CROND[19032]: (vantu5z) CMDOUT ()
окт 02 19:30:02 vantu5z-book CROND[19032]: (vantu5z) CMDOUT (Dbus error: 'Произошла ошибка при создании процесса командной строки «dbus-launch --autolaunch=aa020fa99048487e92a160185a02a93e --binary-syntax --close-stderr»: Дочерний процесс завершился с кодом 1')
окт 02 19:30:02 vantu5z-book CROND[19032]: (vantu5z) CMDOUT (Не удалось открыть аудиофайл.)

Попробовал еще запускать баш скрипотм симптомы такие же:
#!/bin/bash
/usr/bin/echo "проверка связи" | /usr/bin/RHVoice-client -s Aleksandr+Alan | /usr/bin/paplay

Такое ощущение, что он не видит сервис.
Кто-нибудь пробовал запустить его по крону? Если да, то каким образом удалось добиться результатов?


hts_engine=standard
leonardo19, спасибо за наводку, теперь гораздо лучше говорит.
Порылся на просторах интернета и нашел следуеще решение:
1. Наткнулся на http://tiflo.info/pipermail/rhvoice-users_tiflo.info/2013-March/001338.html (тут устаревшиая ссылка на конфигурационный файл speech-dispatcher)
2. Немного изменил PKGBUILD, чтобы установился модуль вывода для Speech Dispatcher:
 в раздел package() добавил несколько строк:
  install -D build/linux/test/RHVoice-test "${pkgdir}/usr/bin/"
  install -D build/linux/sd_module/sd_rhvoice "${pkgdir}/usr/bin/"
  install -m 644 build/linux/audio/libRHVoice_audio.so "${pkgdir}/usr/lib"
3. Поставил speech-dispatcher, есть в репах
4. Сконфигурировал его: spd-conf.
5. Внёс изменения в файл '/home/<user>/.config/speech-dispatcher/speechd.conf':
  В раздел OUTPUT MODULES CONFIGURATION добавил строку:  AddModule "rhvoice" "/usr/bin/sd_rhvoice"
  Чють ниже изменил дефолтный модуль:  DefaultModule   rhvoice
6. Перезапустил speech-dispatcher
7. Чтобы проверить, как всё получилось: spd-say "проверка связи"
8. В python скрипте вызов в виде:
p = subprocess.Popen(['spd-say', "-e"], stdin=subprocess.PIPE)
p.communicate(txt.encode('utf-8'))
9. В кроне "crontab -e" вызов в следующем виде: 43 18 * * 1-5 export DISPLAY=:0 && python 'путь до скрипта'

Всем спасибо! :)
Вот еще неясный момент.
Как указать для scons не только общесистемную директорию конфигов sysconfdir="/etc", но и папку домашней директории ~/.config/RHVoice либо ~/.RHVoice? Несподручно словарь править каждый раз из-под root'а. В мане и интернете не нашел.
 
Зарегистрироваться или войдите чтобы оставить сообщение.