.wav 信号的音频分离
Posted
技术标签:
【中文标题】.wav 信号的音频分离【英文标题】:Audio Separation of .wav signal 【发布时间】:2013-09-13 20:38:20 【问题描述】:我已阅读以下问题:Here
我正在尝试做的是获取一个信号(.wav 音频文件),其中包含来自不同蝙蝠物种的呼叫。这是信号的图形表示:
到目前为止我所做的是:
1) 强调信号
2) 压缩信号
这是我绘制的输出:
我需要删除不值得考虑的信号。目前,信号是一维表示,在分离完成后,信号将是一个仅包含调用的 2D 表示,因此我可以对每个调用进行分析。
这是我建议的方法:
1) 将信号拆分为:256x100 的块(因此它们重叠)
2) 计算每个块的 RMS(均方根)
3) 将 (2) 与阈值进行比较,如果该块值得考虑,则可以将其归类为调用。
但问题是这样的:
1) 将信号分成 256x100 的块是否会覆盖调用,从而在计算 RMS 时导致一些调用丢失?
2) 我如何选择合适的阈值?找到信号中的峰值会是一个准确的假设吗?
我希望有人可以帮助我:)
【问题讨论】:
这个问题似乎离题了,因为它是关于信号处理的(可能更适合dsp.stackexchange.com)。 @OliCharlesworth 我也在那里问过 :) DSP 不会经常更新,并且有一些 S/O 具有 DSP 知识的人可能不会访问该站点。 请不要交叉发布到两个列表。 @BjornRoche 我的错。我只是想解决我面临的问题 谁能帮帮我? 【参考方案1】:如果您使用 matlab,我建议您使用中值滤波器 - medfilt1()。这将允许您删除异常值,这是您在此处尝试执行的操作。您可以设置所需的窗口大小,并将值设置为每个窗口的中值,如果没有异常值,该值应该接近实际值。
如果数据过于复杂,您可能需要考虑 6 sigma 方法,该方法不是计算 RMS,而是计算方差并删除超出 +-3 标准偏差的数据点。
【讨论】:
以上是关于.wav 信号的音频分离的主要内容,如果未能解决你的问题,请参考以下文章
数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )
数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )