Как получить объем файла MP3?

Мне нужно получить среднюю громкость mp3-файла в дБ. Это должно быть так, что при прослушивании нескольких файлов автоматически регулируется громкость. При этом сами файлы нормализовать не нужно. В идеале мне нужно получить результат в командной строке, но подойдет и просто алгоритм.


person user315581    schedule 13.04.2010    source источник
comment
Вам удалось узнать, как это сделать? 8 лет спустя я пытаюсь добиться того же самого!   -  person kRazzy R    schedule 24.04.2018


Ответы (3)


Предикат stat для SoX предоставляет всевозможные статистические данные об аудиопотоке:

sox <file.mp3> -n stat

person Ignacio Vazquez-Abrams    schedule 13.04.2010

Некоторые ответы здесь: рассчитать средний объем mp3

Может быть полезно: http://normalize.nongnu.org/

person zaf    schedule 13.04.2010
comment
Я думаю, что в данном случае эти инструменты не то, что ищет ОП; они постоянно изменяют громкость треков. OP просто ищет способ рассчитать средний объем файла. Однако, если включить исходный код, их все же стоит посмотреть. - person Iain Samuel McLean Elder; 14.04.2010

Ознакомьтесь со стандартом Replay Gain. Аудиоплееры, такие как foobar2000, могут применять алгоритм к вашим скопированным компакт-дискам или музыкальной коллекции для нормализации средней громкости треков. в области трека или области альбома без изменения аудио содержимого файлов.

Из Вики HydrogenAudio:

Replay Gain — это название техники, изобретенной для достижения одинаковой громкости воспроизведения аудиофайлов. Он определяет опорный уровень 89 дБ и алгоритм измерения воспринимаемой громкости аудиоданных.

Replay Gain позволяет обеспечить постоянную громкость каждой песни в коллекции песен. Это называется «Track Gain» или «Radio Gain» на более раннем языке. Это также позволяет громкости определенной подколлекции (альбома) соответствовать остальной части коллекции, в то же время позволяя динамике от песни к песне в альбоме оставаться неизменной. Это называется «Альбомное усиление» или «Аудиофильское усиление» на более раннем языке. Обычно это важно при прослушивании альбомов классической музыки, потому что тихие треки должны оставаться в определенной степени тише, чем более громкие.

Replay Gain отличается от нормализации пиков. Пиковая нормализация просто гарантирует, что пиковая амплитуда достигает определенного уровня. Это не обеспечивает равной громкости. Метод Replay Gain измеряет эффективную мощность сигнала (т. е. среднеквадратичную мощность после применения кривой равной громкости), а затем соответствующим образом регулирует амплитуду сигнала. В результате сигналы Replay Gained обычно усиливаются более равномерно, чем сигналы с нормализованными пиками.

На вики-странице также перечислены различные реализации и связанные с ними инструменты. Возможно, что-то из этого подойдет именно вам!

person Iain Samuel McLean Elder    schedule 14.04.2010