AIMP Forum
AIMP for PC => Ошибки и замечания / Bugs => Обработано / Processed => Topic started by: Alex-D on July 28, 2022, 17:36:04
-
На некоторых радио, треки или программы проигрываются с разным уровнем громкости. Анализ на лету в этом случае единственный способ выровнять громкость - однако иногда с ним возникают проблемы. Если предыдущий трек/программа были слишком громкими, и ReplayGain ушёл глубоко в минус (напр. -10 дБ), то на следующих тихих треках усиление не восстанавливается, а так и остаётся на этом уровне. Думал изначально, что это связано с большим временем восстановления - но даже через 2-3 минуты восстановления не происходит. Только если перезапустить станцию, RG начинает анализировать уже текущую громкость. Возможно, стоило бы добавить обнаружение смены тегов и сбрасывать уровень усиления к текущему (плавно) когда они сменяются. Или ввести время восстановления (например, 5-30 секунд), чтобы работало и при отсутствии тегов. Полагаю, эта проблема будет проявляться и при прослушивании длинных дорожек без разметки (аудиокниги/подкасты) - пара громких фрагментов в середине или вначале просадят уровень до самого конца, что не есть хорошо.
-
Так в этом смысл rg - не поднимать громкость выше заданной.
Для кривых радиостанций только нормализация.
-
Да RG, в отличие от пиковой нормализации, имеет накопительный эффект
-
Так в этом смысл rg - не поднимать громкость выше заданной.
А не поднимается в итоге выше уровня предыдущего трека или громкого фрагмента. Прочтите повнимательней суть проблемы.
Да RG, в отличие от пиковой нормализации, имеет накопительный эффект
Это конечно хорошо, но лишь в определённых пределах. При смене треков через теги, связи с предыдущим треком - никакой, поэтому и смысла держать "накопленное" нет - его просто можно сбрасывать. Если треки играют с разным уровнем, то поведение усиления в итоге получается совершенно непредсказуемым. Бахнуло в каком-то из треков в +20 дБ - и в итоге все последующие треки играют с -20 дБ, понимаете? Куда это годится. Я замучился уже на одном из радио постоянно перезагружать поток из-за этого. На единых файлах по 20-60 минут тоже нет смысла держать накопленное до конца - иначе получается, что половина трека играет громко, а вторая половина из-за какого-нибудь хлопка - уже тихо, и ты ничего с этим не поделаешь. Пары минут на мягкое восстановление уровня к текущему значению RMS было бы вполне достаточно, и без слышимых перескоков громкости.
-
На единых файлах по 20-60 минут тоже нет смысла держать накопленное до конца
Повторяю ещё раз: если вам нужно туда-сюда регулировать - нормализация вам в помощь.
RG не для этого, он для выравнивания громкости разных трэков друг относительно друга.
Сброс анализа при смене тегов - это тема для отдельной темы в предложениях.
-
Повторяю ещё раз: если вам нужно туда-сюда регулировать - нормализация вам в помощь.
RG не для этого, он для выравнивания громкости разных трэков друг относительно друга.
Верно. И предварительный анализ файлов именно так и работает, и абсолютно во всём устраивает.
Но речь идёт именно об анализе "на лету" - он сугубо из названия означает, что громкость анализируется в реальном времени, так же как и при "нормализации". Единственная разница с ней - в регулируемом параметре: в нормализации это амплитуда, в RG это RMS (что приемлемее для музыки). Всё, никаких дополнительных ухищрений здесь и не нужно - поиграться можно разве что со временем атаки и восстановления, на то он и "анализ на лету". Сейчас же, он какое-то время работает как надо (первые ~пару минут), восстановление громкости тоже производится - но через время перестаёт колебаться даже на сотые децибела. Не смог вычислить время и зависимость - может, разработчик ответит. И да, я не могу использовать, скажем, для радио "нормализацию", а в фонтеке RG - в плеере просто нет такой настройки. Поэтому и поднял этот вопрос.
Сброс анализа при смене тегов - это тема для отдельной темы в предложениях.
Это было бы очень неплохо. С другой стороны, добавить опциональную галочку или пороговое значение на время восстановления - и не нужно ничего выдумывать с тегами. Это даже лучше, т.к. между треками в тегах может быть плавный переход.
-
Но речь идёт именно об анализе "на лету" - он сугубо из названия означает, что громкость анализируется в реальном времени
"На лету" - значит работает без предварительного анализа файла. Но сам алгоритм анализа такой же, как у обычного RG
А он не подразумевает никаких атак и восстановлений.
Результат анализа RG - это всего одна цифра усиления в дБ - на которую правится громкость всего трека.
-
"На лету" - значит работает без предварительного анализа файла. Но сам алгоритм анализа такой же, как у обычного RG
А он не подразумевает никаких атак и восстановлений.
Результат анализа RG - это всего одна цифра усиления в дБ - на которую правится громкость всего трека.
Ну тогда он и должен работать только в пределах одного трека. Но в потоках нет понятия "трека", поэтому привязывать анализ нужно либо к тегам, либо ко времени - иначе как "один трек" расценивается весь поток, в котором может быть совершенно разный и неровный контент.