目前,谷歌助手SDK接受语音输入,这意味着我的问题相当简单:我想与谷歌助手交谈但不使用语音,只是聊天。这肯定是可能的,例如,在Google Allo中。 Google是否公开了用于文本输入的API?
答案 0 :(得分:4)
现在,Google智能助理SDK服务的v1alpha2
版本支持此功能
答案 1 :(得分:2)
所以它看起来不像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
这只是一个shell脚本,但这也可能会转换为python。要使用它,请将脚本另存为pushtotalk_script.sh
并运行./pushtotalk_script.sh "how tall is mount kilamanjaro?
。我使用espeak将文本转换为wav文件。然后使用助手sdk获得响应。你可以在这里停下来播放回复。 Pocketsphinx是由CMU创建的音频转录引擎。您可以使用apt-get找到这些工具的软件包,但是如果您使用的是OSX,则pocketphinx软件包不起作用,您需要点击这些formulas。此外,这里使用espeak python module。还有一个针对pocketsphinx作为python模块的回购,但我无法链接两个以上的链接。
Google的助手似乎在理解espeak的输出时遇到了很多麻烦。然而,Pocketsphinx通常会在转录文本时遇到一些麻烦。但它适用于简单的响应。根据问题的长度和响应音频文件,整个过程大约需要5到10秒。