我想构建一个应用程序,其中我想使用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做到这一点?
答案 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));