如何在不创建.wav文件的情况下在浏览器中听到Ibm watson文本到语音音频?

时间:2018-01-20 13:43:54

标签: node.js text-to-speech watson

我想构建一个应用程序,其中我想使用nodejs使用文本来演讲IBM watson服务。这是我的代码

  text_to_speech.synthesize(params)
  .pipe(fs.createWriteStream('lorem_ipsum.wav'));
  });

  app.listen(9000,function(err) {
if (err) {
    console.log('Error',err);
}
else{
    console.log('Connected');

}
 });

//将合成文本传输到文件。

.wav

但是在这段代码中它正在创建一个.wav文件来播放,但我希望直接在浏览器中听到声音。我不想创建一个{{1}}文件。我怎么能用nodejs做到这一点?

2 个答案:

答案 0 :(得分:0)

此行:Error: inappropriate ioctl for device总是将流的内容通过管道传输到文件。

要收听从浏览器播放的音频,您将需要使用Node模块,该模块可让您访问扬声器(such as this one)并将流传输到该模块。

另一个选项/示例是this SDK for Watson speech services in the browser。您可以使用此SDK来完成所需的工作,也可以使用类似的方法。

答案 1 :(得分:-1)

Java解决方案,如果有帮助

InputStream stream =service.synthesize(input, Voice.EN_ALLISON, AudioFormat.WAV).execute();
        AudioPlayer.player.start(WaveUtils.reWriteWaveHeader(stream));