Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JustCauseWhyNot/2c1c8624ed4fbde8fb6369437310d0a4 to your computer and use it in GitHub Desktop.
Save JustCauseWhyNot/2c1c8624ed4fbde8fb6369437310d0a4 to your computer and use it in GitHub Desktop.
.config/pipewire/pipewire.conf.d/20-convolver-surround-eq.conf
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
filter.graph = {
nodes = [
{
{ type = sofa label = spatializer name = spFL config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/subj_R.sofa" } control = { "Azimuth" = 30.0 "Elevation" = 0.0 "Radius" = 3.0 } }
{ type = sofa label = spatializer name = spFR config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/subj_R.sofa" } control = { "Azimuth" = 330.0 "Elevation" = 0.0 "Radius" = 3.0 } }
{ type = sofa label = spatializer name = spFC config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/subj_R.sofa" } control = { "Azimuth" = 0.0 "Elevation" = 0.0 "Radius" = 3.0 } }
{ type = sofa label = spatializer name = spRL config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/subj_R.sofa" } control = { "Azimuth" = 150.0 "Elevation" = 0.0 "Radius" = 3.0 } }
{ type = sofa label = spatializer name = spRR config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/subj_R.sofa" } control = { "Azimuth" = 210.0 "Elevation" = 0.0 "Radius" = 3.0 } }
{ type = sofa label = spatializer name = spSL config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/subj_R.sofa" } control = { "Azimuth" = 90.0 "Elevation" = 0.0 "Radius" = 3.0 } }
{ type = sofa label = spatializer name = spSR config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/subj_R.sofa" } control = { "Azimuth" = 270.0 "Elevation" = 0.0 "Radius" = 3.0 } }
{ type = sofa label = spatializer name = spLFE config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/subj_R.sofa" } control = { "Azimuth" = 0.0 "Elevation" = -60.0 "Radius" = 3.0 } }
{ type = builtin label = mixer name = mixL }
{ type = builtin label = mixer name = mixR }
{ type = builtin name = EQL label = convolver config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/560.wav" channel = 1 resample_quality = 5 } }
{ type = builtin name = EQR label = convolver config = { filename = "/home/justcausewhynot/.config/pipewire/pipewire.conf.d/560.wav" channel = 2 resample_quality = 5 } }
]
links = [
# output
{ output = "spFL:Out L" input="mixL:In 1" }
{ output = "spFL:Out R" input="mixR:In 1" }
{ output = "spFR:Out L" input="mixL:In 2" }
{ output = "spFR:Out R" input="mixR:In 2" }
{ output = "spFC:Out L" input="mixL:In 3" }
{ output = "spFC:Out R" input="mixR:In 3" }
{ output = "spRL:Out L" input="mixL:In 4" }
{ output = "spRL:Out R" input="mixR:In 4" }
{ output = "spRR:Out L" input="mixL:In 5" }
{ output = "spRR:Out R" input="mixR:In 5" }
{ output = "spSL:Out L" input="mixL:In 6" }
{ output = "spSL:Out R" input="mixR:In 6" }
{ output = "spSR:Out L" input="mixL:In 7" }
{ output = "spSR:Out R" input="mixR:In 7" }
{ output = "spLFE:Out L" input="mixL:In 8" }
{ output = "spLFE:Out R" input="mixR:In 8" }
{ output = "mixL:Out" input="EQL:In" }
{ output = "mixR:Out" input="EQR:In" }
]
inputs = [ "spFL:In" "spFR:In" "spFC:In" "spLFE:In" "spRL:In" "spRR:In", "spSL:In", "spSR:In" ]
outputs = [ "EQL:Out" "EQR:Out" ]
}
capture.props = {
audio.channels = 8
audio.position = [ FL FR FC LFE RL RR SL SR ]
node.name = "Sofa Eq"
node.description = "Sofa Eq"
media.class = Audio/Sink
}
playback.props = {
node.name = "Sofa Eq"
node.description = "Sofa Eq"
node.passive = true
audio.channels = 2
audio.position = [ FL FR ]
target.object = "alsa_output.usb-MOTU_M2_M2MT15C48F-00.HiFi__hw_M2__sink"
}
}
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment