Настройка микрофонов 'transcirbe_steaming_infinite.py' (несколько каналов) может повлиять на время поступления ответа?

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

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

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

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

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

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


person KEONJAE LEE    schedule 30.03.2020    source источник


Ответы (1)


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

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

person IDMT    schedule 16.04.2020