gpt4 book ai didi

Python SpeechRecognition 在监听时忽略超时,并挂起

转载 作者:行者123 更新时间:2023-11-28 17:33:20 24 4
gpt4 key购买 nike

我正在使用 SpeechRecognition包来尝试识别语音。当我调用 recognizer.listen(mic, timeout=5.0) 时,超时被完全忽略。有时即使我没有对着麦克风说话,它也会在一秒或更短的时间内返回。有时它会等待 30 秒或更长时间才能返回。有时它根本不返回,或者只是花费了很长时间以致于它似乎已挂起。最重要的是,它永远不会超时。

如何让语音识别器尊重我的超时?

最佳答案

尝试设置 recognizer.dynamic_energy_threshold = False

要了解其工作原理,打印出 recognizer.energy_threshold 以查看当 recognizer.dynamic_energy_thresholdTrue 时不同迭代的值是多少.

我发现如果允许能量阈值是动态的,有时它会把自己设置得很低。然后,即使你没有说话,识别器也会听到连续的环境噪音,并认为你在连续说话。它不会返回,直到它停止听到“语音”。它不会超时,除非它在超时时间内听到完全静音。

我将能量阈值设置为 400,并且 recognizer.dynamic_energy_threshold = False。这样,识别器会将一定量的背景噪音(包括沉重的呼吸声)解释为完全安静,并在我不说话时按预期超时。

关于Python SpeechRecognition 在监听时忽略超时,并挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32753415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com