2

I've been looking around for something like this, but the only solution I found here only works for one output, and is very inelegant. I want something that will raise quiet sounds, lower loud ones, and ignoring bass tones for when I'm playing music.

The catch is that I want this done for my entire system at once in real time (like the post above) and have it be something I can turn off and on separate from my audio outputs. I am hoping someone knows of a program with an interface I can use so I can easily adjust different aspects of the way the volume is leveled as well as turn it off and on without using long and clunky terminal commands, but if that doesn't exist I won't turn down another solution.

Since this seems to me like an adequately similar question,I'll group it in with this one. there are a few things I'd like to do regarding sound outputs. I was wondering if/how I could: 1) - hide an output from the selection menu, 2) - rename an existing output, and 3) - make a default output that is always selected unless something else is plugged in, then that is selected. When it is unplugged, the default audio is selected again.

Thanks in advance!

2 Answers2

2

Those LADSPA filters are awkward to use and very feature poor, plus the documentation for them is simply TERRIBLE.

I recommend using PulseEffects, its a fully featured GUI application that allows you to configure and stack effects (e.g. auto gain, compression, limiter etc) and apply them to individual applications like Chrome, spotify etc on the fly.

DeepFried
  • 170
2

To level output volume we can apply LADSPA filters to our audio sink:

So after having installed the Steve Harris' plugins (swh-plugins Install swh-plugins) we can issue the following commands in a terminal to create a sink with a compressor and a normalizer:

pactl load-module module-ladspa-sink sink_name=ladspa_sink master=<alsa_output> plugin=dyson_compress_1403 label=dysonCompress control=0,1,0.5,0.99
pactl load-module module-ladspa-sink sink_name=ladspa_normalized master=ladspa_sink plugin=fast_lookahead_limiter_1913 label=fastLookaheadLimiter control=10,0,0.8 sink_properties=device.description=Normalized_Sink

Replace <alsa_output> with the name of your default sink.


To send this normalized audio to all audio outputs in our system we can use the module combined:

The following command will create a myCombine sink from all audio cards available in our system further specified in slaves=. Replace the names of these sinks with those on your system.

pactl load-module module-combine-sink sink_name=combine sink_properties=device.description=myCombine slaves=sink1,sink2,... channels=2

We then can apply the LADSPA filters to this combined sink. This can be quite CPU demanding so not all systems may be capable to do that.


For a short documentation of the SWH plugins to be able to further fine-tune parameters see:

Takkat
  • 144,580