IBM Speech to Text with node-record-lpcm16 in nodejs

问题描述

我有一个需要语音转文本解决方案的应用程序,我目前正在使用 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 (将#修改为@)