5

I have two sets of speakers: one is set of stereo loudspeakers with a subwoofer (not 2.1, just a sub with a low-pass filter) and the other is a set of stereo speakers with a headphone jack, used solely as an inline amplifier and volume control for my headphones. Currently I have my PulseAudio output set to "Analog Surround 4.0 Output." My motherboard has output jacks for front, side, rear, and "Ctr Bass" which I assume is meant to be a subwoofer channel, for 6.1 surround capability. I have one set of speakers plugged into "front" and one set plugged into "rear". This gives me approximately what I want: I can listen to the headphones or the loudspeakers just by turning on the appropriate amplifier.

However, I'm not sure that this is quite what I want. I'm assuming that the output of front left and right channels is the same as the rear channels, but I don't know that for sure and I'm seeking reassurance. Just in case I play a game or use some other surround-sound source, I'd like to ensure that these outputs act as two stereo outputs rather than one surround output.

Also, I'd like to be able to send audio from a particular client to an output of my choosing. paprefs does not seem to offer this level of fine-grained control. Does anyone know how I can achieve these things?

1
  • You can achive the desired result by creating virtual sinks, very similar to what I described an solved here: askubuntu.com/questions/1379735/… BTW: "Ctr Bass" probably means "Center + Bass". You have 7.1 sound hardware. Question, so I can put together a proper answer: Does your subwoofer play sound from both channels (right and left), or only one of them? You can test in the settings app under Sound > Output Device > Test. Dec 7, 2021 at 18:05

5 Answers 5

3

Your fears are founded : rear and front output are the same only when the source is simple stereo (i.e. music, or basic divx films). For other sources (DVDs, but most importantly games), they are different, and you will have a bad experience...

I Have the same kind of setup as you, but with two sets of speakers and a headset. The only solution I've used so far is use only the front output, with an audio "strip". That is crude, but works...

I'm looking for alternatives, but haven't found yet...

1

I think that in general they are the same, unless and application chooses to use the differently.

Example: application playing stereo audio: both front and back are the same Example 2: application playing movie with surround sound: front and back are different

Again, this is just my experience with the computers I've owned. It may differ with you computer.

1
  • This is a good answer, but not quite the one I'm looking for. I want to be able to arbitrarily specify how channels are allocated.
    – koanhead
    Oct 8, 2010 at 0:06
1

What you want can be done if you don't mind getting your hands a bit dirty:
You need to write a small config file (.asoundrc) for your ALSA-sounddriver.

I can't give you the magic formula because it is very dependent on hardware configuration.
There is, however, extensive documentation about how to do it
See the links for documentation:

http://alsa.opensrc.org/.asoundrc
http://www.alsa-project.org/main/index.php/Asoundrc

0

Copy /etc/pulse/default.pa to ~/.pulse/default.pa (only for you as user) or modify it directly (for all users), and add the following two lines to the end:

load-module module-remap-sink sink_name=multi-ch-stereo master=0 channels=2 master_channel_map=front-left,front-right channel_map=front-left,front-right remix=yes
set-default-sink multi-ch-stereo

This should limit your channels to 2 and make sure that these 2 channels are remixed to a multi channel stereo, instead of being used for surround channels when a surround signal is processed.

remix=yes is the default option anyway. The real action is limiting the channels to two, which are then used by default on front and rear by pulseaudio.

0

The answer you're looking for resides in JACK. When using a LADSPA-compliant application such as Claudia, What you are looking to accomplish (routing specific audio to specific clients, or cloning outputs) is no harder than drawing a line from a source to an output.

1
  • It might be useful if you were to expand your answer a little by indicating what JACK is/does and providing a link.
    – CentaurusA
    Sep 10, 2018 at 16:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .