My band play with a backing track running out of my laptop. We have a stereo mix of the backing track running into the PA system, plus another stereo mix of the backing track with a metronome running into headphones worn by our drummer. This means that the laptop is outputting 4 audio channels simultaneously. The catch is, i only have a two channel USB audio device, in addition to the two channel built-in soundcard.
The trick i found to accomplishing what i desire within Windows was relatively simple - i used the ASIO4ALL driver, which effectively allowed me to combine the outputs into one "virtual" ASIO audio device which has 4 output channels, which i could then send audio to using my digital audio workstation software (REAPER).
Luckily this has worked perfectly every time we've done it on stage, however at rehearsals it has on occasion failed as Windows has encountered errors, etc. Naturally it would be devastating for this to happen on stage, and so i've decided to try Linux out, as it has the reputation of being extremely stable (i've heard stories about machines being switched on for years without crashing).
Now, i've tried for a couple of days to get this to work, messing around with JACK, ALSA, and PortAudio, and using a range of programs such as Qtractor, Ardour, and MusE; however, i've only ever been able to get stereo audio to come out of one device at a time. I do however know that it is possible to do what i want, because i found a little DJ application which allowed me to set a different audio device to be in "headphones", whilst my other audio device outputs the currently playing track.
I'm by no means a proficient Linux user, however if something has to be done through a Terminal, with adequate instructions i'm sure i could do it. What i'm after though really, is a simple and clear guide to accomplishing what i want, which to recap is:
A to simultaneously output audio to two separate audio devices at once from within the same program.
Thank you very much to anyone who can help me solve this.