[alsa-devel] E-MU 0404 USB - 4ch capture at > 48kHz -> corrupted data
Hi,
The E-MU 0404 USB has 2ch and 4ch altsettings (first two channels are for analog in/out, the other two channels for digital in/out).
* Stereo playback/capture works OK at all samplerates (44.1 - 192kHz). * 4-ch playback works OK at all samplerates (at least the lower two analog channels are OK, spdif output not tested - for reasons to follow) * 4-ch capture works OK for fs <= 48kHz But 4ch capture at fs > 48kHz produces incorrect samples in channels. I have attached a picture - recorded 1kHz sine should be in channel 1 and 2. Instead some mangled data are in channel 2 and 3.
The soundcard uses the CA0188 FPGA. I know the PCI version (and older models) required some channel mangling in the FPGA firmware (programmed by the driver) to support > 48kHz. This was never implemented in the alsa driver for the PCI version (only base fs 44.1/48kHz are supported), but I recall reading some discussions about it long time ago.
I understand the USB version has the CA0188 firmware hardcoded and the alsa USB driver does not have to handle it. However, I think the CA0188 firmware does not decode the 4ch samples for fs > 48kHz capture correctly to the four USB audio channels and the vendor-supplied USB driver (windows, mac) does it - the samples are OK on windows.
Please does anyone have any deeper knowledge of the E-MU technology so that we could untangle the mangled samples?
Thanks a lot for any hints.
Best regards,
Pavel.
participants (1)
-
Pavel Hofman