【发布时间】: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