2016-11-17 68 views
3

我目前使用Twilio撥打電話,並且想要添加語音識別元素,以便如果用戶說特定的短語,我的後端可以使用具體行動。如果你熟悉Twilio,類似於Gather動詞。它需要是實時的,因爲如果存在識別問題,用戶將被要求澄清。從Twillio錄製的電話進行實時語音識別

回答

1

要將語音識別添加到Twilio Gather動詞,請將「語音」添加到聚集輸入值,例如:input =「dtmf speech」。在調用者說出一些內容並保持安靜之後,Twilio服務器將文本中的語音轉換並將文本發送到操作URL,然後等待響應指令。您的程序可以使用文本來回應您的選擇。一種選擇是讓你的程序用修正指令(Say動詞)做出迴應,並讓主叫者說出更多內容,然後再通過你的動作URL處理。

Twilio備齊文件,包括語音識別的實現: https://www.twilio.com/docs/api/twiml/gather

實施例TwiML使用所述語音識別標識符的收集動詞。

<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
    <Gather input="dtmf speech" language="en-us" 
      numDigits="1" 
      timeout="6" 
      action="http://hostname/processUserResponse.py"> 
     <Say voice="alice" language="en-CA"> 
      Okay, speech recognition test. Enter any digit or say something. 
     </Say> 
    </Gather> 
    <Say voice="alice" language="en-CA"> 
     Waited to long to say something. Response canceled .... 
    </Say> 
</Response> 
+0

我在Twilio的會議上時,他們宣佈這一點! – David

0

我不相信有這樣做的任何實時工作。但是,您可以使用語音錄製功能,將錄製內容傳遞給其他服務(IBM的Watson Speech to Text),然後從那裏處理。它應該能夠通過正確的工作流程相對快速地完成此操作。我從來沒有使用沃森,只是看到它使用。所以我不確定處理記錄需要多長時間。我認爲應該儘快完成一兩個單詞命令。

對不起,我無法提供更多指導。社區中的其他人可能有另一種方法。

0

IBM Watson語音轉文本服務(STT)具有此功能,因此稱爲Keyword Spotting(https://www.ibm.com/watson/developercloud/doc/speech-to-text/output.shtml)。 Watson STT可讓您推送電話音頻的實時流,不僅可以產生識別假設,還可以檢測用戶是否說過預先指定的句子或命令。其實是有,展示此功能的演示,請試一試:

https://speech-to-text-demo.mybluemix.net/

+2

問題是實時訪問音頻。我已經意識到沃森,必應和谷歌的語音到文本功能可以在錄製電話後完成,但這還不夠。我需要將來自呼叫者的現場音頻路由到引擎。 – David

+0

所以你的問題是關於在通話期間獲取音頻的實時流與通話後獲得錄音,好的,抱歉的誤解 –