用于通过语音流进行呼出呼叫的Twilio API

问题描述:

我有一个场景,每天早上在上午5点说,我有一个服务器端脚本/批处理作业醒来,从基于算法的列表中选择一个电话号码,拨打该电话号码并使用文字转语音来发送定制的消息。我有2个问题,用于通过语音流进行呼出呼叫的Twilio API

  1. 哪个Twilio API可以用来实现这个?请记住,没有应用程序用户界面,所有代码都将位于后端。考虑NodeRED流或在给定时间运行的Python脚本。

  2. 而不是指定TwiML中的文本,我可以通过说Watson的文本到语音的音频流到相应的Twilio API吗?

要做到这一点,您需要使用Twilio提供的可编程语音API。这使您可以播放音频文件,文本到语音,制作和操作电话等。我从来没有使用过Watson Text-to-Speech,但是,如果它可以输出音频文件,则可以使用Twilio TwiML播放。

下面是Node中的一个例子。

npm install twilio 

//require the Twilio module and create a REST client 
var client = require('twilio')('ACCOUNT_SID', 'AUTH_TOKEN'); 

client.makeCall({ 

to:'+16515556677', // Any number Twilio can call 
from: '+14506667788', // A number you bought from Twilio 
url: 'url/to/twiml/which/may/have/WatsonURL' // A URL that produces TwiML 

}, function(err, responseData) { 

    //executed when the call has been initiated. 
    console.log(responseData.from); // outputs "+14506667788" 

}); 

的TwiML看起来是这样的:

<Response> 
    <Play loop="1">https://api.twilio.com/cowbell.mp3</Play> 
</Response> 

这将从Twilio API播放声音铃铛。只是一个默认声音。如果你可以得到一个URL,就可以很容易地生成这个Watson声音文件。

如果您不想手动构建XML,则可以在Node中执行相同的操作。

var resp = new twilio.TwimlResponse(); 

resp.say('Welcome to Twilio!') 
    .pause({ length:3 }) 
    .say('Please let us know if we can help during your development.', { 
     voice:'woman', 
     language:'en-us' 
    }) 
    .play('http://www.example.com/some_sound.mp3'); 

如果你拿这个的toString()将输出格式化XML(TwiML):

console.log(resp.toString()); 

此输出:

<Response> 
    <Say>Welcome to Twilio!</Say> 
    <Pause length="3"></Pause> 
    <Say voice="woman" language="en-us">Please let us know if we can help during your development.</Say> 
    <Play>http://www.example.com/some_sound.mp3</Play> 
</Response> 

希望这清除它适合你。

Scott

+0

感谢您提供这样一个详细的答复斯科特!我们能寄给你一件T恤吗?详情请电邮[email protected]。 –

+0

谢谢梅根。我给你发了封邮件。 –