audio - 用于音频信号处理的滤波器?

标签 audio filter signal-processing

我想问一下,对于音频信号处理,特别是音符开始处理,什么是好的滤波器?

特别是,我需要的是一个过滤器,该过滤器可以使峰更尖锐,同时平滑其他峰,如下图所示:

我不确定我需要的是低通/高通滤波器,因为我知道这些滤波器在频域中工作,并且我特别想在时域中工作。我仅处理以.WAV 44.1Khz 16位单声道格式记录的单声道信号。

谢谢!

最佳答案

我建议采用一种非线性方法-实际上,您想以较短的时间常数进行包络检测。

y_1 = 0;                       // init y_1 = previous value of output signal, y
loop
  y = abs(x);                  // rectify input signal
  y = k * y + (1.0 - k) * y_1; // apply single pole recursive low pass filter
  y_1 = y;                     // save output value for next iteration
end

选择k(NB:0.0 < k < 1.0)是棘手的部分,可能需要进行一些实验。如果k太小,那么您将有一个较大的时间常数,这可能会导致启动检测的时间过长。如果k太大,则时间常数可能太小,您可能会得到误报。 (在后一种情况下,尽管您可以通过拒绝从先前的“真实”起点(例如10 ms)开始落入给定最小齿窗口内的起点来改善结果,例如,k = 0.1,然后尝试减少它,直到滞后变得 Not Acceptable 为止。

关于audio - 用于音频信号处理的滤波器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6452926/

相关文章:

filter - cognos 10.2 过滤器提示

audio - 如何从音调样本创建和播放矢量?

linux - 从任意音频文件中提取语音部分的好方法是什么?

Android 语音通话录音无法在系统上播放

javascript - 过滤器在状态 ="ACTIVE"上未按预期运行

asp.net - ASP.NET MVC 6 中 FilterAttribute 内的依赖注入(inject)

android - PCM 16bit 记录字节 vs 短

java - 操纵耳机插孔输出

javascript - Shoutcast + Web Audio API CORS 问题

java - 为什么我的音频播放会卡住ActionListners?