如何获取MP3文件的音量?

9

我需要获取mp3文件的平均音量(以分贝为单位)。这必须是在听多个文件时自动调整音量。在这种情况下,文件本身不需要归一化。

理想情况下,我需要在命令行中得到结果,但只有算法也可以。


你找到如何做到这一点了吗?8年后,我正在尝试实现完全相同的事情! - kRazzy R
3个回答

13

SoXstat 谓词可提供有关音频流的各种统计信息:

sox <file.mp3> -n stat


0

1
我认为在这种情况下,这些工具并不是OP所寻找的;它们会永久性地改变曲目的音量。OP只是想找到一种计算文件平均音量的方法。然而,如果它们包含源代码,仍然值得一看。 - Iain Samuel McLean Elder

-1

请查看Replay Gain标准。像foobar2000这样的音频播放器可以将该算法应用于您的已刻录CD或音乐收藏,以在曲目范围或专辑范围内规范化曲目的平均音量,而不改变文件的音频内容。

来自HydrogenAudio Wiki

Replay Gain是一种技术,旨在实现音频文件的相同播放音量。它指定了参考电平为89dB和测量音频数据感知响度的算法。
Replay Gain允许集合中每首歌曲的响度保持一致,这被称为“Track Gain”或早期的“Radio Gain”。它还允许特定子集合(即“专辑”)的响度与集合中的其余部分保持一致,同时允许专辑中歌曲之间的动态保持不变。这被称为“Album Gain”或早期的“Audiophile Gain”。当听古典音乐专辑时,这通常很重要,因为安静的曲目需要保持比较低的响度。
Replay Gain与峰值归一化不同。峰值归一化仅确保峰值幅度达到一定水平,这并不能保证相等的响度。Replay Gain技术测量波形的有效功率(即应用“等响度轮廓”后的RMS功率),然后相应地调整波形的幅度。结果是,Replay Gained波形通常比峰值归一化波形更均匀地放大。
维基页面还列出了各种实现和相关工具。也许其中一个适合您!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接