Don’t record “noise” with your Audiophile USB
If you load the snd-usb-audio without option with the current (2.6.24) linux kernel, your Audiophile USB will send you a nice “noise”.
$ arecord -vvv -D hw:2,1 -c2 -t raw -r48000 -fS24_3BE /tmp/test.raw Recording raw data '/tmp/test.raw' : Signed 24 bit Big Endian in 3bytes, Rate 48000 Hz, Stereo Hardware PCM card 2 'Audiophile USB (tm)' device 1 subdevice 0 Its setup is: [...] Max peak (12000 samples): 0x007ff202 #################### 99%
But if you take look, it isn’t a noise, it’s a swapped endian stream.
$ aplay -c2 -t raw -r48000 -fS24_3BE /tmp/test.raw
Will play a noise.
$ aplay -c2 -t raw -r48000 -fS24_3LE /tmp/test.raw
Will play the real sound
As explained into the very complete Audiophile Usb kernel documentation, it’s a trouble which came with the 2.6.23 kernel.
The workaround is simple (but I took me .. one hour to understand) : load the snd-usb-audio with a device setup to set the sample depth to 24 bits.
- Stop your Audiophile USB
- Unload your snd-usb-audio module : modprobe -r snd_usb_audio
- Reload it with the proper device_setup option : modprobe snd_usb_audio device_setup=0×09 index=2
- Start your Audiophile USB
- Take a look to your kernel log (the card index can be wrong for example)
A simple arecord -vv will confirme the endian order is fixed. You can now start your jackd server