我有一个明确的应用程序,我添加了这段代码:
var TextToSpeechV1 = require('watson-developer-cloud/text-to-speech/v1');
var fs = require('fs');
var text_to_speech = new TextToSpeechV1({
username: '<username>', (added username and password)
password: '<password>'
});
var params = {
text: 'Hello from IBM Watson',
voice: 'en-US_AllisonVoice', // Optional voice
accept: 'audio/wav'
};
// Pipe the synthesized text to a file
text_to_speech.synthesize(params).pipe(fs.createWriteStream('output.wav'));
运行node app
命令后,我的文件中生成了ouput.wav
。它按预期工作,并且表示来自IBM Watson的问候。&#34;但我希望将其输出到浏览器,就像有人按下标签一样。我怎么离开这里?
答案 0 :(得分:0)
文本到语音demo按照GitHub执行您想要的操作。它将音频流回到浏览器,该浏览器使用<audio>
HTML标记来重现它。
如果您在客户端和服务器中使用您的应用程序,则需要:
<audio>
元素,src
指向合成文本的端点,例如:https://<host>/api/synthesize?text=This+is+a+test
假设您使用Express并基于上面的代码
app.get('/api/synthesize', function(req, res, next) {
var transcript = text_to_speech.synthesize(req.query);
transcript.on('error', next);
transcript.pipe(res);
});
音频将通过管道传输到浏览器,该服务器将播放该音频。