'transcirbe_steaming_infinite.py'麦克风设置(多个通道)会影响响应的到达时间吗?

问题描述 投票:0回答:1

我尝试将[transcirbe_steaming_infinite.py]模块与多个麦克风配合使用。第一个安装在我的PC上,另一个安装在外部(Jabra EVOLVE 20)。通过音频MIDI设置,我选择了一个聚合设备选项(Jabra用于通道#1,mac用于#2)。

要使用这些麦克风,我将ResumableMicrophoneStream._num_channels之类的代码修改为2,并在RecognitionConfig audio_channel_count = 2和enable_seperate_recognition_per_channel = True之后添加了两行。以及ja-JP中的语言

[当我尝试使用这些代码时,至少可以正常工作(它们能够识别每个通道),但是问题是,在某些情况下,响应来不及了。

情况是,当我将麦克风从一个麦克风切换到另一个麦克风时。例如,当我在#2频道上使用麦克风后立即尝试在#1(Jabra)频道上使用麦克风时,我无法及时获得响应,但大约需要15000毫秒。

[当我检查Audio MIDI设置上的麦克风时,这两个采样率是不同的(每个采样率分别为16kHz,44.1kHz),因此我想,它可能会影响处理PyAudio之类的音频输入流的库,最终导致以及后期的请求和响应。这将是最假的假设XD。

所以我想知道,这个问题(迟来的响应)可以通过良好的麦克风设置来解决,或者对于这种情况,还有另一种很好的解决问题的方法。

google-cloud-platform pyaudio google-cloud-speech portaudio watson-assistant
1个回答
0
投票

延迟的常见原因是API未检测到音频的结尾,因此它将继续侦听和处理音频,直到直接关闭流或超出流的限制长度为止。您可以使用single_utterance丢弃它,它表示在不再检测到语音后是否应自动结束请求。另外,如果您正在使用噪声过滤,则应将其删除,以便Cloud可以看到原始音频并可以正确检测到isFinal。

[如果仅在更改麦克风且您遵循best practices时才发生延迟问题,则可以通过public issue tracker与STT小组联系

© www.soinside.com 2019 - 2024. All rights reserved.