gpt4 book ai didi

python-3.x - 如何检测输入音频的存在并在存在时立即采取措施?

转载 作者:行者123 更新时间:2023-12-03 01:26:30 27 4
gpt4 key购买 nike

我检查了 pyaudio ,但是它提供了记录和操纵输入的功能,我只想在存在音频输入时执行操作。

最佳答案

您可以使用PyAudio实现简单的输入音频检测。您只需要确定音频存在的含义即可。

在以下示例代码中,我使用了带有阈值的简单root mean square计算。另一种选择是峰值测试,仅将每个音频样本的幅度与峰值幅度阈值进行比较。对您而言最有用的取决于应用程序。

您可以尝试使用阈值(即音频的最小振幅或响度)和块大小(即音频检测的延迟)来获得所需的行为。

import pyaudio
import math

RATE = 44100
CHUNK = 1024
AUDIO_EXISTENCE_THRESHOLD = 1000

def detect_input_audio(data, threshold):
if not data:
return False
rms = math.sqrt(sum([x**2 for x in data]) / len(data))
if rms > threshold:
return True
return False

audio = pyaudio.PyAudio()
stream = audio.open(format=pyaudio.paInt16, channels=1, input=True,
rate=RATE, frames_per_buffer=CHUNK)

data = []
while detect_input_audio(data, AUDIO_EXISTENCE_THRESHOLD):
data = stream.read(CHUNK)

# Do something when input audio exists
# ...

stream.stop_stream()
stream.close()
audio.terminate()

关于python-3.x - 如何检测输入音频的存在并在存在时立即采取措施?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59698199/

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