通过Twillio录制的电话进行实时语音识别

时间:2016-11-17 19:58:42

标签: twilio speech-recognition speech-to-text

我目前正在使用Twilio拨打电话,我想添加语音识别元素,这样如果用户说出特定的短语,我的后端就可以采取特定的操作。如果您熟悉Twilio,类似于Gather动词。它需要是实时的,因为如果存在识别问题,将提示用户澄清。

5 个答案:

答案 0 :(得分:2)

要将语音识别添加到Twilio Gather动词,请将“speech”添加到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>

答案 1 :(得分:1)

此处简要介绍了这一点:https://stackoverflow.com/a/30224103/6189694

好像你必须设置一个电话会议,然后作为一个静音用户加入来收听电话。

答案 2 :(得分:0)

我不相信有任何可以实时工作的东西。但是,您可以使用录音,将录音传递给另一个服务(IBM的Watson Speech to Text),然后从那里处理它。它应该能够通过正确的工作流程相对快速地完成此任务。我从未使用Watson,只是看到它使用过。所以我不确定处理录音需要多长时间。我认为应该快速完成一两个单词命令。

抱歉,我无法提供更多指导。社区中的其他人可能有另一种方法。

答案 3 :(得分:0)

C#.net Core IVR Gather示例使用枚举列表,而不是根据我上面的评论在正式的旧C#示例中提供的合并枚举(还必须将url.actionurl转换为这种怪异):

PARTITION

答案 4 :(得分:-1)

IBM Watson Speech To Text服务(STT)具有此功能,称为关键字定位(https://www.ibm.com/watson/developercloud/doc/speech-to-text/output.shtml)。 Watson STT将让您推送电话音频直播,不仅可以产生识别假设,还可以检测用户是否预先指定了句子或命令。实际上有一个演示展示了这个功能,请试一试:

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