Node.js 如何通过我的扬声器播放Watson文本到语音的响应?

Node.js 如何通过我的扬声器播放Watson文本到语音的响应?,node.js,text-to-speech,watson,Node.js,Text To Speech,Watson,我正在尝试使用NodeJS向web浏览器上的聊天机器人添加文本到语音,在那里我希望显示文本并在收到响应时播放语音 我搜索并找到了以下创建WAV文件的示例,该示例运行良好 // Pipe the synthesized text to a file text_to_speech.synthesize(params).pipe(fs.createWriteStream('output.wav')); 与其创建文件,不如直接在笔记本电脑扬声器上播放响应?我为此挣扎了一段时间。我在用我的覆盆子圆周率时

我正在尝试使用NodeJS向web浏览器上的聊天机器人添加文本到语音,在那里我希望显示文本并在收到响应时播放语音

我搜索并找到了以下创建WAV文件的示例,该示例运行良好

// Pipe the synthesized text to a file
text_to_speech.synthesize(params).pipe(fs.createWriteStream('output.wav'));

与其创建文件,不如直接在笔记本电脑扬声器上播放响应?

我为此挣扎了一段时间。我在用我的覆盆子圆周率时遇到了扬声器解决方案的问题

下面的方法对我有用

var Sound = require('node-aplay'); var f =text_to_speech.synthesize(params).pipe(fs.createWriteStream('output.wav')); f.on('finish', function () { new Sound('output.wav').play(); console.log("Done"); }); var Sound=require('node-aplay'); var f=text_to_speech.synthesis(params).pipe(fs.createWriteStream('output.wav')); f、 on('finish',函数(){ 新声音('output.wav').play(); 控制台日志(“完成”);
}); 我为此奋斗了一段时间。我在用我的覆盆子圆周率时遇到了扬声器解决方案的问题

下面的方法对我有用

var Sound = require('node-aplay'); var f =text_to_speech.synthesize(params).pipe(fs.createWriteStream('output.wav')); f.on('finish', function () { new Sound('output.wav').play(); console.log("Done"); }); var Sound=require('node-aplay'); var f=text_to_speech.synthesis(params).pipe(fs.createWriteStream('output.wav')); f、 on('finish',函数(){ 新声音('output.wav').play(); 控制台日志(“完成”);
});这太宽泛了,一个问题也回答不了。要在服务器端创建音频记录,您需要一个客户端音频播放器。首先,您希望以某种方式将音频传送到客户端(google“node js audio streaming server”)。然后你需要一个客户端音频播放器。你可以使用扬声器库,通过管道将流传送到扬声器库,而不是将其保存为文件。您好,@Alaska,我尝试使用扬声器库,但出于某种原因,扬声器库始终播放相同的文本,我已验证watson TTS的输入文本不同。我的代码示例:var Speaker=require('Speaker');var演讲者=新演讲者();watson_text_to_speech.synthesis(参数)、pipe(说话人);您好@enkryptor,正如您所说,我已经看到了这一点,我想与大家分享我的解决方案(不过仍然需要努力)。现在,我将wav文件保存在服务器端,在客户端,我有一个音频标签。但现在我还有两个问题。一个是文件名始终为output.wav,浏览器缓存音频,不在chrome上重新加载,只在firefox上工作。另一个问题是,我在客户端有一个超时,等待服务器更新文件。这对于一个问题来说太宽泛了。要在服务器端创建音频记录,您需要一个客户端音频播放器。首先,您希望以某种方式将音频传送到客户端(google“node js audio streaming server”)。然后你需要一个客户端音频播放器。你可以使用扬声器库,通过管道将流传送到扬声器库,而不是将其保存为文件。您好,@Alaska,我尝试使用扬声器库,但出于某种原因,扬声器库始终播放相同的文本,我已验证watson TTS的输入文本不同。我的代码示例:var Speaker=require('Speaker');var演讲者=新演讲者();watson_text_to_speech.synthesis(参数)、pipe(说话人);您好@enkryptor,正如您所说,我已经看到了这一点,我想与大家分享我的解决方案(不过仍然需要努力)。现在,我将wav文件保存在服务器端,在客户端,我有一个音频标签。但现在我还有两个问题。一个是文件名始终为output.wav,浏览器缓存音频,不在chrome上重新加载,只在firefox上工作。另一个是,我在客户端有一个超时,等待服务器更新文件。