我目前正在使用Twilio拨打电话,我想添加语音识别元素,这样如果用户说出特定的短语,我的后端就可以采取特定的操作。如果您熟悉Twilio,类似于Gather动词。它需要是实时的,因为如果存在识别问题,将提示用户澄清。
答案 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将让您推送电话音频直播,不仅可以产生识别假设,还可以检测用户是否预先指定了句子或命令。实际上有一个演示展示了这个功能,请试一试: