You are not logged in.
Hello all,
I have been using Arch for some time and have come across an issue that has me stumped:
My laptop has got a pseudo 4-channel setup for its sound system, with FR and FL being a small woofer speaker, RL and RR being the actual stereo speakers.
What I am trying to do is to get the sound of the left channel duplicated and sent to FL (woofer) and RL (left speaker), and the right channel to FR and RR.
However, I am struggling with how to set this up in Pipewire as a permanent solution :-(
My attempt in qpwgraph works just fine but I need to recreate this every time the stream changes: 
I have tried the upmixing as described in Pipewire's Guides, but I am not able to make it work.
After creating the files, and restarting, I am still getting the sound only from FL and FR (which is the woofer on the back of my laptop).
Can you please help me?
Thank you for your time ![]()
Offline
I have since come across this post, seemingly struggling with a similar topic:
https://forum.manjaro.org/t/pipewire-re … -1/84774/3
The solution seemed to be creating a .conf file (e.g. 40-upmix.conf) in ~/.config/pipewire/client.conf.d/ with this content:
# Enables upmixing
stream.properties = {
channelmix.upmix = true
channelmix.upmix-method = simple
channelmix.mix-lfe = true
channelmix.lfe-cutoff = 0
}In addition to this, I ended up adding the following part into ~\.config/pipewire/pipewire.conf (after copying it from /usr/share/pipewire/pipewire.conf).
This allows to switch rear and front channel (making the high frequency speakers actually front, with the "woofer" pushed to the rear) via a clever loopback use I found here: https://askubuntu.com/questions/1382581 … on-on-pipe
I ended up using the "libpipewire-module-loopback" part in this config and adjusting it as follows:
{ name = libpipewire-module-loopback
args = {
#audio.position = [ FL FR FL FR ]
capture.props = {
# INPUT
media.class = Audio/Sink
node.name = my_sink
node.description = "Fix my sound!"
audio.channels = 4
}
playback.props = {
# OUTPUT
media.class = Audio/Source
node.name = my_sink
node.description = "Fix my sound!"
audio.channels = 4
audio.position = [ RL RR FL FR ]
}
}
}This creates a loopback audio device called "Fix my sound!" and seems team up with the upmixing to work around my previous issue.
I am still not sure why it did not reliably work previously, but at least it is working now ![]()
(The only concern left: my woofer seems much easier to power or to receive much more power - resulting in an imbalance compared to the small speakers, but I have yet to find a way to balance it in Pipewire configruations and am working around it via the GUI)
EDIT yet again:
I am stumped.
The configuration shown above works fine except for this video: https://www.youtube.com/watch?v=b7bORW_R4gY
In this, the sound is once again coming only from the woofer (which should be rear only) - no upmixing and no high pitch speakers ![]()
Other videos, like this one https://www.youtube.com/watch?v=d6P99CDSMKk, work just fine.
Last edited by betaminos (2024-01-22 21:15:00)
Offline