Can't get spatializer to work
I tried to use the spatializer in the example but cannot get it to work. I tried different media.class to make correct connection link. My device can be waken up from suspend but there's no output.
context.modules = [
{ name = libpipewire-module-filter-chain
flags = [ nofail ]
args = {
node.description = "Binauralizer Sink"
media.name = "Binauralizer Sink"
audio.rate = 48000
filter.graph = {
nodes = [
{
type = sofa
label = spatializer
name = spFL
config = {
filename = "/home/lemma/.config/pipewire/pipewire.conf.d/HRIR_FULL2DEG.sofa"
}
control = {
"Azimuth" = 30.0
"Elevation" = 0.0
"Radius" = 1.0
}
}
{
type = sofa
label = spatializer
name = spFR
config = {
filename = "/home/lemma/.config/pipewire/pipewire.conf.d/HRIR_FULL2DEG.sofa"
}
control = {
"Azimuth" = 330.0
"Elevation" = 0.0
"Radius" = 1.0
}
}
{
type = sofa
label = spatializer
name = spFC
config = {
filename = "/home/lemma/.config/pipewire/pipewire.conf.d/HRIR_FULL2DEG.sofa"
}
control = {
"Azimuth" = 0.0
"Elevation" = 0.0
"Radius" = 1.0
}
}
{
type = sofa
label = spatializer
name = spBL
config = {
filename = "/home/lemma/.config/pipewire/pipewire.conf.d/HRIR_FULL2DEG.sofa"
}
control = {
"Azimuth" = 120.0
"Elevation" = 0.0
"Radius" = 1.0
}
}
{
type = sofa
label = spatializer
name = spBR
config = {
filename = "/home/lemma/.config/pipewire/pipewire.conf.d/HRIR_FULL2DEG.sofa"
}
control = {
"Azimuth" = 240.0
"Elevation" = 0.0
"Radius" = 1.0
}
}
{
type = sofa
label = spatializer
name = spLFE
config = {
filename = "/home/lemma/.config/pipewire/pipewire.conf.d/HRIR_FULL2DEG.sofa"
}
control = {
"Azimuth" = 0.0
"Elevation" = -60.0
"Radius" = 1.0
}
}
{ type = builtin label = mixer name = mixL }
{ type = builtin label = mixer name = mixR }
]
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 = "spBL:Out L" input="mixL:In 4" }
{ output = "spBL:Out R" input="mixR:In 4" }
{ output = "spBR:Out L" input="mixL:In 5" }
{ output = "spBR:Out R" input="mixR:In 5" }
{ output = "spLFE:Out L" input="mixL:In 6" }
{ output = "spLFE:Out R" input="mixR:In 6" }
]
inputs = [ "spFL:In" "spFR:In" "spFC:In" "spLFE:In" "spBL:In" "spBR:In" ]
outputs = [ "mixL:Out" "mixR:Out" ]
}
capture.props = {
node.name = "effect_input.binauralizer"
media.class = "Stream/Input/Audio"
node.autoconnect = false
audio.channels = 6
audio.position = [ FL FR FC LFE RL RR ]
}
playback.props = {
node.name = "effect_output.binauralizer"
node.passive = true
media.class = "Stream/Output/Audio"
target.object = "alsa_output.usb-E1DA_E1DA__9038D_PCM32_384_DSD256_CTUA181119A-00.analog-stereo"
audio.channels = 2
audio.position = [ FL FR ]
}
}
}
]
pw-link -l:
effect_input.binauralizer:input_FL
|<- mpd.pipewire:output_FL
effect_input.binauralizer:input_FR
|<- mpd.pipewire:output_FR
effect_input.binauralizer:input_FC
|<- mpd.pipewire:output_FC
effect_input.binauralizer:input_LFE
|<- mpd.pipewire:output_LFE
effect_input.binauralizer:input_RL
|<- mpd.pipewire:output_RL
effect_input.binauralizer:input_RR
|<- mpd.pipewire:output_RR
effect_output.binauralizer:output_FL
|-> alsa_output.usb-E1DA_E1DA__9038D_PCM32_384_DSD256_CTUA181119A-00.analog-stereo:playback_FL
effect_output.binauralizer:output_FR
|-> alsa_output.usb-E1DA_E1DA__9038D_PCM32_384_DSD256_CTUA181119A-00.analog-stereo:playback_FR
alsa_output.usb-E1DA_E1DA__9038D_PCM32_384_DSD256_CTUA181119A-00.analog-stereo:playback_FL
|<- effect_output.binauralizer:output_FL
alsa_output.usb-E1DA_E1DA__9038D_PCM32_384_DSD256_CTUA181119A-00.analog-stereo:playback_FR
|<- effect_output.binauralizer:output_FR
mpd.pipewire:output_FL
|-> effect_input.binauralizer:input_FL
mpd.pipewire:output_FR
|-> effect_input.binauralizer:input_FR
mpd.pipewire:output_FC
|-> effect_input.binauralizer:input_FC
mpd.pipewire:output_LFE
|-> effect_input.binauralizer:input_LFE
mpd.pipewire:output_RL
|-> effect_input.binauralizer:input_RL
mpd.pipewire:output_RR
|-> effect_input.binauralizer:input_RR
Edited by tramchamploo