В настоящее время SDK помощника Google принимает голосовой ввод, а это означает, что мой вопрос довольно прост: я хочу общаться с помощником Google, но не с помощью голоса, а просто в чате. Это, безусловно, возможно, например, в Google Allo. Google предоставил API для ввода текста?
Как мы можем отправить текстовый ввод помощнику Google?
Ответы (2)
Теперь он поддерживается в v1alpha2
версии службы SDK Google Assistant.
Так что не похоже, что sdk принимает текст, но принимает ввод аудиофайла. Он даже выводится как аудиофайл.
python -m pushtotalk -i somefile.wav -o outputfile.wav
Это заставило меня задуматься, и я написал сценарий:
echo $1 >> query.txt
espeak -f query.txt -w audio_query.wav
python -m pushtotalk -i audio_query.wav -o audio_response.wav &> pushtotalk.log
pocketsphinx_continuous -infile audio_response.wav 2> pocketsphinx.log > response.txt
cat response.txt
rm response.txt query.txt audio_query.wav audio_response.wav pocketsphinx.log pushtotalk.log
Это просто сценарий оболочки, но его, вероятно, тоже можно преобразовать в python. Чтобы использовать его, сохраните сценарий как pushtotalk_script.sh
и запустите ./pushtotalk_script.sh "how tall is mount kilamanjaro?
. Я использую espeak, чтобы преобразовать текст в файл wav. Затем используйте помощник sdk, чтобы получить ответ. Вы можете остановиться здесь и проиграть ответ. Pocketsphinx - это движок транскрибера аудио, созданный CMU. Вы можете найти пакеты для этих инструментов с помощью apt-get, но если вы используете OSX, пакет pocketsphinx не работает, и вам нужно будет нажать эти формулы. Кроме того, есть модуль Python для использования espeak. И есть репо для pocketsphinx в качестве модуля Python, но я не могу связать более двух ссылок.
У Google Assistant, похоже, нет особых проблем с пониманием вывода espeak. Однако у Pocketsphinx обычно возникают проблемы с расшифровкой текста. Но он подходит для простых ответов. В зависимости от длины вопроса и аудиофайлов ответов, весь процесс занимает от 5 до 10 секунд.
chmod
- person Binit Shah; 30.06.2017