我有一个场景,每天早上 5 点说,我有一个服务器端脚本/批处理作业唤醒,根据算法从列表中选择一个电话号码,拨打该电话号码并使用 text-to-语音传递定制的信息。我有2个问题,
我可以使用哪个 Twilio API 来实现这一点?请记住,没有应用程序 UI,所有代码都在后端。想想 NodeRED 流或在给定时间运行的 Python 脚本。
除了在 TwiML 中指定文本,我可以将来自 Watson 的 Text to Speech 的音频流传递给适当的 Twilio API 吗?
我有一个场景,每天早上 5 点说,我有一个服务器端脚本/批处理作业唤醒,根据算法从列表中选择一个电话号码,拨打该电话号码并使用 text-to-语音传递定制的信息。我有2个问题,
我可以使用哪个 Twilio API 来实现这一点?请记住,没有应用程序 UI,所有代码都在后端。想想 NodeRED 流或在给定时间运行的 Python 脚本。
除了在 TwiML 中指定文本,我可以将来自 Watson 的 Text to Speech 的音频流传递给适当的 Twilio API 吗?
为此,您需要使用 Twilio 的可编程语音 API。这使您可以播放音频文件、文本转语音、拨打和操作电话等。我从未使用过 Watson Text-to-Speech,但是,如果它可以输出音频文件,您可以使用 Twilio TwiML 播放它。
这是 Node.js 中的一个示例。
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>
希望这可以为您解决问题。
斯科特