Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ffmpeg低通滤波器增加滚降_Ffmpeg_Lowpass Filter - Fatal编程技术网

ffmpeg低通滤波器增加滚降

ffmpeg低通滤波器增加滚降,ffmpeg,lowpass-filter,Ffmpeg,Lowpass Filter,我已经将我的一个旧SACD转换为352kHz FLAC,但是由于DSD的性质,许多噪声被添加到更高的频率中,这些频率超出了可听范围,但占用了相当多的磁盘空间 所以我想我应该使用简单的过滤器来去除它,如下所示: ffmpeg-i input.dsf-af“lowpass=26000”output.flac 但是,结果是噪声仍然存在,但仅在音量上有所降低: 有没有办法增加滤波器的滚降,或者有其他办法在~48 kHz时达到-140 dB?TL,DR: 改用sox: ffmpeg-i input.

我已经将我的一个旧SACD转换为352kHz FLAC,但是由于DSD的性质,许多噪声被添加到更高的频率中,这些频率超出了可听范围,但占用了相当多的磁盘空间

所以我想我应该使用简单的过滤器来去除它,如下所示:

ffmpeg-i input.dsf-af“lowpass=26000”output.flac
但是,结果是噪声仍然存在,但仅在音量上有所降低:

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

TL,DR: 改用sox:

ffmpeg-i input.dsf-f wav-acodec pcm_s24le管道:1 | sox-S-t wav-忽略长度-压缩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“低通=24000,低通=28000,低通=30000,低通=32000”output.flac
…导致:

看起来真不错

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

sox-S-m-v1 input.flac-v-1 output.flac-n spectrogram-x640-y200-Z-30-o“lowpass.ffmpeg.diff.png”
…结果:

所以,我不可能把它保存在我的图书馆里。当我在寻找替代方案时,我看到了一篇内容丰富的文章:

因此,基于这些新信息,我启动了sox:

sox-S input.flac——压缩8 output.flac sinc-32k-t 16k
…这导致:

…并通过diff确认音频保持不变: