0

我一直在使用节点 js npm google-speech-api https://www.npmjs.com/package/google-speech-api研究谷歌语音识别 API v2 它正在工作,但我需要获得“临时结果” .

我怎样才能得到正在处理的音频的中间结果。我在网上搜索过,但无法找到有用的信息并使其发挥作用。

以下是我目前正在处理的代码:

var speech = require('google-speech-api');
var fs              = require('fs');

var opts = {
  file: 'amy_16.wav',
  key: 'xxxx',
};

speech(opts, function (err, results) {
 console.log(JSON.stringify(results));
 // [{result: [{alternative: [{transcript: '...'}]}]}]
});
4

1 回答 1

1

看起来您没有使用流式识别。为了获得部分结果,您需要使用配置标志speech.createRecognizeStream并将其设置为 true。interimResults例如:

var request = {
    config: {
        encoding: 'LINEAR16',
        sampleRate: 16000
    },
    singleUtterance: false,
    interimResults: true
};

fs.createReadStream('amy_16.wav')
    .on('error', console.error)
    .pipe(speech.createRecognizeStream(request))
    .on('error', console.error)
    .on('data', function(data) {
        //do something with the data
        console.log(data)
});

不确定您要实现什么,但为了简化您可能想要查看的内容Sonus。它是一个始终在听的语音识别框架,它支持开箱即用的部分结果。它还进行启动指令检测。免责声明:这是我的项目

于 2016-10-07T19:13:42.743 回答