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

标签 python audio compare fft audio-processing

出于项目目的,我正在录制舞台附近不同区域的音频剪辑(波形文件)。我需要检查源音频是否为;使用从附近地方录制的音频,在舞台附近的位置可以清楚地听到舞台上的音频。

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

最佳答案

听起来是一个有趣的项目...提供具体的方法,因为您的问题可能涉及感知和卷积神经网络等广阔的领域...首先确保您的音频文件及时对齐...提供一个窗口音频样本(例如 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/

相关文章:

java - 使用 Java 混音器混合两个音频流

javascript - 运行前判断数据是否是新的(比较数组和JSON)

python - 在递归特征消除的每一步中对估计器进行超参数估计

Python:用于下载有效 .zip 文件的跨平台代码

iphone - (iphone、objc)如果用户在录制期间点击 iPhone,(fft/其他频谱分析)会出现意外结果

linux - 将原始 PCM 流转换为 wavs (cli)

c - 尝试创建一个程序来检查回文和 semordinlap

binary - Windows 中比较 2 个二进制文件的工具

python - 制作一个名称只有在程序运行后才知道的列表

python - 尝试使用 ElasticSearch 后端更新索引时出错