问题描述
我有一个需要语音转文本解决方案的应用程序,我目前正在使用 Google 的应用程序,并且运行良好,但出于某种原因需要将其更改为 IBM 解决方案。所以,我带来了这个功能:
listen(langcode,callback) {
const self = this;
self.ledsanimstop();
self.ledsanim('escuchaT');
const params = {
audio: fs.createReadStream('./temp/es-LA_SofiaV3Voice_391c14092f23f4b2f18e6d5bca7dac68.wav'),contentType: 'audio/wav',model: 'es-MX_broadbandModel',inactivityTimeout: 1
};
return new Promise(function (resolve,reject) {
let recognizeStream = self._stt.recognize(params)
.then(response => {
console.log(response.result.results[0].alternatives[0].transcript);
self.ledsanimstop();
})
.catch(err => {
console.log(err);
});
// self.recording = record
// .record({
// sampleRateHertz: 16000,// threshold: 0,// recordProgram: 'rec',// silence: '1.0',// });
// self.recording.stream().on('error',console.error).pipe(recognizeStream);
});
}
这个允许我将录制的音频转换为文本并给我一个很好的结果。因此,问题是无法使用麦克风进行这项工作,我尝试根据 Google 解决方案中的代码将代码中的内容作为注释行进行操作,但没有运气。我还将参数更改为:
const params = {
objectMode: true,inactivityTimeout: 1
};
另外,我尝试了一些其他的解决方案,使用recognizeUsingWebSocket 或其他麦克风包作为“线路输入”(在这种情况下,这个包在安装过程中给我一个错误)。
谁能给我任何线索或告诉我错误在哪里? 提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)