我已经读过,在 FFT 之后修改频域中的 bin 值会带来问题,当使用 iFFT 将信号带回时域时会导致毛刺。这是 iirc 造成的,因为修改后的数据不再“连续”对齐到 bin (并且不连续性人工制品)。因此,例如不建议在频域中执行(“理想滤波器”)均衡。
但是由于有例如插值方法,
有没有办法进行处理,例如在频域中进行混洗或删除箱,以便可以保持音质?例如,通过使用插值方法“合成”新数据。
在音频的上下文中,有些东西似乎是可行的,因为存在这样的插件,它们似乎在频域中进行过滤:
我已经读过,在 FFT 之后修改频域中的 bin 值会带来问题,当使用 iFFT 将信号带回时域时会导致毛刺。这是 iirc 造成的,因为修改后的数据不再“连续”对齐到 bin (并且不连续性人工制品)。因此,例如不建议在频域中执行(“理想滤波器”)均衡。
但是由于有例如插值方法,
有没有办法进行处理,例如在频域中进行混洗或删除箱,以便可以保持音质?例如,通过使用插值方法“合成”新数据。
在音频的上下文中,有些东西似乎是可行的,因为存在这样的插件,它们似乎在频域中进行过滤:
你这样做的方式是使用一个在 FFT 之前和之后逐渐变细到 0 的窗口(分析和重新合成窗口),以及 50% 的重叠(需要是COLA 窗口),以淡出毛刺并保持信号连续。
如果对 FFT 表示的 bin 修改可以通过有限长度脉冲响应的变换足够接近您的目的,则可以在没有毛刺的情况下完成一系列零填充 FFT 的修改以及重叠添加或重叠保存处理。零填充加重叠是为了防止 bin 修改中的循环卷积伪影导致不连续。使修改的脉冲响应足够短以执行此操作也有助于消除修改在 FFT 箱之间的频率响应中的波纹;这些涟漪可能是令人讨厌的伪影的另一个原因。
对于属于分析/再合成音乐处理类别的 bin“混洗”,相位声码器方法与交叉淡入淡出充分重叠的 IFFT 结果帧相结合是无毛刺修改的另一种可能性。
我认为只要 bin 修改代表时间的连续体,你就可以了。换句话说,bin 修改(比例、偏移等)应该接近前一个窗口的相同 bin。