python实时音频处理_Python中的实时音频处理
我正在写一个程序来检查电脑记录的音频信号中是否有小故障。在检测到音频后,我想检查数据的前5秒是否有问题(以44.1kHz的采样率对应220500个样本),继续到下一个5秒的数据并检查其中是否有问题,然后接下来的5秒等等。我有一个while循环,在检测到音频后开始,它开始读取音频从一个流采样到一个数组,直到它在数组中有220500个样本,然后它进入一个if语句,开始检查220500个样本中的问题(然
我正在写一个程序来检查电脑记录的音频信号中是否有小故障。在检测到音频后,我想检查数据的前5秒是否有问题(以44.1kHz的采样率对应220500个样本),继续到下一个5秒的数据并检查其中是否有问题,然后接下来的5秒等等。我有一个while循环,在检测到音频后开始,它开始读取音频从一个流采样到一个数组,直到它在数组中有220500个样本,然后它进入一个if语句,开始检查220500个样本中的问题(然后删除数组中的所有元素)。我的问题是,当这种情况发生时,计算机仍在记录音频,但它没有从流读取到数组中,当我退出if语句并重新启动while循环时,我已经错过了几秒钟的音频数据。在while 1:
# little endian, signed short
snd_data = array('h', stream.read(1500))
if byteorder == 'big':
snd_data.byteswap()
r.extend(snd_data)
if len(r) == 220500 or silent:
r = trim(r)
data = pack('
data = np.fromstring(data,dtype=np.int16)
glitch detection carried out here...
我正在使用PyAudio录制音频
^{pr2}$
我想知道有没有办法让我继续从音频流读入阵列,同时执行if语句中的故障检测?如果没有,我还有别的办法吗?在
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)