出于项目目的,我正在录制舞台附近不同区域的音频剪辑(波形文件)。我需要检查源音频是否为;使用从附近地方录制的音频,在舞台附近的位置可以清楚地听到舞台上的音频。
更清楚地说,我在舞台附近的地方有麦克风,并且我有来自舞台和这些附近地方的音频剪辑。我如何检查舞台的声音是否被接收到附近的位置,或者如何了解舞台的声音对附近的地方造成干扰。
最佳答案
听起来是一个有趣的项目...提供具体的方法,因为您的问题可能涉及感知和卷积神经网络等广阔的领域...首先确保您的音频文件及时对齐...提供一个窗口音频样本(例如 2^12,即 4096,或更多,但始终是 2 的幂)转换为 FFT 调用(离散傅里叶变换),这将为您提供一组频率仓,每个频率仓都有一个幅度(忽略相位)...然后比较舞台麦克风和周围每个麦克风文件之间的 FFT 阵列...然后在及时向前滑动此样本窗口后重复上面的操作,并重复直到您访问了完整的样本集...您可能想尝试上面的操作使用此采样窗口的各种宽度
还尝试各种方法来比较一对麦克风信号之间的 FFT 阵列...在此比较中,FFT 阵列中具有最大幅度的频率仓应给予更大的权重,因为您希望避免允许低幅度的噪声频率箱使水变得浑浊 - 通过对频率箱幅度进行平方来强调主频率并减弱较安静的频率...为了简单起见,在开始时使用正弦曲线作为音频信号 - 搜索移动应用程序:Frequency Sound生成器 - 您将得到一个更简单的 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
关于Python:比较两个可能有噪音的音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50797550/