Python:比较两个可能有噪音的音频文件

K K*_*K K 2 python audio compare fft audio-processing

出于项目目的,我正在录制舞台附近不同区域的音频剪辑(波形文件)。我需要检查源音频,即;使用从附近地点录制的音频,来自舞台的音频在舞台附近的位置具有很高的可听性。

更清楚的是,我在舞台附近的地方有麦克风,我有舞台和附近这些地方的音频剪辑。我如何检查来自舞台的声音是否被接收到附近的位置,或者我如何理解来自舞台的声音正在对附近的地方造成干扰。

Sco*_*and 5

听起来像是一个有趣的项目......给出一个具体的方法,因为你的问题可能涉及感知和卷积神经网络等广阔领域......首先确保你的音频文件及时对齐......输入音频样本窗口(比如 2^12,即 4096,或者更多但总是 2 的幂)到 FFT 调用(离散傅立叶变换)中,它将为您提供一个频率区间数组,每个区间都有一个幅度(忽略相位)......然后比较这个舞台麦克风和周围每个麦克风文件之间的 FFT 阵列...然后在及时向前滑动此样本窗口后重复上述操作并重复直到您访问了完整的样本集...您可能想使用各种宽度尝试上述操作这个采样窗口

还尝试各种方法来比较一对麦克风信号之间的 FFT 阵列......在此比较中,应给予 FFT 阵列中幅度最大的频率仓更大的权重,因为您希望避免允许低幅度频率仓中的噪声浑水 - 通过平方频率 bin 幅度以突出主导频率并衰减较安静的频率来做到这一点......为了简单起见,一开始使用正弦曲线作为您的音频信号 - 搜索移动应用程序:频率声音发生器 - 你将获得一个更简单的 FFT 数组......这里的目标只是源音频中的一个频率将出现在 FFT 输出分析中

要在您真正需要的唯一库之上执行 DFT 调用,但是如果您没有足够的时间自己动手制作上述方法,这些 python 存储库可能会加速您的项目

Librosa - 用于音频和音乐分析的 Python 库

https://librosa.github.io/
https://github.com/librosa/librosa

Madmom - Python 音频和音乐信号处理库

https://madmom.readthedocs.io/en/latest/modules/audio/cepstrogram.html?highlight=mfcc https://madmom.readthedocs.io https://github.com/CPJKU/madmom

但是我建议你避免使用上面的库而只使用你自己的 - YMMV