Hiya 'Twas brillig, and Max Waterman at 11/07/09 08:47 did gyre and gimble: > I'm new to this list - I hope this is the right place for my question. Yup this is the right place. Welcome aboard :) > I'm deaf in one ear, and am a linux developer. I would like to attempt > to develop an application that will allow me to choose any > combination/selection of the left and right input and output channels. > > The most significant combination to me is 'mix of left and right > channels to output on only left channel', but there are quite a few > other combinations that could be useful for others. > > For example, some language learning tracks have one language on the left > channel and another language on the right, and being able to select just > one channel is important, preferably to both left and right outputs at > the same time. > > Another example is; being deaf in my right ear, I don't bother putting > the right ear-phone in, and leave it dangling. This means that the sound > leaks and it annoying to others sitting nearby. So, being able to have > just one channel play (as a mix of left and right inputs) is desirable. > > From reading the documentation, it seems like I should be able to do > what I want with pulseaudio, but the mixing discussions all seem to be > about different stereo sources, rather than mixing/selecting left and > right channels. > > Perhaps there's already a tool to do this, though I doubt it since the > demand is quite niche. > > Can someone give me some guidance? You can do this but sadly not via a nice GUI (yet - I'm half working on it!). What you want is a module called "module-remap-sink": http://www.pulseaudio.org/wiki/Modules#module-remap-sink Now I've not really played too much with this but as far as I know, there is no way to change the mixing characteristcs here (e.g. the levels of the channels you're downmixing - taking 100% left + 50% right for example). It does the very basic part of what you want tho' (stereo->mono) and perhaps others can suggest if there is a way to do the controlled mixing? It would (IMO) be quite hard to present a multi channel mixer for this sink in the GUI... Although (just thinking out load), perhaps you can hack this up..... Perhaps create your mono sink with module-remap-sink using your alsa device as the master and then create another rempapped sink to upmix your previous mono remap back to two channels. In pavucontrol you should then see three output devices. Your alsa one, the mono remap and the stereo upmixed remap. If you play something and output it to the upmixed stereo sink, I think you'll get independent left+right sliders that will affect how this ultimately comes out of the left channel of your alsa sink :) load-module module-remap-sink sink_name=mono master=<ALSA SINK NAME> channels=1 master_channel_map=front-left channel_map=mono load-module module-remap-sink sink_name=fakestereo master=mono channels=2 master_channel_map=mono,mono channel_map=front-left,front-right That should work! (note that with newer pulse you can also pass sink_properties="device.description='My Name'" to set nice names in pavucontrol. I did just try this and while it appeared to work I didn't really have any suitable test tracks. It should also point out that I do seem to get some distortion of the sound after adjusting the volumes, so I think there is a bug somewhere too.... HTHs tho' :) Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mandriva Linux Contributor [http://www.mandriva.com/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]