# Dynamic compress # # Copy this file into a conf.d/ directory such as # ~/.config/pipewire/filter-chain.conf.d/ # ## Korkiat Petsiri # context.modules = [ { name = libpipewire-module-filter-chain args = { node.description = "Dynamic compression Ladspa" media.name = "Dynamic compression Ladspa" filter.graph = { nodes = [ { type = ladspa name = comp2 plugin = /usr/lib/ladspa/sc4_1882.so label = sc4 control = {"RMS/peak" = 0 "Attack time (ms)" = 2 "Release time (ms)" = 650 "Threshold level (dB)" = -30 "Ratio (1:n)" = 1.4 "Knee radius (dB)" = 6 "Makeup gain (dB)" = 12 } } { type = ladspa name = comp1 plugin = /usr/lib/ladspa/sc4_1882.so label = sc4 control = { "RMS/peak" = 1 "Attack time (ms)" = 180 "Release time (ms)" = 350 "Threshold level (dB)" = -26.67 "Ratio (1:n)" = 1.4 "Knee radius (dB)" = 7 "Makeup gain (dB)" = 10 } } { type = ladspa name = norm3 plugin = /usr/lib/ladspa/fast_lookahead_limiter_1913.so label = fastLookaheadLimiter control = { "Input gain (dB)" = 0 "Limit (dB)" = 0 "Release time (s)" = 0.5057 } } ] links = [ { output = "comp2:Left output" input = "comp1:Left input" } { output = "comp2:Right output" input = "comp1:Right input" } { output = "comp1:Left output" input = "norm3:Input 1" } { output = "comp1:Right output" input = "norm3:Input 2" } ] inputs = [ "comp2:Left input" "comp2:Right input" ] outputs = [ "norm3:Output 1" "norm3:Output 2" ] } capture.props = { node.name = "effect_input.dynamic" audio.channels = 2 audio.position = [ FL FR ] media.class = Audio/Sink } playback.props = { node.name = "effect_output.dynamic" node.passive = true audio.channels = 2 audio.position = [ FL FR ] node.target = "alsa_output.target" } } } ]