wireplumber: Add Equalizer filter chain node
[AGL/meta-agl.git] / meta-pipewire / recipes-multimedia / wireplumber / wireplumber-config-agl / wireplumber.conf
index 680a791..46ad113 100644 (file)
@@ -57,6 +57,47 @@ context.modules = [
 
   # Provides factories to make session manager objects.
   { name = libpipewire-module-session-manager }
+
+  { name = libpipewire-module-filter-chain
+    args = {
+          node.description = "Equalizer Sink"
+          media.name       = "Equalizer Sink"
+          filter.graph = {
+              nodes = [
+                  {
+                      type  = builtin
+                      name  = bass
+                      label = bq_lowshelf
+                      # the cut off freq of the bass filter can be adjusted here.
+                      control = { "Freq" = 250.0 "Q" = 1.0 "Gain" = 0.0 }
+                  }
+                  {
+                      type  = builtin
+                      name  = treble
+                      label = bq_peaking
+                      # the cut off freq of the treble filter can be adjusted here.
+                      control = { "Freq" = 6000.0 "Q" = 1.0 "Gain" = 0.0 }
+                  }
+              ]
+              links = [
+                  { output = "bass:Out" input = "treble:In" }
+              ]
+          }
+          audio.channels = 2
+          audio.position = [ FL FR ]
+          capture.props = {
+              node.name   = "eq-sink"
+              media.class = Audio/Sink
+              # select the endpoint to which the node is attached
+              target.endpoint = "endpoint.multimedia"
+              node.passive = true
+          }
+          playback.props = {
+              node.name   = "eq-output-stream"
+              node.passive = true
+          }
+      }
+  }
 ]
 
 wireplumber.components = [