Как ограничить максимальную громкость?

У меня был много -гигабайтный файл, и я не был уверен, сжат ли он, поэтому я протестировал -сжатие первых 10 МБ байтов:

head -c 10000000 large_file.bin | gzip | wc -c

Это не идеально, но мне помогло.

2
02.02.2021, 00:26
2 ответа

Я нашел более простое решение. Для этого есть программа, называется EasyEffects (раньше назывались PulseEffects ). Функция AutoGain делает именно то, что мне нужно.

Страница EasyEffects на github

Устанавливается в Ubuntu с помощью команды

sudo apt install pulseeffects
0
05.10.2021, 08:32

Используемая здесь звуковая концепция представляет собой сжатие . Поэтому нам нужно установить плагин сжатия на аудиовыход. Следующее работает в Ubuntu 20.04. Мне нужно было установитьpulse audio first:


Verbatim from Is there a way of leveling/compressing the sound system-wide?

У меня был успех с примером, показанным в этом ответе .

  1. Установите Плагины LADSPA Стива ХаррисаInstall swh-plugins

     sudo apt install swh-plugins
    
  2. Запустите pacmd, а затем эту команду:

     load-module module-ladspa-sink sink_name=compressor plugin=sc4m_1916 label=sc4m control=1,1.5,401,-30,20,5,12
     set-default-sink compressor
    

Этот ответ объясняет, как постоянно загружать плагин.


Параметры (части control=1,1.5,401,-30,20,5,12выше )для этого компрессора описаны в Стива Харриса в документации по подключаемым модулям LADSPA:

  1. RMS/peak: The balance between the RMS and peak envelope followers.RMS is generally better for subtle, musical compression and peak is better for heavier, fast compression and percussion.
  2. Attack time (ms): The attack time in milliseconds.
  3. Release time (ms): The release time in milliseconds.
  4. Threshold level (dB): The point at which the compressor will start to kick in.
  5. Ratio (1:n): The gain reduction ratio used when the signal level exceeds the threshold.
  6. Knee radius (dB): The distance from the threshold where the knee curve starts.
  7. Makeup gain (dB): Controls the gain of the makeup input signal in dB's.
  8. Amplitude (dB): The level of the input signal, in decibels.
  9. Gain reduction (dB): The degree of gain reduction applied to the input signal, in decibels.

Из-за ограничения PulseAudio невозможно настроить их в режиме реального времени.

Чтобы поэкспериментировать с различными параметрами, я также загрузил компрессор как реальный -регулируемый по времени подключаемый модуль ALSA через Alsaequal Install libasound2-plugin-equal, создав следующий~/.asoundrc:

ctl.compressor {
  type equal;
  library "/usr/lib/ladspa/sc4m_1916.so";
  module "sc4m";
}

pcm.plugcompressor {
  type equal;
  slave.pcm "plug:pulse";
  library "/usr/lib/ladspa/sc4m_1916.so";
  module "sc4m";
}

pcm.compressor {
  type plug;
  slave.pcm plugcompressor;
}

Образец файла MP3 можно воспроизвести с помощью компрессора, используя mpg321 Install mpg321,

mpg321 -a hw:compressor "04 - Love Song for Yoshimi.mp3"

, а alsamixer -D compressorможно использовать для настройки параметров в -реальном времени.


End verbatim


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

Кроме того, в интерфейсе PulseAudio я мог выбрать, какое приложение должно использовать вывод плагина:

enter image description here

1
18.03.2021, 22:33

Теги

Похожие вопросы