-
-
Save shdbwa/914d2f3310b083dd7601ada22883172e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"context.exec": [], | |
"context.modules": [ | |
{ | |
"args": {}, | |
"flags": [ | |
"ifexists", | |
"nofail" | |
], | |
"name": "libpipewire-module-rtkit" | |
}, | |
{ | |
"name": "libpipewire-module-protocol-native" | |
}, | |
{ | |
"name": "libpipewire-module-profiler" | |
}, | |
{ | |
"name": "libpipewire-module-metadata" | |
}, | |
{ | |
"name": "libpipewire-module-spa-device-factory" | |
}, | |
{ | |
"name": "libpipewire-module-spa-node-factory" | |
}, | |
{ | |
"name": "libpipewire-module-client-node" | |
}, | |
{ | |
"name": "libpipewire-module-client-device" | |
}, | |
{ | |
"flags": [ | |
"ifexists", | |
"nofail" | |
], | |
"name": "libpipewire-module-portal" | |
}, | |
{ | |
"args": {}, | |
"name": "libpipewire-module-access" | |
}, | |
{ | |
"name": "libpipewire-module-adapter" | |
}, | |
{ | |
"name": "libpipewire-module-link-factory" | |
}, | |
{ | |
"name": "libpipewire-module-session-manager" | |
}, | |
{ name = libpipewire-module-loopback | |
args = { | |
node.name = "alsa-remap.headphones" | |
node.description = "Raw headphones out" | |
capture.props = { | |
media.class = "Audio/Sink" | |
audio.position = [ FL FR ] | |
} | |
playback.props = { | |
audio.position = [ FL FR ] | |
node.target = "alsa_output.pci-0000_09_00.4.analog-surround-51" | |
stream.dont-remix = true | |
node.passive = true | |
} | |
} | |
}, | |
{ name = libpipewire-module-loopback | |
args = { | |
node.name = "alsa-remap.speakers" | |
node.description = "Raw speaker out" | |
capture.props = { | |
media.class = "Audio/Sink" | |
audio.position = [ FL FR ] | |
} | |
playback.props = { | |
audio.position = [ RL RR ] | |
node.target = "alsa_output.pci-0000_09_00.4.analog-surround-51" | |
stream.dont-remix = true | |
node.passive = true | |
} | |
} | |
}, | |
{ name = libpipewire-module-filter-chain | |
args = { | |
node.name = "effect_output.virtual-surround-5.1" | |
node.description = "Virtual Surround Sink" | |
media.name = "Virtual Surround Sink" | |
filter.graph = { | |
nodes = [ | |
{ | |
type = builtin | |
label = convolver | |
name = convFL_L | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 0 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convFL_R | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 1 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convFR_L | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 1 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convFR_R | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 0 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convFC | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 2 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convLFE | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 3 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convSL_L | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 4 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convSL_R | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 5 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convSR_L | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 5 | |
} | |
} | |
{ | |
type = builtin | |
label = convolver | |
name = convSR_R | |
config = { | |
filename = ".hrir/eq.wav" | |
channel = 4 | |
} | |
} | |
{ | |
type = builtin | |
label = mixer | |
name = mixL | |
} | |
{ | |
type = builtin | |
label = mixer | |
name = mixR | |
} | |
{ | |
type = builtin | |
label = copy | |
name = copyFL | |
} | |
{ | |
type = builtin | |
label = copy | |
name = copyFR | |
} | |
{ | |
type = builtin | |
label = copy | |
name = copySL | |
} | |
{ | |
type = builtin | |
label = copy | |
name = copySR | |
} | |
] | |
links = [ | |
{ output = "copyFL:Out" input = "convFL_L:In" } | |
{ output = "copyFL:Out" input = "convFL_R:In" } | |
{ output = "copyFR:Out" input = "convFR_R:In" } | |
{ output = "copyFR:Out" input = "convFR_L:In" } | |
{ output = "copySL:Out" input = "convSL_L:In" } | |
{ output = "copySL:Out" input = "convSL_R:In" } | |
{ output = "copySR:Out" input = "convSR_R:In" } | |
{ output = "copySR:Out" input = "convSR_L:In" } | |
{ output = "convFL_L:Out" input = "mixL:In 1" } | |
{ output = "convFR_L:Out" input = "mixL:In 2" } | |
{ output = "convFC:Out" input = "mixL:In 3" } | |
{ output = "convLFE:Out" input = "mixL:In 4" } | |
{ output = "convSL_L:Out" input = "mixL:In 5" } | |
{ output = "convSR_L:Out" input = "mixL:In 6" } | |
{ output = "convFL_R:Out" input = "mixR:In 1" } | |
{ output = "convFR_R:Out" input = "mixR:In 2" } | |
{ output = "convFC:Out" input = "mixR:In 3" } | |
{ output = "convLFE:Out" input = "mixR:In 4" } | |
{ output = "convSL_R:Out" input = "mixR:In 5" } | |
{ output = "convSR_R:Out" input = "mixR:In 6" } | |
] | |
inputs = [ "copyFL:In" "copyFR:In" "convFC:In" "convLFE:In" "copySL:In" "copySR:In" ] | |
outputs = [ "mixL:Out" "mixR:Out" ] | |
} | |
capture.props = { | |
media.class = Audio/Sink | |
audio.channels = 6 | |
audio.position = [ FL FR FC LFE SL SR] | |
} | |
playback.props = { | |
node.target = "alsa-remap.headphones" | |
node.passive = true | |
audio.channels = 2 | |
audio.position = [ FL FR ] | |
} | |
} | |
}, | |
{ name = libpipewire-module-filter-chain | |
args = { | |
node.name = "effect_input.rnnoise" | |
node.description = "Noise Canceling source" | |
media.name = "Noise Canceling source" | |
filter.graph = { | |
nodes = [ | |
{ | |
type = ladspa | |
name = rnnoise | |
plugin = librnnoise_ladspa | |
label = noise_suppressor_stereo | |
control = { | |
"VAD Threshold (%)" 50.0 | |
} | |
} | |
] | |
} | |
capture.props = { | |
node.passive = true | |
} | |
playback.props = { | |
media.class = Audio/Source | |
} | |
} | |
} | |
], | |
"context.objects": [ | |
{ | |
"args": { | |
"factory.name": "support.node.driver", | |
"node.group": "pipewire.dummy", | |
"node.name": "Dummy-Driver", | |
"priority.driver": 20000 | |
}, | |
"factory": "spa-node-factory" | |
}, | |
{ | |
"args": { | |
"factory.name": "support.node.driver", | |
"node.freewheel": true, | |
"node.group": "pipewire.freewheel", | |
"node.name": "Freewheel-Driver", | |
"priority.driver": 19000 | |
}, | |
"factory": "spa-node-factory" | |
} | |
], | |
"context.properties": { | |
"core.daemon": true, | |
"core.name": "pipewire-0", | |
"default.clock.min-quantum": 32, | |
"default.clock.quantum": 256, | |
"default.clock.max-quantum": 512, | |
"default.clock.rate": 48000, | |
"link.max-buffers": 16, | |
"vm.overrides": { | |
"default.clock.min-quantum": 1024 | |
} | |
}, | |
"context.spa-libs": { | |
"api.alsa.*": "alsa/libspa-alsa", | |
"api.bluez5.*": "bluez5/libspa-bluez5", | |
"api.jack.*": "jack/libspa-jack", | |
"api.libcamera.*": "libcamera/libspa-libcamera", | |
"api.v4l2.*": "v4l2/libspa-v4l2", | |
"api.vulkan.*": "vulkan/libspa-vulkan", | |
"audio.convert.*": "audioconvert/libspa-audioconvert", | |
"support.*": "support/libspa-support" | |
}, | |
"stream.properties": { | |
"resample.quality": 10 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment