Gale Andrews wrote:OK, but that's like using an external channel mapper, then?
In part yes, but I don't think that it can (for example) be used to set input 2 to channel 1 and input 1 to channel 2. It just selects which inputs are enabled.
Gale Andrews wrote:And if you can choose for example channel 5 and 6 only in the ASIO control panel, does choosing "2 (stereo) input channels" in Audacity Device Toolbar then let your record only channels 5 and 6?
I don't have a multi-channel sound card or an ASIO enabled build of Audacity to test that, but I would expect that is what "should" happen.
Gale Andrews wrote:Someone has just told me that scenario still records silent channels 1 and 2 on his self-compiled ASIO build of Audacity.
Either I'm wrong about what should happen (though that is what appears to happen in ASIO enabled applications, and it makes sense),
or they do not have ASIO/Audacity set up right,
or Audacity does not do the right thing with ASIO (I'd not be surprised if the situation were similar to the case with Jack, as described below).
Gale Andrews wrote: On Linux you can do a similar thing with Jack.
So again how does that work in Audacity in the above scenario?
When a multi-channel device is selected as the input for Jack, the device is seen as a "readable client" and each input appears as a "socket".
Audacity does not handle this correctly, so here's what "should" happen, what "does happen, and two workarounds for Audacity's incorrect behaviour:
What should happen:
The required inputs would be selected by the users in the audio application (this is limited in Audacity to the number of channels rather than which channels).
Recording would then connect to those selected channels.
What does happen:
If, for example, 3 channels are selected, Audacity connects to channels 1, 2 and 3, regardless of any settings in Jack.
Workaround 1:
Set Audacity to use the number of required inputs.
Put Audacity is "Record/Pause" mode.
Switch the inputs that Audacity is connected to using the "Connect" utility in Jack Control, (or whatever your preferred Jack configuration tool).
The downside of this workaround is that you need to redo the connections every time that you want to record. Audacity defaults to the first n channels each time that you start recording or monitoring.
Workaround 2:
Start Jack, and open a "dummy" jack application that has inputs straight through to its outputs (for example an empty instance of JackRack.
Connect the "dummy" application to the required input ports (for example, inputs 4 and 2). "System ports" 4 and 2 are now connected to inputs 1 and 2 of the "dummy", and thus to outputs 1 and 2 of the "dummy".
Start Audacity and set it to record 2 channels from the "dummy".
Press record, and Audacity will record channels 1 and 2 from the "dummy", which are directly connected to system ports 4 and 2, so Audacity records "input 4" from the audio device on channel 1 and "input 2" from the audio device on channel 2.
In effect the channel mapping is being handled externally to Audacity.
Gale Andrews wrote:If you want to try compiling Audacity then there is a patch here that uses "Recording Profiles" set in audacity.cfg to choose the channels to record and what tracks to record them to.
That is looking promising, and will hopefully enable Audacity to work correctly with Jack and other multi-channel systems in the future.