2017-05-01 37 views
5

目前,谷歌助理SDK接受語音輸入,這意味着我的問題很簡單:我想與谷歌助手交談,但不使用語音,只是聊天。例如,這當然是,在Google Allo中。谷歌是否暴露了一個用於文本輸入的API?我們如何發送文字輸入到谷歌助手?

+1

現在支持它沒有可能的,但我建議你參加[討論](https://plus.google.com/101852559274654726533/posts/ BskrFscRYdh)的Google+社區。 – proppy

回答

2

它在v1alpha2版本的谷歌助理SDK服務

0

SDK沒有文本選項。也許在將來。

+0

你應該用_references_或_proof_ –

1

所以它看起來不像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軟件包不起作用,您需要點擊這些formulas。另外,這裏有一個使用espeak的python module。還有一個pocketsphinx作爲python模塊的repo,但我不能鏈接兩個以上的鏈接。

谷歌的助理似乎沒有太多的麻煩理解espeak的輸出。然而,Pocketsphinx通常會在轉錄文本時遇到一些麻煩。但是對於簡單的迴應它很有效。根據問題的長度和響應音頻文件,整個過程大約需要5到10秒。

+0

來支持你的答案還記得給腳本權限來使用'''chmod'''運行 –

+0

這感覺不雅 - 我不知道,即使我想綜合演講。 –