出于项目目的,我正在录制舞台附近不同区域的音频片段(波形文件)。我需要检查源音频是否;使用从附近地方录制的音频,可以在舞台的附近位置高度听到舞台上的音频。
更清楚的是,我在舞台附近的地方有麦克风,我有舞台和附近这些地方的音频剪辑。如何检查舞台上的声音是否被接收到附近的位置,或者我如何理解舞台上的声音是否会对附近的地方造成干扰。
答案 0 :(得分:2)
听起来像一个有趣的项目...给出一个简单的方法,因为你的问题可以进入像感知和卷积神经网络这样的广阔领域......首先要确保你的音频文件在时间上对齐...喂一个窗口将音频样本(比如2 ^ 14,即4096,或更多,但总是2的幂)放入FFT调用(离散傅立叶变换),它将为您提供一个频率区间数组,每个频率区间都有一个幅度(丢弃相位属性)。 ..然后比较你的舞台麦克风和周围的麦克风文件之间的这个FFT阵列...然后在向前滑动这个样本窗口之后重复上面并重复,直到你访问了整套样本...你可能想要使用此采样窗口的各种宽度尝试上面
还尝试了各种方法来比较一对麦克风信号之间的FFT阵列......在这种比较中,FFT阵列中具有最大幅度的频率区应该被赋予更大的权重,因为你想避免允许低幅度的噪声freq bins to muddy the waters - 通过调整频率箱的大小来突出主导频率并减弱更安静的频率来实现这一点...为了简单起见,使用正弦曲线作为音频信号 - 搜索移动应用程序:频率声音发生器 - 你将获得一个更简单的FFT阵列...这里的目标只是源音频的一个频率将出现在FFT输出分析中
要执行上面唯一真正需要的库是DFT调用,但是如果你没有足够的时间来完成自己的工作,那么这些python repos可能会加速你的项目
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