【问题标题】:ffmpeg lowpass filter increase roll off [closed]ffmpeg低通滤波器增加滚降[关闭]
【发布时间】:2020-03-21 12:19:15
【问题描述】:

我已将我的一张旧 SACD 转换为 352kHz FLAC,但由于 DSD 的性质,很多噪声被添加到较高频率,超出可听范围,但会占用相当多的磁盘空间。

所以我想我会使用简单的lowpass 过滤器来摆脱它,就像这样:

ffmpeg -i input.dsf -af "lowpass=26000" output.flac

但是,结果是噪音仍然存在,只是音量降低了:

有没有办法增加滤波器的滚降或在 ~48 kHz 时达到 -140 dB?

【问题讨论】:

    标签: ffmpeg lowpass-filter


    【解决方案1】:

    TL,DR:

    改用袜子:

    ffmpeg -i input.dsf -f wav -acodec pcm_s24le pipe:1 | sox -S -t wav --ignore-length - --compression 8 output.flac sinc -32k -t 16k
    

    ...将消除所有高频失真并显着减小文件大小(使其回到接近 DSD):

    • DSD64 (SACD):~162 MiB
    • FLAC(352.8kHz - 无滤波器):~396 MiB
    • FLAC(352.8kHz - 低通):~189 MiB

    长读

    好的,我发现,可以简单地链接滤波器并使用稍微不同的滚降频率。对于以下内容,我只是将没有任何过滤器的 DSD 文件转换为 FLAC(因此,在以下命令中,我们使用 input.flac 而不是 input.dsf)。

    使用以下命令:

    ffmpeg -i input.flac -af "lowpass=24000,lowpass=28000,lowpass=30000,lowpass=32000" output.flac
    

    ...导致:

    看起来真不错。

    然后我检查了它在较低(可听)频率中与原始频率的接近程度:

    sox -S -m -v 1 input.flac -v -1 output.flac -n spectrogram -x 640 -y 200 -Z -30 -o "lowpass.ffmpeg.diff.png"
    

    ...结果:

    所以,我无法将它保存在我的图书馆中。当我在寻找替代品时,我发现了这篇内容丰富的不错的读物:

    所以,根据这些新信息,我改用了 sox:

    sox -S input.flac --compression 8 output.flac sinc -32k -t 16k
    

    ...导致:

    ...并通过 diff 确认,可听频率保持不变:

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 1970-01-01
      • 2014-07-29
      • 2013-06-20
      • 2011-05-29
      • 2019-04-29
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多