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 - это всего одна цифра усиления в дБ - на которую правится громкость всего трека.
 
 Ну тогда он и должен работать только в пределах одного трека. Но в потоках нет понятия "трека", поэтому привязывать анализ нужно либо к тегам, либо ко времени - иначе как "один трек" расценивается весь поток, в котором может быть совершенно разный и неровный контент.