Javascript 使用文本到语音消息发起呼叫

Javascript 使用文本到语音消息发起呼叫,javascript,node.js,asterisk,asteriskami,Javascript,Node.js,Asterisk,Asteriskami,我对NodeJs使用星号管理器包 并有一个磁带公告作为文本,必须通过文本转换为语音。当我尝试拨打一个传出电话号码时,如何设置文本到语音变量和收件人? 例如 ami.action({ 'action': 'originate', '??? phonenumber ???': '12345', '??? text to be spoken ???': 'Hello, this is a tape announcement' }, (err, res) => {

我对NodeJs使用星号管理器包

并有一个磁带公告作为文本,必须通过文本转换为语音。当我尝试拨打一个传出电话号码时,如何设置文本到语音变量和收件人? 例如

ami.action({
    'action': 'originate',
    '??? phonenumber ???': '12345',
    '??? text to be spoken ???': 'Hello, this is a tape announcement'
  }, (err, res) => {
    if (err) {
        throw err;
    }

    console.log('everything was fine');
  });

编辑:

我知道FreePbx是用于管理的。据我所知,星号发动机有一个TTS模块

我想我可以用这个密码

const { phoneNumber, announcement } = phoneInfo; // the required data

ami.action({
    channel: `SIP/${phoneNumber}`,
    application: 'SendText',
    data: announcement
}, (err, res) => {
    if (err) {
      throw err;
    }

    console.log(res);
});

并且引擎将管理数据属性

原始应用程序本身将只向应用程序或扩展发送被调用的号码。您应该在调用播放应用程序之前创建一个音频文件。因此,您的代码将如下所示:

let filePath = await yourTtsService.generateAudioFile('Hello, this is a tape announcement')

ami.action({
    'action': 'originate',
    'channel': 'SIP/123', // target number, depend on your trunk type
    'application': 'Playback',
    'data': filePath
})

要生成音频文件,您可以使用google api,请参见

中的示例。看起来星号管理器“只是”一个包装器,因此您需要找到一种方法,并使用它。我想说你需要找到一种方法来触发和选择你预先录制的演讲,但我没有时间深入了解细节。所以没有TTS解决方案?管理星号引擎时,我使用FreePbx管理面板。我希望有一个星号TTS模块。这是节日应用程序,但它也依赖于外部软件。但一般来说,在打电话之前最好先创建音频文件,这样被叫号码就不必等待音频生成。我更新了我的问题。我想我必须使用TTS而不是生成文件