Настройка микрофонов transcirbe_steaming_infinite.py (несколько каналов) может повлиять на время прибытия ответа? - PullRequest
0 голосов
/ 30 марта 2020

Я пытался использовать модуль [transcirbe_steaming_infinite.py] с несколькими микрофонами. Первый установлен на моем p c (ma c book pro), а другой - внешний (Jabra EVOLVE 20). Через настройку Audio MIDI я сделал опцию агрегатного устройства (Jabra для канала # 1, ma c для # 2).

Чтобы использовать эти микрофоны, я изменил коды вроде ResumableMicrophoneStream._num_channels как 2 и добавил два дополнительных строки после RecognitionConfig audio_channel_count = 2 и enable_seperate_recognition_per_channel = True. И язык в ja-JP

Когда я пытался использовать эти коды, они хотя бы работают (они могут распознавать каждый канал), но проблема в том, что в определенном случае ответы приходят слишком поздно.

Случай, когда я переключаю ми c с одного на другого. Например, когда я пытаюсь использовать mi c на канале № 1 (Jabra) сразу после использования mi c на канале № 2, я не могу получить ответ вовремя, но примерно через 15000 мс.

Когда я проверил микрофоны в настройке Audio MIDI, частота дискретизации этих двух была разной (16 кГц, 44,1 кГц на каждую), поэтому я подумал, что это может повлиять на обработку входных аудиопотоков библиотеки, таких как PyAudio, и, наконец, это вызвало поздний запрос и ответ, а также. Это будет самая глупая гипотеза XD.

Так что я хочу знать, что в качестве заголовка эту проблему (поздний ответ) можно исправить с помощью хорошей настройки микрофонов или просто есть другой хороший способ решения проблемы для этого случая.

1 Ответ

0 голосов
/ 16 апреля 2020

Распространенной причиной задержки является API, не обнаруживающий конец звука, и поэтому он будет продолжать прослушивать и обрабатывать аудио до тех пор, пока поток не будет закрыт напрямую или не будет превышена предельная длина потока. Вы можете отменить его, используя single_utterance , который указывает, должен ли запрос автоматически завершаться после того, как речь больше не обнаруживается. Также, если вы используете шумовую фильтрацию, ее следует удалить, чтобы Cloud мог видеть необработанный звук и правильно определять isFinal.

Если проблемы с задержкой возникают только при смене микрофонов, и вы соблюдаете , вы можете связаться с командой STT через систему отслеживания проблем publi c

...