目前,谷歌助手SDK接受语音输入,这意味着我的问题很简单:我想与谷歌助手交谈但不使用语音,只是聊天。这当然是可能的,例如,在 Google Allo 中。谷歌是否公开了用于文本输入的 API?
4064 次
2 回答
4
v1alpha2
Google Assistant SDK 服务版本现在支持它
于 2017-12-29T19:49:15.453 回答
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 上,pocketsphinx 软件包不起作用,您需要点击这些公式。此外,这是一个使用 espeak的python 模块。并且有一个pocketsphinx 作为python 模块的repo,但我不能链接两个以上的链接。
谷歌的助手似乎在理解 espeak 的输出时没有太多麻烦。然而,Pocketsphinx 通常在转录文本时会遇到一些麻烦。但它适用于简单的响应。根据问题的长度和响应音频文件,整个过程大约需要 5 到 10 秒。
于 2017-06-30T16:12:07.597 回答