用于通过语音流进行呼出呼叫的Twilio API
问题描述:
我有一个场景,每天早上在上午5点说,我有一个服务器端脚本/批处理作业醒来,从基于算法的列表中选择一个电话号码,拨打该电话号码并使用文字转语音来发送定制的消息。我有2个问题,用于通过语音流进行呼出呼叫的Twilio API
哪个Twilio API可以用来实现这个?请记住,没有应用程序用户界面,所有代码都将位于后端。考虑NodeRED流或在给定时间运行的Python脚本。
而不是指定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
感谢您提供这样一个详细的答复斯科特!我们能寄给你一件T恤吗?详情请电邮[email protected]。 –
谢谢梅根。我给你发了封邮件。 –