2016-10-22 48 views
2

我制作了一个使用ADPCM样本和音乐的HTML5游戏。WebAudio:陡峭的低通?

音乐本身是11025Hz单,我做了一个简单的近邻 - 重采样获得22050Hz的加上一个假的立体演算法。

样品是预加载上采样,以减少运行时间(不需要实时重采样)中的CPU负载期间。

所以我实现了像90年代后期那样的真实复古声音。

到目前为止工作良好。

但WebAudio的“真正的”重采样的22050Hz的内部采样速率相匹配似乎即使不是更好一些浏览器:-D。

如何切断11025Hz(奈奎斯特频率22050Hz)以上的所有信号?理想情况是:0-11025Hz未触发,但滤除了11026Hz-max。

由WebAudio API提供的低通滤波器是不够陡,并在过滤器频率产生共振。

我不想让“糟糕”的频率变得如此之高。 “糟糕的”重采样应停止在11025Hz。我认为,对扬声器进行高音扬声器是不好的,甚至听到高强度低音频率在高频范围出现反射的时候都会听到。

不想MP3 &有限公司在这里。 ADPCM-> MP3比实际的ADPCM需要更多的比特率(在没有声音损失的情况下,所需的文件很难编码):-)。

我阅读了FIR和IIR滤波器,但我不理解它们,因为它对我来说太数学了。

我想,这是,我需要什么。

我需要的东西可以转化为代码而不需要学位:-D。

回答

0

我可能迟到了,但要实现一个陡峭的滤波器曲线,您只需在双二阶滤波器的多个应用程序,链接在一起即多个BiquadFilterNode对象。

带有lowpass的单个BiquadFilterNode每个倍频程滚降12db,由此您可以轻松计算出您需要的滤波器节点数。如果您担心共振,只需减少它(Q设置)。