Skip to content

Нормализация аудио странно работает #17

@Scream034

Description

@Scream034

Суть проблемы

Некоторые треки звучат субъективно тише других (например, 1 трек играет тише, чем 2 трек), несмотря на включенную нормализацию. При этом:

  1. Режим нормализации YouTube (DownwardOnly) звучит чище и стабильнее, в то время как двунаправленный режим Spotify (Bidirectional) вносит искажения или чрезмерно занижает громкость.
  2. Смена режимов нормализации «на лету» в настройках применяется некорректно, часто вызывая резкие скачки громкости или щелчки в буфере.

Возможное решение (Теория и архитектура)

  1. Анализ расчёта True Peak Limiter: В AudioPipeline.ApplyGainWithTruePeak используется chunk-level peak scan. Если в буфере (~50мс) есть один короткий громкий пик, лимитер занижает громкость всего чанка, что на динамичных треках создает эффект «пампинга» (громкость постоянно плавает). Нужно переписать лимитер на скользящее окно с Attack/Release характеристиками.
  2. Интеграция LUFS: Проверить, как EbuR128Analyzer сопоставляет целевой уровень LUFS (например, -14 LUFS) с реальным уровнем трека. Возможно, YouTube loudnessDb применяется некорректно, путая относительное ослабление (attenuation) с абсолютной шкалой LUFS.
  3. Плавный кроссфейд параметров (Gain Crossfade): При изменении целевого LUFS или режима нормализации в настройках, новое значение Gain должно применяться не мгновенно, а плавно интерполироваться на протяжении 300-500мс для исключения щелчков.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions