【发布时间】:2010-04-13 14:52:53
【问题描述】:
我需要以 dB 为单位获取 mp3 文件的平均音量。这一定是在收听多个文件时自动调节音量。在这种情况下,文件本身不需要规范化。 理想情况下,我需要在命令行中得到一个结果,但适合并且只是一个算法。
【问题讨论】:
-
您是否设法了解如何做到这一点? 8 年后,我正在努力实现完全相同的目标!
我需要以 dB 为单位获取 mp3 文件的平均音量。这一定是在收听多个文件时自动调节音量。在这种情况下,文件本身不需要规范化。 理想情况下,我需要在命令行中得到一个结果,但适合并且只是一个算法。
【问题讨论】:
SoX 的 stat 谓词提供有关音频流的各种统计信息:
sox <file.mp3> -n stat
【讨论】:
这里有一些答案: calculate mp3 average volume
【讨论】:
查看Replay Gain 标准。 foobar2000 等音频播放器可以将该算法应用于您翻录的 CD 或音乐收藏,以在不改变文件音频内容的情况下标准化轨道范围或专辑范围内的平均曲目音量。
重放增益是一种为实现相同的音频文件播放量而发明的技术的名称。它指定了 89dB 的参考电平和测量音频数据感知响度的算法。
重放增益允许歌曲集合中每首歌曲的响度保持一致。这在早期的说法中称为“轨道增益”或“无线电增益”。它还允许特定子集合(“专辑”)的响度与集合的其余部分保持一致,同时允许专辑中歌曲之间的动态保持不变。这被称为“专辑增益”,或早期用语中的“发烧友增益”。这在听古典音乐专辑时通常很重要,因为安静的曲目需要比响亮的曲目保持一定程度的安静。
重放增益不同于峰值归一化。峰值归一化仅确保峰值幅度达到一定水平。这并不能确保相同的响度。重放增益技术测量波形的有效功率(即应用“等响度轮廓”后的 RMS 功率),然后相应地调整波形的幅度。结果是重放增益波形通常比峰值归一化波形更均匀地放大。
wiki 页面还列出了各种实现和相关工具。也许其中之一适合您!
【讨论】: