[alsa-devel] USB audio devices on Audio 4DJ and similar

Daniel Mack zonque at gmail.com
Sun Apr 8 16:12:13 CEST 2012


Hi Alan,

On 06.04.2012 23:09, Alan Horstmann wrote:
> At present I am involved with resolving some issues that have arisen from 
> people using the Audio 4DJ interface with Portaudio, and I hoped it would be 
> OK to check a few Alsa details with you?  Unfortunately I have limited 
> experience of USB audio.

What are those issues? Can you elaborate?

> Apparently the 4 audio inputs/outputs appear as 2 stereo sub-devices on the 
> first device, rather than a single 4-channel device - is this correct?

Yes.

> Assuming that is correct, does that arise as a result of the intrinsic nature 
> of the interface, or is it by developer choice in the driver (for example so 
> that it can be opened as 2 stereo streams)?   Is there (or could there be) a 
> way to change this, eg by module option or udev rule?  I notice in the source
>     #define CHANNELS_PER_STREAM  2

The device itself implements 4 audio channels which are synced to each
other. In other words: the hardware is not able to only enable one of
them and leave the other ones paused or set sample rates individually.

When I implemented the driver, it seem most logical to follow the way
the device denotes it channels though. The documentation and silk screen
presents them as pairs of stereo, and so the driver does the same thing.

> Is there a way at present that the device can be accessed as a single 
> 4-channel stream other than by creating a custom ~asoundrc with a pcm 
> definition using 'multi' to join the 2 stereo streams?

No, you would need to join them in software. But as all inputs and
outputs share a single clock domain, there won't be any drift between
them that need special attention.

> I don't see any USB audio units having files in /usr/share/alsa/cards; is it 
> not relevant, not normally necessary or something no-one has got round to 
> writing?

For this particular device, there wasn't any need yet.


Daniel


More information about the Alsa-devel mailing list