Created
December 10, 2021 23:11
-
-
Save YellowOnion/a5cc07b6e70dadde5a35af0c349ae096 to your computer and use it in GitHub Desktop.
This file contains hidden or 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