最近在整理音乐文件时,可能由于音源问题,出现了有的文件在播放时声音大甚至爆音,有的声音小听不清的问题。我们需要调整下文件的默认音量,进行固定增益或响度归一化操作。
涉及音视频我们首选用 FFmpeg 来处理。
如果只是想简单地把整首歌的音量调高或调低一个固定的倍数,用 volume 滤镜最直接。
# 使用倍数调整 (1 为原始音量)
ffmpeg -i input.flac -filter:a "volume=2.0" output.flac
# 使用分贝(dB)调整 (更符合听觉感知)
ffmpeg -i input.flac -filter:a "volume=5dB" output.flacvolume=2.0:将音量翻倍。设置范围在 0~1 之间是降低,大于 1 是提高。
volume=5dB:将音量提升 5 分贝。使用 -5dB 则是降低 5 分贝。
关于失真的提醒
随意增加固定增益很容易导致声音“破音”(削波失真)。保险起见,可以先分析一下音频当前的峰值电平,再进行调整。
# 分析音频峰值电平,为调整提供参考
ffmpeg -i input.flac -af "volumedetect" -f null /dev/null如果不确定调高多少合适,或者不同歌曲之间的响度差异大,用 loudnorm 滤镜让 FFmpeg 智能分析并自动调整到统一的目标响度,效果更专业。
# 使用 EBU R128 标准进行智能归一化
ffmpeg -i input.flac -af loudnorm output.flac默认情况下,它会将音频的整体响度(而非峰值)调整到 -23 LUFS,这是广播电视的国际标准,通常听起来会比原文件更“饱满”且不会轻易破音。如果想让它更响一点,可以调整 I 参数(目标响度):
# 调整到更响的 -16 LUFS,适合个人欣赏
ffmpeg -i input.flac -af "loudnorm=I=-16" output.flac