57 lines
2.1 KiB
Plaintext
57 lines
2.1 KiB
Plaintext
# An example filter chain that makes a stereo sink that mixes
|
|
# the FL and FR channels to FL, FR, LFE
|
|
#
|
|
# Copy this file into a conf.d/ directory
|
|
#
|
|
context.modules = [
|
|
{ name = libpipewire-module-filter-chain
|
|
args = {
|
|
node.description = "LFE example"
|
|
media.name = "LFE example"
|
|
filter.graph = {
|
|
nodes = [
|
|
{ name = copyIL type = builtin label = copy }
|
|
{ name = copyOL type = builtin label = copy }
|
|
{ name = copyIR type = builtin label = copy }
|
|
{ name = copyOR type = builtin label = copy }
|
|
{
|
|
name = mix
|
|
type = builtin
|
|
label = mixer
|
|
control = {
|
|
"Gain 1" = 0.5
|
|
"Gain 2" = 0.5
|
|
}
|
|
}
|
|
{
|
|
type = builtin
|
|
name = lpLFE
|
|
label = bq_lowpass
|
|
control = { "Freq" = 150.0 }
|
|
}
|
|
]
|
|
links = [
|
|
{ output = "copyIL:Out" input = "copyOL:In" }
|
|
{ output = "copyIR:Out" input = "copyOR:In" }
|
|
{ output = "copyIL:Out" input = "mix:In 1" }
|
|
{ output = "copyIR:Out" input = "mix:In 2" }
|
|
{ output = "mix:Out" input = "lpLFE:In" }
|
|
]
|
|
inputs = [ "copyIL:In" "copyIR:In" ]
|
|
outputs = [ "copyOL:Out" "copyOR:Out" "lpLFE:Out"]
|
|
}
|
|
capture.props = {
|
|
node.name = "input_lfe"
|
|
audio.position = [ FL FR ]
|
|
media.class = "Audio/Sink"
|
|
}
|
|
playback.props = {
|
|
node.name = "output_lfe"
|
|
audio.position = [ FL FR LFE ]
|
|
stream.dont-remix = true
|
|
node.passive = true
|
|
}
|
|
}
|
|
}
|
|
]
|