On Tue, 2005-06-21 at 22:40 -0400, Paul Davis wrote:
more generally though, just what is the sensible
default config for a
multichannel card? its possible but a little far-fetched to suggest
that its to be used as N stereo devices. the people buying 12 channel
cards are doing it for a reason, and running it as 6 or 5 or 12 SB's
is not the most likely one.
True, especially now that ALSA supports the multichannel functionality
of the SBLive/Audigy cards (an SBLive! actually is like 5 or 6 SB's
internally). But these users also may want to use "legacy" apps that
expect all devices to be mono or stereo. Or they may want to conserve
resources like PCI bus bandwidth by not opening all 12 channels.
this makes it hard to decide what the correct
configuration is. i am
think that on OS X, you get all channels by default and cannot choose
otherwise. this is certainly true for the RME drivers (which cannot be
used as stereo devices, although CoreAudio apps can play stereo
streams through them).
I think Jussi raises an excellent point. For example the kX ASIO driver
for SBLive! cards exposes 16 playback channels (one per hardware FX
bus). Most ASIO apps just open it as a big 16 channel device, but the
app can also open just channels 9 and 10. I have verified using the kX
voice analyzer that the driver only allocates as many voices as the app
opens.
If the hardware can really only capture/playback to all the channels,
it's still useful to have alsa-lib open all the channels and expose the
pairs as stereo PCMs to the user. For example the emu10k1 devices can
capture at latencies as low as 32 and 64 frames, but only when capturing
16 channels (the hardware supports a fixed list of DMA buffer sizes,
restrited to 2 periods per buffer, so more channels will fill the buffer
faster, giving lower latency). Each of the 16 channels correspond to a
physical input so it would be very useful to be able to tell alsa-lib
that you want to open channels 9 and 10 of the 16 channel device hw:x,2
as a stereo PCM.
This is a useful feature, and I've proposed it on alsa-devel before
without much response; I did not follow up because I had not added the
multichannel device to the emu10k1 driver yet. I am cc'ing that list.
Lee