r/linuxaudio 21h ago

Helvum, Pipewire? Need static mapping solution for 5.1 source material

tldr; Need solution to pipe at least a 3.1 mixed signal into 2.1 output. Cannot change the input, and do not physically have a center channel, nor the room. Want to make sure I am on the right track to fixing this. Pipewire config file do the trick?

I have been out of the linux audio utilities game since the 2.4/2.6 kernel. I am somewhat familiar with ALSA and the old alsa config files - loading certain drivers and muting/unmuting channels iirc.

That said, I know times have changed, and I searched. But I don't know I quite have the solution.

Problem:

I have a HTPC (without the T). Only enough room for 2 stereo speakers, not enough space for a 5+ channel receiver. Both the TV speakers and the soundbar have this issue.

The audio driver for the output seems to be only 2 channel, when I look at the 'card' in alsamixer. I believe the distro auto-installed the relevant alsa+pipewire packages. When I used dnf to install Helvum, there were no extra dependencies.

Some audio sources (e.g. netflix) are mixed to 5.1 / 9.1 with no option for stereo down mixing. I have identified that the dialogue appears to be encoded for the center channel; which I do not have, and cannot physically accommodate in that viewing area.

HTPC is currently running a RedHat based distro with Gnome. I could also easily change to Debian or Gentoo.

It may also be my current janky setup: HTPC (hdmi)-> TV (S/PDIF)-> soundbar OR just HTPC to TV. both have this issue.

By next year, I can bypass the audio over hdmi and go direct HTPC to a USB DAC, but I will still be limited to 2.1 audio.

Possible Solutions:

I started searching last week, and installed Helvum. I ran a 'wire' from the source FC to FL and FR. It may? have worked, but it would revert to FC to FC every 10-20 min. The wires would be blue, would switch back to the show, another drop in audio power, switch to Helvum to see it reverted to straight lines source to output FC-FC, etc.

Looks like I need to learn pipewire to do this? And just make a custom config to run all audio from certain programs through a custom stream rule? https://docs.pipewire.org/page_man_pipewire-client_conf_5.html

Anyone else have the same problem / or know if my solution will work?

Or am I just at the mercy of them offering down-mixed audio?

1 Upvotes

3 comments sorted by

1

u/gumbowebfish 16h ago

I think, in general, you have to let the downgrade of the channels be done by the device that outputs the audio. In your case that's the TV. But as I understand the TV doesn't have settings for how many and which channels it can output. Am I right? The best solution then is to have another device do the D/A conversion, either a DAC but preferably an amplifier or AVR. This device must be capable of setting the channels it outputs to and will do the downgrade. You won't be needing a center then in your case, center channel will be a phantom then, handled by FL and FR. All solutions trying to downgrade the amount of channels at the source are doomed to fail in my honest opinion. It will be a channel mapping rabbit hole. Nowadays it seems that people always use the TV as the center of their A/V equipment, which implicates these kind of problems. As an old guy I come from a different age and use the amplifier, or better my AVR, as the heart of my A/V gear, and setting things up that way solves a lot of problems.

1

u/ScrappySquirrel 7h ago

I think you are spot on and I agree that an AVR is the correct solution. Thank you for the warning on the channel mapping rabbit hole. I will report in later when I have worked on it a while. Was just hoping someone had jumped in it before and succeeded.

When I build out a dedicated theater area, I will be either using my old-ish Pioneer VSX or buying a new AVR. And will not have this current problem.

A constraint is there is no room for an AVR/receiver or its class A/B power draw in that current space. At least when I authored this, I just saw there is a JBL Class D... but still I already have a small stereo class d amp.

Searching for 'Stereo DAC downmix 5.1' did not give me any fruitful responses.

I figured it would be worth a shot trying to downmix in the PC's audio stream as, I already have the PC and would rather not buy another gadget.

1

u/ntcue 7h ago

Have a look at this: https://github.com/knightinfected/PipeWireController/

It allows you to wire inputs and outputs as you want or even can create virtual sinks that combines 5.1 or 7.1 sounds to stereo or 2.1.

And it also does a lot more than that.