有没有一个可以编辑音频文件使其音量相同的程序?

在Banshee或任何其他播放器中听音乐时,我总是不得不为某些歌曲调高音量,然后又降低音量,因为它们没有相同的重播增益。

  • 有没有可以在Banshee中使我的歌曲标准化的附加组件?
  • 还是有没有一个程序可以对我整个音乐库进行这样的处理?

我目前正在运行的是Ubuntu 12.04,如果这会对答案产生任何影响,请提前告知。

提前感谢。


在“编辑 > 首选项”中,Banshee有一个选项可以启用ReplayGain校正。我认为默认情况下甚至已经打开了。对你来说不起作用吗? - Michael Martin-Smucker
它的效果相对不错,但对于差异较大的歌曲来说,它并不能完全符合我的喜好。 - Oyibo
1不必使用各种不同的工具来处理不同的格式,你只需要使用sox就可以了。我想在man手册中应该有一个例子... - RobotHumans
3个回答

我使用一个命令行实用程序叫做mp3gain,它可以在软件库中找到。
要使用它,进入存储音乐文件的目录,然后运行以下命令:
find -name '*mp3' -exec mp3gain -r -k {} \;

它将遍历每个子目录,找到以.mp3结尾的任何文件,并规范增益,使其在播放时音量保持一致。
另外请注意,mp3gain不会对已经在所需范围内的文件进行操作,因此第二次及以后运行时,所需时间不会像第一次那样长。因此,您可以每次添加新文件时都按原样运行此命令,无论是添加一个新文件还是一大堆文件。
如果您恰好有.ogg文件,有一个类似的程序叫做vorbisgain
find -name '*ogg' -exec vorbisgain -r {} \;

有关于如何将一首歌的增益与你拥有的其他音乐进行归一化的选项,但是我已经很久没有看过它们了,所以无法多说。我只知道我将整个音乐库作为一个巨大的随机集合播放,并且上述命令及其设置在这些年里一直适用于我。
如果你恰好有.flac文件,你可以使用metaflac命令:
find -name '*flac' -exec metaflac --add-replay-gain {} \;

希望能有所帮助。

请注意,与仅仅添加元标签的replaygain相比,mp3gain会永久性地修改您的MP3数据以使其标准化;它的效果无法被移除或逆转,否则将在技术上影响MP3的质量,尽管任何差异对大多数人的听觉来说可能是难以察觉的。 - ish
5@izx 这是错误的。mp3gain是“无损”的,因为它在每个mp3数据帧中使用增益属性。根据mp3gain(1)的说明:此外,mp3gain所做的更改完全是无损的。由于该程序直接调整mp3文件而不进行解码和重新编码,因此在更改过程中不会丢失任何质量。因此,虽然可能难以确定初始值,但它们只是通过一个恒定的偏移量进行修改,这是完全可逆的。 - Jonas Schäfer
首先感谢DaveMG的回答,另外,结合@JonasWielicki刚才说的,常量偏移可以修改吗?第三,我猜这对于flac文件不起作用,如果我没弄错的话?有什么建议吗?我部分是希望有一些软件可以处理所有文件类型,比如.ogg、mp3等等,但就目前而言,这已经足够满意了,我只是出于好奇而已(我想在这里添加一个评论,而不是为flac文件创建一个几乎相同的新问题)。 - Oyibo
我也尝试过在Banshee中使用ReplayGain校正,对大多数歌曲来说效果还不错,但是我注意到有些歌曲效果并不理想。 - Oyibo
2@Oyibo,我已经提交了一个编辑请求,其中包含你需要为flac文件做的操作。将*ogg替换为*flac,将vorbisgain -r替换为metaflac --add-replay-gain。mp3gain会以类似于vorbisgain等方式计算偏移量,因此不需要手动进行操作。 - Jonas Schäfer
1@Oyibo 在Banshee中,“选项”(afaik)只能激活对文件中的RG标签进行读取的支持,它不会即时进行更正。因此,对于没有任何RG标签的文件,它将无法工作(这可能是为什么它在某些文件上不起作用)。 - Jonas Schäfer
@JonasWielicki 我知道我可能不需要手动调整偏移量,我只是想知道是否有可能在某个时候更改它,因为我的笔记本电脑扬声器声音很大,另外感谢您的帮助,使已经很好的答案更加完善! - Oyibo
1@Oyibo 你不会想要这样做的,因为偏移被调整得与其他replaygain文件一起播放。你可以使用音量控制来调节。 - Jonas Schäfer
除了FLAC命令以外,其他都对我有效。我已经编辑了你示例中不匹配的双引号,但是每个我尝试处理的文件仍然会显示“文件名.flac: 错误:在分析过程中出错(解码文件)”。有什么建议吗? - Tom Brossman
现在(Ubuntu 18)似乎无法使用Mp3Gain,但在以下链接中讨论了一个替代品(bs1770gain)。我刚开始尝试使用它,结果出奇地奇怪。https://ubuntuforums.org/showthread.php?t=2391446 - Marisha

我不认为Banshee本身有一个附加组件,但你可以在整个音乐收藏中进行音量标准化。在AVP上,我找到了两种方法来完成这个任务:
1. 使用sox:通过sudo apt-get install sox或Ubuntu软件中心安装。在终端中,使用cd命令导航到存放音乐文件的目录,然后输入sox gain −n −3。这将使mp3文件的音量水平相对于满刻度偏移-3 dB。
2. 使用normalize-mp3:当处理多个文件时,这是一个很好的选择。通过sudo apt-get install normalize-audio或Ubuntu软件中心安装。在终端中,使用cd命令导航到存放音乐文件的目录,然后输入normalize-audio -b *.mp3(用于艺术家专辑)或normalize-audio -m *.mp3(用于混音专辑)。

你可以使用Audacity来规范化整个音乐库的音量。
Audacity是一个免费、易于使用和多语言的音频编辑器和录音软件,适用于Windows、Mac OS X、GNU/Linux和其他操作系统。你可以使用Audacity来:
- 录制现场音频。 - 将磁带和唱片转换为数字录音或CD。 - 编辑Ogg Vorbis、MP3、WAV或AIFF音频文件。 - 剪切、复制、拼接或混合声音。 - 改变录音的速度或音调。 - 还有更多功能!请参阅完整的功能列表
其中之一的功能是使用压缩器、放大器、规范化和淡入/淡出效果来调整音量。

注意:使用Audacity会影响您的音乐质量。但是,如果您的音乐库全部为高品质的mp3,即256和320 kbit/s,并且采样频率为44.1和48 kHz,您可能不会察觉到质量损失。现在Audacity声称他们已经显著改进了标准化功能,但我认为在尝试标准化声音之前应该记住这一点。

1来源:Audacity


2Audacity的问题在于它会导致音质损失(并使音量变化不可逆),因为它必须对MP3文件进行解码和重新编码才能进行编辑... - ish
我知道,在我的媒体上使用过,以320 kbit/s的比特率,几乎看不出任何质量下降。但是你说得对,它确实会影响质量。 - Mitch
1同意。你能在最后加上一小段关于这方面的说明吗?谢谢。 - ish