M-Audio Transit USB soundcard and Linux

This is a reasonably nice and cheap 24 bit soundcard. It will go up to 96000Hz on play or record (but not both togetehr) and up to 48000 Hz for duplex mode. It has internal support for 24 bit and 16 bit audio. The specs of the card are essentially identical at 24 bit and 16 bit, so there seems no advantage in operating in 24 bit mode (see end of this page) However, Linux and this card do not exist together very well.
It only has a line input, which has a sensitivity of .7V peak to peak for full scale recording (ie anything greater than .7 V will clip if the recording level is set to maximum. If the recording level lower, it will take a higher level input to clip. I do not know what the maximum input level is. It seems to have a 10K ohm input impedance but I am not sure of this.

This card needs to have firmware downloaded to the card on the USB bus to work. It uses a non-standard "DFU" method which seems to have some problems with Linux. It also mixes its Type I and Type III endpoints to confuse the software. I have found (with the help of and software written by Clement Ladisch and Takashi Iwai.) a way to make this card useable.

Firmware

The card requires firmware to be downloaded to the card first for it to work as a soundcard. While it appears on the usb bus with Vendor/ProductID of 0763/2806 this is a very primative usb device that does nothing except wait for firmware.

Kernel Version

For kernels ealier than 2.6.8.1 the usb bus reset code had a severe bug, in that the reset used in the madfuload would make the system completely unstable and lead to an eventual kernel crash. This seems to have been fixed in the later kernels. For later kernels, you should just be able to use Laditsh's script to install the programs (make install) and hotplugging should work.

For ealier Kernels

Your system should now be able to use the audio card. Plug it into the usb bus. It will take about one minute befor, when you run lsusb you will see 0763:2006 M-Audio Transit as one of the items.

Note that I have no idea what bringing down and then up again the usb bus will do to the other usb items attached to the usb bus. the file

Alsa

I have only run this using Alsa 1.0.1 and the suggestions below will be limited to that case.

Problems

There are still problems.

Later Kernels and udev

Mandrake/Mandriva since about 10.0 have used udev and hotplug is deprecated. I have now installed the loader into the Mandriva 2006 system.

Get the latest madfuloader -- currently (Feb 06) at 1.0.9 from SourcForge usb-midi-fw project and follow the instructions above re comilation. There is no need to edit any of the files.

Copy the file maudio_dfu into /etc/udev/agents.d/usb/ directory and make it read/execute for everyone.
Now edit the file /etc/udev/rules.d/70-hotplug_map.rules and add the two lines to the end of that file

SUBSYSTEM=="usb",SYSFS{idProduct}=="2806",SYSFS{idVendor}=="0763",RUN+="/etc/udev/agents.d/usb/maudio_dfu"
SUBSYSTEM=="usb",SYSFS{idProduct}=="2006",SYSFS{idVendor}=="0763",RUN+="/sbin/modprobe snd_usb_audio"
Then restart the udev subsystem
service udev restart
The first line will load the firmware onto the card, changing its product id from 2806 to 2006. This will trigger the second line which will load the snd_usb_audio module, which will create the various alsa sound devices in /dev/sound, and if you have the snd_pcm_oss module loaded, the /dev/dsp and /dev/mixer devices.

Transit Performance.

This card is not too bad as a 16 bit card. Using the testing routine xsndtest I get the following results. The card's performance is essentially independent of the playback volume as set in alsamixer. This is good as it indicates very low playback distortion-- all the noise seems to be noise perhaps in the recording circuit. For recording however the card works best with the recording slider about half way up in the alsamixer. Any more or less and the noise figures rise (by less than a dB).

This is a test with the full spectrum pink noise. This is a much more stringent test than the usual harmonic and IM distortion, and it mimics the spectrum of a real music much more accurately. Note that the response is very flat with plus or minus about .05dB from 16Hz to 16KHz. There is a slight imbalance of about 0.1dB between the two channels-- a completely inaudible amount.

These responses were all measured with the output being fed back into the input, so it is difficult to disentagle the output from the input performance.

The noise level, except at the lowest frequencies below about 50Hz is at the one bit level for a 16 bit encoding.(ie the distortion and noise correspond to a level where on average the lowest bit of the output is distortion and noise) Note that the digitisation noise for this signal is about another 10dB lower all across teh spectrum for the 16 bit encoding.

16 bit response

Cannot display The 24 bit response (feeding the 24 bit pink noise signal out and recording it using aplay in the -D hw:1 mode, and where the 24 bit signal is genuine 24 bits with the digitisation noise now down by another 35dB, and arecord ) is essentially identical to the 16 bit signal. There is no advantage to using this card in the 24 bit mode. It is a very good 16 bit card. It is not a great 24 bit card. (Mind you this is the only 24 bit card I have tested so I do not know if others do better)

24 bit response

Cannot display