ffmpeg 低通滤波器增加滚降
ffmpeg lowpass filter increase roll off
我已经将我的一张旧 SACD 转换为 352kHz FLAC,但由于 DSD 的性质,大量噪声被添加到较高频率,超出可听范围,但消耗相当多的磁盘 space.
所以我想我会使用简单的 lowpass 过滤器来摆脱它,就像这样:
ffmpeg -i input.dsf -af "lowpass=26000" output.flac
然而,结果是噪音仍然存在,只是音量降低了:
有没有办法增加滤波器的滚降或其他方法在 ~48 kHz 时达到 -140 dB?
长话短说:
改为使用 sox:
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 确认,可听频率保持不变:
我已经将我的一张旧 SACD 转换为 352kHz FLAC,但由于 DSD 的性质,大量噪声被添加到较高频率,超出可听范围,但消耗相当多的磁盘 space.
所以我想我会使用简单的 lowpass 过滤器来摆脱它,就像这样:
ffmpeg -i input.dsf -af "lowpass=26000" output.flac
然而,结果是噪音仍然存在,只是音量降低了:
有没有办法增加滤波器的滚降或其他方法在 ~48 kHz 时达到 -140 dB?
长话短说:
改为使用 sox:
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 确认,可听频率保持不变: