【问题标题】:WebAudio: Steep lowpass?WebAudio:陡峭的低通?
【发布时间】:2016-10-22 11:31:29
【问题描述】:

我制作了一个使用 ADPCM 样本和音乐的 HTML5 游戏。

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

在加载期间对样本进行预上采样,以减少运行期间的 CPU 负载(无需实时重新采样)。

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

到目前为止工作正常。

但是在某些浏览器上,将 22050Hz 与内部采样率相匹配的 WebAudio 的“真实”重采样器似乎并没有更好:-D。

如何切断 11025Hz(奈奎斯特频率为 22050Hz)以上的所有信号?理想的情况是:0-11025Hz 不变,但 11026Hz-max 被过滤掉。

WebAudio api 提供的低通滤波器不够陡峭,会在滤波器频率处产生共振。

我不想让“糟糕”的频率变得如此之高。 “糟糕的”重采样应该停止在 11025Hz。我认为,当强烈的低音频率反映在高频范围内时,高音扬声器甚至是演奏者听到的声音都不好。

这里不要 MP3&Co。 ADPCM->MP3 需要比真正的 ADPCM 更高的比特率(所需的人工制品很难在没有声音损失的情况下进行编码):-)。

我阅读了有关 FIR 和 IIR 滤波器的信息,但我不理解它们,因为这对我来说太数学化了。

我想,这就是我需要的。

我需要一些可以在没有学位的情况下转换为代码的东西:-D。

【问题讨论】:

    标签: lowpass-filter web-audio-api


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-24
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多