rox

ReplayGain и чего он вам стоит

Почему один альбом вдвое громче следующего, что исправление на самом деле делает с вашим звуком и почему нельзя иметь его и побитовое воспроизведение одновременно.

Задача, которую он решает

Записи не сводят к общей громкости. CD 1985 года и ремастер того же альбома 2005 года могут отличаться на десять децибел и больше, а это разница между «удобно» и «тянусь к громкости». Перемешайте коллекцию за четыре десятилетия, и вы будете подкручивать громкость каждый третий трек.

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

Усиление трека и усиление альбома

Каждый измеренный файл несёт два числа, и выбор между ними единственная настройка, которая действительно меняет ощущение от прослушивания.

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

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

rox берёт это как настройку и применяет выбранное число к каждому треку при его открытии, так что это предпочтение, а не что-то запечённое в файлы.

Пик и почему прибавка может уйти в клиппинг

Рядом с усилением проход измерения записывает самый громкий сэмпл трека. Это число важно, потому что поправки ReplayGain идут в обе стороны: тихая запись получает положительное усиление, а умножение сэмплов, которые и так почти достают до полной шкалы, выталкивает их за неё. За полной шкалой идти некуда, так что форма волны сплющивается и вы слышите искажение, которого в файле не было.

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

Файлы, которые никто не измерял

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

rox читает теги там, где они есть, под стандартными именами в каждом формате, который он индексирует: кадры TXXX в ID3v2, комментарии Vorbis в FLAC, свободные атомы в MP4 и теги усиления R128, которые несёт Opus, приведённые к опорному уровню ReplayGain при чтении. Для всего остального он меряет файлы сам проходом громкости по EBU R128 и складывает результат в медиатеку, помечая его как измеренный, чтобы более позднее пересканирование могло отличить собственные числа rox от того, что написал теггер. Если вы предпочитаете, чтобы числа лежали в файлах, настройка запишет их обратно тем же проверяемым путём записи, которым пользуется редактор тегов.

Этот проход умеет запускаться сам. С включённым автоматическим измерением файлы меряются, как только наблюдатель за папками успокаивается после импорта, а трек, брошенный в уже измеренный альбом, отправляет всю запись на перемер, ведь усиление альбома — это число про запись, а не про файл.

Часть, которую большинство страниц пропускает

ReplayGain умножает ваши сэмплы на число. Это обработка. Это не lossless, это не прямой проброс, и любой плеер, заявляющий ReplayGain и побитовый вывод одновременно, описывает то, чего не бывает.

Это важно, если у вас есть ЦАП, который вы выбирали внимательно. Побитово значит, что до преобразователя доходят те же сэмплы, что лежат в файле, без изменений, так что всё, что их масштабирует, регулятор громкости ниже единицы, эквалайзер, ReplayGain, закрывает эту заявку. Нормализации громкости, которая оставляет биты в покое, не бывает, потому что менять громкость и значит менять биты.

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

Монопольный вывод, отдельно

Побитовости нужна ещё и операционная система вне пути, для чего и существует монопольный режим вывода. rox забирает устройство напрямую: имя ALSA hw: на Linux, без dmix, без plug и без звукового сервера по дороге; WASAPI exclusive на Windows; hog mode через CoreAudio на macOS. Он следует за исходной частотой там, где устройство это позволяет, и сообщает, на что железо согласилось на самом деле, а не что у него просили.

Обмен тот же, что и везде, где есть монопольный режим: пока rox держит устройство, ничто другое на машине через него не играет. Если устройство забрать не удалось, rox откатывается в общий режим с видимым состоянием, а не замолкает, оставляя вас разбираться почему.

Что не сделано

Плееров, которые говорят, что из побитовости и ReplayGain у вас сейчас включено, и меряют файлы, до которых ваши теггеры так и не дошли, немного. Если вам нужна такая честность от того, что стоит между вашей коллекцией и вашим ЦАПом, rox из их числа.

Направьте его на свою коллекцию

Проход измерения идёт в фоне по всему, у чего нет усиления, и продолжается с закрытым окном настроек. Подробнее о том, что ещё важно на масштабе медиатеки.