从 MATLAB 中的波形音频文件中去除噪声

Posted

技术标签:

【中文标题】从 MATLAB 中的波形音频文件中去除噪声【英文标题】:Removing noise from wave audio file in MATLAB 【发布时间】:2012-05-12 22:39:17 【问题描述】:

我有两个波形文件,一个是正常版本,另一个是失真版本。在失真版本中,我听到长长的哔哔声。这是正常和失真版本声音的频域图。第一个是正常的,第二个是扭曲的。注意天平。

我该怎么做?

【问题讨论】:

【参考方案1】:

在不使用标记或放大的情况下有点难以分辨,但您的信号中似乎插入了一个正弦曲线,这可以解释您听到的连续蜂鸣声以及您在频谱中具有的类似 delta 的功能。尝试使用标记定位噪声频率并使用滤波器设计工具(在命令行中键入“fdatool”)对其进行过滤。我会在噪声频率上使用陷波滤波器,如果这不起作用,则使用高(~1000)阶高通 FIR 滤波器。

祝你好运

【讨论】:

【参考方案2】:

由于您有频域信号,您还可以去除那里的噪声(使用简单的阈值),然后进行傅里叶逆变换,得到时域的无噪声信号。

【讨论】:

以上是关于从 MATLAB 中的波形音频文件中去除噪声的主要内容,如果未能解决你的问题,请参考以下文章

实验二利用MATLAB工具箱对混杂噪声的音频信号进行滤波

从 16 位 PCM 中去除 C++ 中的音频噪声(嘶嘶声)

在matlab中使用FFT去除图像中的图案和噪声

均值滤波去除图像噪声的matlab程序

使用 FFT Python 从音频信号中去除背景噪声

使用 Python 减去/比较两个音频文件之间的差异