Можно ли без потерь увеличить громкость файла MP3?

57

Я хочу увеличить громкость некоторых файлов MP3, которые у меня есть. Есть ли способ сделать это без потерь (без повторного сжатия файла MP3 и, следовательно, снижения его качества)?

user602675
источник

Ответы:

57

Да. Ты можешь сделать это. Техника используется рядом программ, а уровни рассчитываются алгоритмом ReplayGain. Данные уровня громкости MP3 можно регулировать без потерь, точно так же, как изображение в формате JPEG можно вращать без потерь.

Есть два метода

  1. Рассчитайте уровень громкости файла и добавьте новый тег, позволяющий совместимым программам регулировать громкость на лету
  2. Рассчитайте уровень громкости и настройте уровень множителя в данных mp3.

От HydrogenAudio: Реализация :

В методе метаданных может храниться информация об обоих типах ReplayGain (Track Gain и Album Gain). Информация об изменении громкости может быть очень точной. Если аудиоданные также были изменены, метаданные могут содержать информацию об отмене. Не все аудиоплееры / декодеры знают, как читать и использовать информацию ReplayGain, хранящуюся в метаданных. И нет никакого стандарта для того, где и как хранится информация ReplayGain; каждая реализация использует разные форматы и размещает информацию в разных местах.

В методе аудиоданных фактические аудиоданные файла модифицируются таким образом, что его естественная / стандартная громкость воспроизведения находится на целевом уровне. В этом сценарии может применяться только один тип ReplayGain (Track Gain или Album Gain). Если информация «отменить» где-то не сохранена, восстановление исходных аудиоданных может оказаться невозможным. Ограничения формата аудиофайла могут помешать точной (точно настроенной) настройке усиления с помощью этого метода. Например, файлы MP3 и AAC могут быть изменены без потерь только с шагом 1,5 дБ. В зависимости от формата аудиофайла процесс также может быть с потерями в том смысле, что он может необратимо протолкнуть сигнал выше максимальной амплитуды формата (приводя к отсечению) или ниже минимума (приводя к молчанию).

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

Программа под названием mp3gain может сделать второй вариант и обратимо регулировать громкость mp3s. Он абсолютно не перекодирует и просто регулирует значения в самом файле mp3 для изменения громкости. От HydrogenAudio: ReplayGain

При изменении усиления всегда изменяются глобальные поля усиления в аудиоданных MP3. Это может добавить несколько точных метаданных, в том числе отменить информацию

Из-за способа кодирования mp3-файлов настройка ограничена шагами в 1,5 дБ, что обычно достаточно, чтобы приблизиться.

Foobar2k также включает эту функцию и может применить изменения к файлам.

Мокубай
источник
Интересно. Не могли бы вы объяснить первый вариант? Это специальные теги ID3?
LPChip
2
В прошлом я тестировал одну из программ, которая утверждала, что она вращает файл JPEG без потерь. Распаковка версии, которая была повернута на 90 градусов 4 раза, давала тот же результат, что и распаковка оригинала. Однако декомпрессия версии, которая была повернута на 90 градусов только один раз, не дала того же результата, что и декомпрессия оригинала и поворот на 90 градусов. Таким образом, поворот файла JPEG на 90 градусов не был полностью без потерь, и основной причиной, по-видимому, являются определенные асимметрии в самой спецификации JPEG.
kasperd
7
@kasperd, который довольно интересен тем, что показывает, что при вращении фактические данные закодированного изображения сохраняются на 100%, в противном случае продолжение поворота никогда не приведет к тому же файлу, но в процессе восстановления изображения есть последующий процесс, чувствительный к ротация данных. Это не совсем удивительно, учитывая используемые вычисления, но ваши исходные сжатые данные фактически не пострадали от процесса и могут быть восстановлены. Следовательно, само вращение не теряет никаких данных и, следовательно, без потерь. В этом случае декодер по-разному реагирует на повернутые данные.
Мокубай
2
думаю, что jpeg повороты без потерь, только если размер изображения в любом направлении кратен 8 пикселям)
Strawberry
1
@Strawberry: данные для JPG всегда имеют целое число плиток в обоих направлениях, но файл содержит измерения, которые не должны быть кратны этому. Если повернуть данные в мозаичных элементах, когда размеры не кратны временному размеру, части мозаичных элементов, которые не были видны, стали бы видимыми, а некоторые видимые части были бы сохранены, но скрыты. Повторение операции еще три раза вернет скрытые данные в поле зрения.
суперкат
3

На мой взгляд, Replaygain не является ответом на этот вопрос. Он не увеличивает громкость контента, а просто добавляет тег, чтобы сообщить игрокам (только тем игрокам, которые поддерживают этот тег) самостоятельно настраивать громкость во время воспроизведения. В частности, он не совместим со всеми проигрывателями и не подходит для всех видов использования mp3-файлов (таких как объединение их в один поток и т. Д.).

С другой стороны, теоретически возможно масштабировать все коэффициенты DCT без декодирования и перекодирования (то есть без изменения квантования и DCT с последующим их повторным преобразованием), только переделывая кодирование Хаффмана (без потерь). Когда я работал над MPlayer, я думаю, что у кого-то была утилита, которая делала это, но я потерял название.

Р..
источник
2

Да, это называется усилением воспроизведения, принцип очень прост и работает довольно хорошо. По сути, программное обеспечение «слушает» вашу дорожку и определяет, насколько она должна быть усилена, чтобы звучать «нормально». Информация пишется в mp3tag, отдельно от данных.

Совместимый проигрыватель затем использует эти данные для автоматического увеличения громкости, чтобы все дорожки воспроизводились с одинаковой громкостью. Я бы предложил попробовать http://www.foobar2000.org/ для этого упражнения. Щелкнув правой кнопкой мыши по дорожке, вы можете отсканировать ее, и в настройках программы вам необходимо настроить использование информации о воспроизведении.

JollyMort
источник
1

После загрузки Audacity (бесплатное приложение) https://sourceforge.net/projects/audacity/ , выберите «Файл» / «Импорт» / «Аудио», перейдите к своему mp3-файлу, нажмите на него и выберите «Открыть». Вы увидите двухканальную форму волны.
В раскрывающемся меню нажмите «Изменить / Выбрать / Все». Пока файл выбран, выберите «Эффекты» в раскрывающемся списке вверху и выберите «Нормализовать». Просто нажмите «ОК» в открывшемся окне. По умолчанию обычно достаточно. Нажмите зеленый треугольник воспроизведения на видимых переключателях, чтобы проверить отредактированный файл. Вы можете работать со многими другими эффектами, такими как эквалайзер, усиление, низкие и высокие частоты и т. Д. Если вы удовлетворены результатами, выберите «Файл / Экспорт аудио» и выберите «Сохранить как тип», который вы предпочитаете, обычно .WAV или .MP3.

Я должен был сделать это со многими слабыми файлами, которые я получил.

5Strings
источник