Как выполнить несколько потоковых запросов на распознавание в Google Speech-to-Text API? - PullRequest
1 голос
/ 19 февраля 2020

Я создал веб-приложение для преобразования речи в текст с помощью Google Speech-to-Text API.

Поток приложений:

  1. Получение аудиопотока из браузера
  2. Потоковая передача аудиоданных в службу распознавания речи и получение результатов в реальном времени по мере того, как пользователь говорит

enter image description here

Я ссылался на образец кода в моем приложении запрос streamingRecognize отлично работает с сигнальным клиентским вызовом, и мой сервер может получить промежуточный результат транскрипции от Google Speech API. Однако, когда одновременно выполняется более одного вызова клиента streamingRecognize, Google Speech API застревает. Итак, могу ли я знать, как обрабатывать более одного streamingRecognize запроса одновременно? Нужно ли создавать еще один client для обработки второго streamingRecognize запроса? Спасибо.

Характеристики внутреннего сервера:

  • NodeJS
  • Socket.io

Ответы [ 2 ]

2 голосов
/ 28 февраля 2020

Вы должны иметь возможность создавать несколько потоков streaming , используя один и тот же клиент StreamingRecognize(), который можно использовать для параллельной отправки запросов. Вы можете посмотреть сообщения , и , Github, где обсуждается эта тема c.

Я предлагаю вам попробовать эту альтернативу и проверить, можете ли вы выполнять эти потоковые вызовы, создав 2 различных объекта или клиентов , таких как:

const client = new speech.SpeechClient();
const recognizeStream = client.streamingRecognize(request)
...
const recognizeStream2 = client.streamingRecognize(request)
...

С другой стороны, если вы хотите выполнить распознавание звука для партии, рекомендуется использовать синхронные или асинхронные методы.

0 голосов
/ 27 февраля 2020

Попытка сделать то же самое, и встретить те же проблемы, что и вы, или они перестают работать, или только один клиент работает время от времени, а другой дает странные результаты, иногда оба, похоже, у вас есть один буфер для основной учетной записи, не так ли? пробовал генерировать API / токены для каждого пользователя? Стоит ли оно того, или все равно будет такой же буфер

...