diff --git a/pipewire/.config/pipewire/pipewire.conf.d/dt770-sink.conf b/pipewire/.config/pipewire/pipewire.conf.d/dt770-sink.conf new file mode 100644 index 0000000..d526553 --- /dev/null +++ b/pipewire/.config/pipewire/pipewire.conf.d/dt770-sink.conf @@ -0,0 +1,101 @@ +# 10 band sink equalizer for DT 770 80 Ohms +context.modules = [ + { name = libpipewire-module-filter-chain + args = { + node.description = "DT770 Equalizer Sink" + media.name = "DT770 Equalizer Sink" + filter.graph = { + nodes = [ + { + type = builtin + name = eq_band_1 + label = bq_highshelf + control = { "Freq" = 0 "Q" = 1.0 "Gain" = -2.6 } + } + { + type = builtin + name = eq_band_2 + label = bq_peaking + control = { "Freq" = 45.0 "Q" = 0.2 "Gain" = -5.2 } + } + { + type = builtin + name = eq_band_3 + label = bq_peaking + control = { "Freq" = 75.0 "Q" = 1.4 "Gain" = 2.0 } + } + { + type = builtin + name = eq_band_4 + label = bq_lowshelf + control = { "Freq" = 105.0 "Q" = 0.71 "Gain" = 5.5 } + } + { + type = builtin + name = eq_band_5 + label = bq_peaking + control = { "Freq" = 210.0 "Q" = 1.4 "Gain" = 4.0 } + } + { + type = builtin + name = eq_band_6 + label = bq_peaking + control = { "Freq" = 2400.0 "Q" = 3.5 "Gain" = -2.3 } + } + { + type = builtin + name = eq_band_7 + label = bq_peaking + control = { "Freq" = 3800.0 "Q" = 1.0 "Gain" = 3.0 } + } + { + type = builtin + name = eq_band_8 + label = bq_peaking + control = { "Freq" = 4200.0 "Q" = 4.0 "Gain" = -1.3 } + } + { + type = builtin + name = eq_band_9 + label = bq_peaking + control = { "Freq" = 6400.0 "Q" = 4.0 "Gain" = -6.2 } + } + { + type = builtin + name = eq_band_10 + label = bq_peaking + control = { "Freq" = 8400.0 "Q" = 4.0 "Gain" = -1.4 } + } + { + type = builtin + name = eq_band_11 + label = bq_highshelf + control = { "Freq" = 10000.0 "Q" = 0.71 "Gain" = -4.0 } + } + ] + links = [ + { output = "eq_band_1:Out" input = "eq_band_2:In" } + { output = "eq_band_2:Out" input = "eq_band_3:In" } + { output = "eq_band_3:Out" input = "eq_band_4:In" } + { output = "eq_band_4:Out" input = "eq_band_5:In" } + { output = "eq_band_5:Out" input = "eq_band_6:In" } + { output = "eq_band_6:Out" input = "eq_band_7:In" } + { output = "eq_band_7:Out" input = "eq_band_8:In" } + { output = "eq_band_8:Out" input = "eq_band_9:In" } + { output = "eq_band_9:Out" input = "eq_band_10:In" } + { output = "eq_band_10:Out" input = "eq_band_11:In" } + ] + } + audio.channels = 2 + audio.position = [ FL FR ] + capture.props = { + node.name = "dt770_effect_input.eq11" + media.class = Audio/Sink + } + playback.props = { + node.name = "dt770_effect_output.eq11" + node.passive = true + } + } + } +] diff --git a/pipewire/.config/pipewire/pipewire.conf b/pipewire/.config/pipewire/pipewire.conf.d/pipewire.conf similarity index 71% rename from pipewire/.config/pipewire/pipewire.conf rename to pipewire/.config/pipewire/pipewire.conf.d/pipewire.conf index 7e1c16f..36b30a4 100644 --- a/pipewire/.config/pipewire/pipewire.conf +++ b/pipewire/.config/pipewire/pipewire.conf.d/pipewire.conf @@ -84,18 +84,11 @@ context.modules = [ # flags = [ ifexists nofail ] #} - # The native communication protocol. - { name = libpipewire-module-protocol-native } - # The profile module. Allows application to access profiler # and performance data. It provides an interface that is used # by pw-top and pw-profiler. { name = libpipewire-module-profiler } - # Allows applications to create metadata objects. It creates - # a factory for Metadata objects. - { name = libpipewire-module-metadata } - # Creates a factory for making devices that run in the # context of the PipeWire server. { name = libpipewire-module-spa-device-factory } @@ -104,15 +97,6 @@ context.modules = [ # context of the PipeWire server. { name = libpipewire-module-spa-node-factory } - # Allows creating nodes that run in the context of the - # client. Is used by all clients that want to provide - # data to PipeWire. - { name = libpipewire-module-client-node } - - # Allows creating devices that run in the context of the - # client. Is used by the session manager. - { name = libpipewire-module-client-device } - # The portal module monitors the PID of the portal process # and tags connections with the same PID as portal # connections. @@ -188,55 +172,4 @@ context.objects = [ node.freewheel = true } } - # This creates a new Source node. It will have input ports - # that you can link, to provide audio for this source. - #{ factory = adapter - # args = { - # factory.name = support.null-audio-sink - # node.name = "my-mic" - # node.description = "Microphone" - # media.class = "Audio/Source/Virtual" - # audio.position = "FL,FR" - # } - #} - - # This creates a single PCM source device for the given - # alsa device path hw:0. You can change source to sink - # to make a sink in the same way. - #{ factory = adapter - # args = { - # factory.name = api.alsa.pcm.source - # node.name = "alsa-source" - # node.description = "PCM Source" - # media.class = "Audio/Source" - # api.alsa.path = "hw:0" - # api.alsa.period-size = 1024 - # api.alsa.headroom = 0 - # api.alsa.disable-mmap = false - # api.alsa.disable-batch = false - # audio.format = "S16LE" - # audio.rate = 48000 - # audio.channels = 2 - # audio.position = "FL,FR" - # } - #} -] - -context.exec = [ - #{ path = [ args = "" ] } - # - # Execute the given program with arguments. - # - # You can optionally start the session manager here, - # but it is better to start it as a systemd service. - # Run the session manager with -h for options. - # - #{ path = "/usr/bin/pipewire-media-session" args = "" } - # - # You can optionally start the pulseaudio-server here as well - # but it is better to start it as a systemd service. - # It can be interesting to start another daemon here that listens - # on another address with the -a option (eg. -a tcp:4713). - # - #{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" } ]