2017-09-12 11 views
0

私はTwilio Voice Gather verbを使用して、いくつかの質問にuser speechの回答を集めています。アクションURLを呼び出す前に待ち時間を短縮する方法はありますか?私のテストによれば、デフォルトの動作は、各Gatherコールごとに無音が検出されてから6秒以上待つような感じです。twilio音声認識を使用して無音の後の待ち時間を減らす

var gather = new Gather(input: "speech", action: GetActionUrl(), language: Constants.Language, method: "POST", bargeIn: true, speechTimeout: 3, timeout: 3, partialResultCallback: "/RealTimeVoice", partialResultCallbackMethod: "GET"); 
gather.Say(promptMessage, language: Constants.Language, voice: Constants.Voice); 
response.Gather(gather); 
response.Redirect(GetRedirectUrl()); 
return TwiML(response, System.Text.Encoding.UTF8); 
+0

コードを表示できますか?あなたは普通のTWIMLまたはlibを使用していますか? –

+0

私はasp.net mvcのtwilioを使っています。このアプリはwebhooksを使ってtwilio番号に接続しています。 これはコードスニペットです: 'var gather = new Gather(入力:" speech "、アクション:GetActionUrl()、言語:Constants.Language、メソッド:" POST "、bargeIn:true、speechTimeout:3、timeout: 3、partialResultCallback: "/ RealTimeVoice"、partialResultCallbackMethod: "GET"); gather.Say(promptMessage、言語:Constants.Language、voice:Constants.Voice); レスポンス。収集(収集); レスポンス。リダイレクト(GetRedirectUrl()); return TwiML(response、System.Text.Encoding.UTF8); ' –

+0

私はdtmfとスピーチの両方に適用する必要があるので、' speechTimeout'を完全に削除して 'timeout'を調整しようとします。また、別の 'speechTimeout:" auto "'を試し、これがどうなるかを見てください。 –

答えて

0

ここではTwilioの開発者エバンジェリストです。

タイムアウトに達すると、Twilioはライブ録画を使用してaction URLに投稿された最終結果を生成する必要があります。現在、speechTimeoutは3秒に設定されているため、最終結果を取得してURLにリクエストするためには、少し遅れて遅延が発生します。

アレックスがコメントに示唆しているように、speechTimeout: 'auto'を試して、スピーチのギャップを認識して提出するように訓練することができます。

また、partialResultCallbackも設定しています。これは、最終的な結果を待たずに望む結果が得られたら、通話を中断するのに便利です。あなたが探している結果を検出した場合は、待つのではなく次の作業にREST API to redirect the callを使用することができます。

それがまったく役に立ったら教えてください。

+0

"speechTimeOut"がint型のパラメータを待っているので、文字列 'auto'の値を設定できないので、sdkのバグがあるようです:S。 timeOut属性を削除しようとしましたが、待機時間が長くなり、3秒未満の値を設定すると、ユーザーが質問に回答するのに十分な時間がかかりません。問題は答えが得られる時間ではなく、問題はユーザーが答えを出した後に待つ時間です。 –

+0

SDKのバグのように聞こえますが、GitHubで問題を提起しているのを見て、できるだけ早くプッシュするようにしていきます。両方のタイムアウト属性を削除すると、デフォルトで5秒になります。そのため、時間がかかることがあります。 – philnash