[alsa-devel] Strange behaviour in snd-usb-cayak with Audio4DJ

Pedro Ribeiro pedrib at gmail.com
Tue Feb 16 17:35:29 CET 2010


Hi all,

I'm trying to setup my Audio4DJ usb soundcard. It has 4 channels (2
stereo ones).

ALSA information script output is here
http://www.alsa-project.org/db/?f=fe4cc3eda2df49c6055f55d4cef935524124d1a1
and my .asoundrc is here  http://pastebin.com/m3f70572d

Currently my .asoundrc has 4 devices:
- Audio4DJ_A (combines channels 1 and 2)
- Audio4DJ_B (combines channels 3 and 4)
- Audio4DJ (combines Audio4DJ_A and Audio4DJ_B)
- ttable is a device for JACK according to this
http://alsa-project.org/main/index.php/Asoundrc#Virtual_multi_channel_devices

My goal is to have a separate ALSA soundcard for each pair of
channels, an ALSA soundcard for 4 channels and a JACK device for all 4
channels.

Running speaker-test -c2 -D plughw:Audio4DJ,0,X -twav -l1
with X=0 and X=1 correctly outputs to each channel. Also,
pcm.Audio4DJ_A and pcm.Audio4DJ_B correctly work through both ALSA and
JACK for each pair of channels.

However, if I try to use the pcm.Audio4DJ (which combines both
pcm.Audio4DJ_A and pcm.Audio4DJ_B), I get correct output through
channels 1 and 2, but channels 3 and 4 have a lot of garbage - you can
hear the track playing but it is at a very high pitch and distorted.

JACK doesn't even start with the Audio4DJ device:

#  jackd -R --timeout 4500 -d alsa -d Audio4DJ -p 128 -n 3 -r 44100 -i 4 -o
apparent rate = 44100
creating alsa driver ... Audio4DJ|Audio4DJ|128|3|44100|4|4|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 128 frames (2.9 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 32bit float little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 32bit float little-endian
ALSA: use 3 periods for playback
ALSA: could not complete read of 0 frames: error = -32
cycle execution failure, exiting
DRIVER NT: could not run driver cycle
jack main caught signal 12
(crashes immediately)

The ttable device locks up the system for a few seconds and then JACK crashes:

#  jackd -R --timeout 4500 -d alsa -d ttable -p 128 -n 3 -r 44100 -i 4 -o
apparent rate = 44100
creating alsa driver ... ttable|ttable|128|3|44100|4|4|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 128 frames (2.9 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 3 periods for playback
jackd watchdog: timeout - killing jackd

Without a .asoundrc it doesn't even work.

Can someone please tell me if this is expected behaviour or a bug?

Thanks,
Pedro


More information about the Alsa-devel mailing list