Нормализация объема в реальном времени

Вопрос или проблема

Мне не нравится, что мне приходится регулировать громкость, когда я смотрю фильм, но всегда кажется, что диалоги слишком тихие, а сцены экшена слишком громкие. Так что я ищу решение.

Немного о背景: в данный момент я использую Arch и хотел бы сначала разработать решение, которое будет работать там. Конечной целью является наличие решения, работающее на Raspberry Pi. Я разделю аудио с HDMI-входа, подам аналоговый сигнал на Pi и отправлю выход на колонки.

Замена /etc/asound.conf на следующий код – это единственное, что мне удалось найти в Интернете.

pcm.!default {
    type asym
    playback.pcm "plug:ladcomp_compressor"
    capture.pcm "plug:dsnoop" 
}

pcm.ladcomp_compressor {
    type ladspa
    slave.pcm "ladcomp_limiter";
    path "/usr/lib/ladspa";
    plugins [
    {
        label dysonCompress
        input {
            #пиковый лимит, время релиза, быстрый коэффициент, коэффициент
            controls [0 1 0.5 0.99]
        }
    }
    ]
}

pcm.ladcomp_limiter {
    type ladspa
    slave.pcm "plug:dmix"
    path "/usr/lib/ladspa";
    plugins [
    {
        label fastLookaheadLimiter
        input {
            #Уровень входа (дБ) -20 -> +20 ; Лимит (дБ) -20 -> 0 ; Время релиза (с) 0.01 -> 2
            controls [ 20 0 0.8  ]
        }
    }
    ]
}

(Из поста на Reddit https://www.reddit.com/r/linux/comments/of6bh/realtime_volume_normalization/) Но я не уверен, что это работает. Можете ли вы объяснить, как работает эта конфигурация, или поделиться лучшими идеями.

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

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

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

Признаюсь, это не сильно поможет вам, но единственные предложения, которые я могу предложить, это:

  1. Во-первых, поиграть с настройками эквалайзера в выбранном вами видеоплеере, так как диалоги в основном ограничены небольшим диапазоном частот. Возможно, вы сможете найти совет где-то в Интернете.
  2. Если у вас есть доступ к объёмному звуку с DVD и т.д., вы можете отрегулировать громкость центрального фронтального динамика, так как именно туда часто сводятся диалоги. Затем должен быть способ смешать до стерео для аудиовыхода.

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

Ответ или решение

РНормализация обьёма в реальном времени: Решение проблемы с громкостью диалогов в кино

Введение

Вам, как любителю кино, уже наверняка не раз приходилось сталкиваться с проблемой, когда диалоги тихие, а громкие сцены перегружают динамики. В данном ответе мы разберем, как можно осуществить нормализацию звука в режиме реального времени с использованием вашей системы на базе Arch и Raspberry Pi.

Краткий обзор задачи

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

Проблема с текущей конфигурацией

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

Предлагаемое решение

  1. Использование эквалайзера:

    • Начните с настройки эквалайзера в вашем видеоплеере. Поскольку диалоги в основном содержатся в диапазоне частот от 300 до 3000 Гц, вы можете усиливать эти частоты, чтобы сделать звук более разборчивым. Попробуйте использовать эквалайзер, доступный в таких медиаплеерах, как VLC или MPV.
  2. Настройка громкости центрального канала:

    • Если у вас есть доступ к многоканальному аудио (например, с DVD или Blu-ray), попробуйте увеличить громкость центрального канала, так как именно там обычно монтируют диалоги. В большинстве медиаплееров должна быть возможность настроить уровень громкости для каждого канала.
  3. Использование стороннего программного обеспечения:

    • Рассмотрите возможность установки программного обеспечения для нормализации громкости, такого как pulseaudio-equalizer или mpv с скриптами для динамической нормализации. Эти инструменты могут быть более эффективными, чем простая замена конфигурации ALSA.
  4. Аппаратное решение:

    • Если вы применяете Raspberry Pi, возможно стоит рассмотреть использование звуковой карты с поддержкой DSP (цифровой обработки сигналов), которая может выполнять нормализацию в реальном времени на аппаратном уровне.

Настройка активации

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

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...