Lautstärke der Soundkarte normalisieren

(Spät) Abends im Bett noch einen Spielfilm zu gucken, kann in einer WG und/oder bei dünnen Wänden eine akustische Herausforderung werden. Die zumeist für das Kino vorgesehenen Lautstärkeabstimmungen führen dazu, dass die geflüsterte Szene kaum zu verstehen ist, während der Nachbar bei der anschließenden Schießerei aus dem Bett fliegt.

Eine gut funktionierende Lösung fand ich für Systeme, die PulseAudio benutzten: Adjusting sound level with a LADSPA plugin. Um die Anwendung zu vereinfachen, habe ich die erforderlichen Schritte in dem nachfolgenden Shellskript zusammengefasst. Lediglich der Name der Soundkarte muss für das entsprechede Zielsystem angepasst werden.

#!/bin/bash

# --- Vor der ersten Benutzung ---
# Plugins installieren:
# $ sudo apt-get install swh-plugins
# Namen der Soundkarte finden:
# $ pacmd list-sinks | grep name:
# Namen als Variable hinterlegen (ohne <>):
CARDNAME=alsa_output.pci-0000_00_1b.0.analog-stereo
# --------------------------------

# Dyson Compressor anlegen
pacmd load-module module-ladspa-sink sink_name=ladspa_sink master=$CARDNAME plugin=dyson_compress_1403 label=dysonCompress control=0,1,0.5,0.99

# Fast Lookahead Limiter anlegen
pacmd load-module module-ladspa-sink sink_name=ladspa_normalized master=ladspa_sink plugin=fast_lookahead_limiter_1913 label=fastLookaheadLimiter control=10,0,0.8

# Soundausgabe setzen
pacmd set-default-sink ladspa_normalized