Почему время отклика API для распознавания аудиопотока такое медленное?

Я использую код, очень похожий на пример Google для распознавания речи на Аудиопоток с использованием клиентской библиотеки Node.js.

API правильно анализирует мой звук, но я жду 30-45 секунд, прежде чем получу ответ. Учитывая, насколько быстрой является демонстрация, это кажется неправильным. Я что-то неправильно настраиваю на своей стороне?

Вместо этого я попытался записать в локальный файл, просто чтобы убедиться, что звук идет четко, и запись выглядит нормально.

Спасибо за любую помощь, которую вы можете дать!

import record from 'node-record-lpcm16';
import Speech from '@google-cloud/speech';


function streamToParser(){
  const speech = Speech();
  const request = {
    config: {
      encoding: 'LINEAR16',
      sampleRateHertz: 16000,
      languageCode: 'en-US',
    },
    interimResults: true,
  };

  const recognizeStream = speech.createRecognizeStream(request)
  .on('error', console.error)
  .on('data', (data) => {
    console.log(data.results)
  });

  record
  .start({
    sampleRate: 16000,
    threshold: .6,
    verbose: true,
    silence: '5.0'
  })
  .on('error', console.error)
  .pipe(recognizeStream)

  console.log('Google is listening...')
};



streamToParser();

person JWayne    schedule 03.06.2017    source источник


Ответы (1)


Разобрался - я не настраивал Speech с учетными данными для аутентификации, поэтому мои запросы, должно быть, были лишены приоритета. Вот конфигурация, которая это исправила, согласно инструкциям здесь:

const speech = Speech({
    projectId: 'my project ID from the Google Cloud dev console',
    keyFilename: 'path/to/keyfile.json', // that I generated/downloaded from the Google Cloud dev console
});

Чтобы создать ключевой файл json, выполните описанные шаги здесь в разделе "На вашем собственном сервере".

person JWayne    schedule 11.06.2017