如何立即将Twilio语音呼叫直接流式传输到Google语音API

时间:2018-04-12 07:26:03

标签: python twilio twilio-api

我怀疑在我的python应用程序中实现一个功能。我正在使用Twilio的python SDK进行呼叫处理和响应。当拨打Twilio电话时,我想要一种功能,其中呼叫者的语音直接流式传输到Google Voice API,以便在通话期间进行文字转换。然后我需要处理转录的文本,以便立即为用户提供适当的响应。

我知道twilio中的记录功能,它可以帮助我们记录来电者的声音并将其保存为录音。一种方法是在录制文件可用后访问录制文件,然后将录制的文件传递给Google API。但我觉得这种方式会慢一些,因为我需要将来电者的语音立即流式传输到Google语音API。

3 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

这些天你可以在Twilio中实际做到这一点。将<Gather> TwiML动词与input attribute set to "speech" Twilio一起使用,将通过Google Voice API播放您的音频,以便对其进行实时转录。

您可以通过将action attribute设置为应用中的网址来获取转录结果。当Twilio和Google检测到并转录了该演讲时,Twilio将对该URL进行webhook,并将转录后的文本作为SpeechResult参数发送到请求正文中。

你无法自己从电话中获取原始音频,所以这是实现你想要建立的最佳方式。

答案 1 :(得分:0)

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Record timeout="10" transcribe="true" />
</Response>

Python代码: SDK Version: 6.x `来自twilio.twiml.voice_response import Record,VoiceResponse

回复= VoiceResponse() response.record(timeout = 10,transcribe = True)

打印(响应)

它已经内置于twilio中。为什么要使用google voice api进行转录,您只需重定向使用任何内容将其作为来自特定服务帐户的电子邮件发送,并为这些电子邮件构建标签或过滤器,以便将其编目或隔离到自己的文件夹中。

我可能会错过你一直在做的事情,但你可以在拨号后立即使用记录功能,并将转录设置为true。 https://www.twilio.com/docs/voice/twiml/record

答案 2 :(得分:0)

解决方案1:

TwiML的新更新将为您提供此解决方案。 新的 TwiML流命令流将音频呼叫流传输到Websocket服务器。

这使得将通话音频从企业电话系统转移到AI平台变得很简单,该平台可以使用Twilio的媒体流通过 Google Cloud的语音转文本功能实时转录数据。

浏览以下链接上的文档

Google Speech to text Twilio Integration

解决方案2:

我发现更好的解决方案是Twilio提供了附加功能,这些附加功能为分析传入数据提供了更好的支持。

您可以使用 IBM-Watson语音文本插件来帮助您更好地理解 Twilio 电话语音。

请通过twilio查看以下官方文档:

IBM Watson Speech to text Twilio Integration