промежуточные результаты API распознавания речи Google v2

Я работал над API распознавания речи Google v2, используя node js npm google-speech-api https://www.npmjs.com/package/google-speech-api он работает, но мне нужно получить «промежуточные результаты».

Как я могу получить промежуточные результаты обработки аудио. Я искал в Интернете, но не смог найти полезную информацию и заставить ее работать.

Ниже приведен код, над которым я сейчас работаю:

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: '...'}]}]}]
});

person v.kumar    schedule 07.10.2016    source источник


Ответы (1)


Похоже, вы не используете распознавание потоковой передачи. Чтобы получить частичные результаты, вам нужно использовать speech.createRecognizeStream и установить флаг конфигурации interimResults в значение true. Например:

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. Это система распознавания речи, которую вы всегда слушаете, и она поддерживает частичные результаты прямо из коробки. Он также обнаруживает горячие слова. Отказ от ответственности: это мой проект

person evancohen    schedule 07.10.2016