Head-Fi.org › Forums › Equipment Forums › Computer Audio › How to make M-Audio Transit worn in Ubuntu
New Posts  All Forums:Forum Nav:

How to make M-Audio Transit worn in Ubuntu

post #1 of 15
Thread Starter 
Hi Everybody,

I am a linux newbie, trying to get my M-Audio Transit to work under Ubuntu. All I could find googling was this
The instructions are not exactly clear. Please point me in the right direction.

TIA,
Dinesh
post #2 of 15
To install the firmware loader (i.e. pretty much the driver):
1. Get the madfuload program from http://sourceforge.net/project/showf...ckage_id=94170
2. Extract the tarball at a command prompt with
Code:
tar zxvf madfuload-1.2.tar.gz
3. Compile the package
Code:
cd madfuload-1.2
./configure
make
(Note: This will require you to have a compiler etc installed if you haven't already. There should be some info on google how to do that. PM me if you get really stuck )
4. Install the package
Code:
sudo make install
5. (Optional) Fix the device index so that the Transit doesn't steal index 0. This is optional because if you deliberately disable your onboard sound, you will probably want to skip this step. As root, you should edit '/etc/modprobe.d/alsa-base and add the following line if it is not there already:
Code:
options snd-usb-audio index=-2
6. (Optional) Set the Transit to be the default device. Create or edit '~/.asourdrc' and put the following in there
Code:
pcm.!default
{
    type plug
    slave
    {
        pcm         "hw:1,0"
    }
}
This is assuming the Transit is using index 1 and not index 0. There are heaps of nifty things you can do in the .asoundrc like soft volume controls, software mixing, resampling, modifying the bit depth, etc, but I won't go into them here as its a bit more general.


To use the Transit, you will need to either have it plugged in when you restart, or run the following command after plugging it in:
Code:
sudo udevtrigger
(I think someone has figured a way to fix the udev business so you don't have to run that command, but I don't have a Transit anymore, so don't have that info on hand.)

You should be able to access the volume control for the device by adding a volume control applet to the panel and then double clicking it (making sure then that you select the right device to control).
post #3 of 15
Thread Starter 
psyllium,

Thanks a lot for that very clear set of instructions. Yesterday, I had installed the madfuload package and carried out till your instruction 5. Ubuntu would not recognize the transit, which you have explained howto. Anyway, today I turned on the machine and there it was, since then I have been enjoying music on ubuntu.

Thanks again,
Dinesh
post #4 of 15
Has someone found an easy way getting m-audioTransit usb device run under Ubuntu Gutsy Gibbon? This instruction here didnĀ“t make my transit work :-/.


Cheers
post #5 of 15
OK, it took me some time to fix and understand the working of udev.

To fix the Transit card in Ubuntu Hardy Heron follow the earlier posted instructions, after that open the following file (as root)
sudo vi /etc/udev.d/rules.d/42-madfuload.rules

And replace all the contents with the following:
# madfuload.rules - udev rules for loading firmware into M-Audio DFU devices

# Transit
ACTION=="add", SUBSYSTEM=="usb", SYSFS{idVendor}=="0763", SYSFS{idProduct}=="2806", RUN+="/usr/local/sbin/madfuload -l -3 -f /usr/local/share/usb/maudio/ma006100.bin -D $env{DEVNAME}"

This should work, use in Gnome System/Preferences/Sound to make it the default card for your gnome applications.

Use the following command to make it the default playback device for Alsa applications:
asoundconf set-default-card USB

Use the following command to list your devices
aplay -L

Use for example the following command to play a wave file via optical output (Find the exact device via: aplay -L)
aplay -D iec958:CARD=USB,DEV=0 dwaalspoor98.wav

Have fun!!
post #6 of 15
Hi folks.

I maintain a small How-To to get the M-Audio to work.

I verified that it is working under Ubuntu Hardy.

diyAudio.com Wiki - projects by fanatics, for fanatics

However: I am lacking a bit of knowledge of how to set the cards specific parameters such as in-out-modes, latencies etc. Did anybody come across of accomplishing this. I mean just getting the basic-driver to work is not even half of the story!?!

THX
post #7 of 15
In Linux the latency is set by the driver in this case, ALSA. If you want to fine tune the latency you should probably use JACK.

There's lots of stuff that you can do in your ~/.asoundrc file (once you create it) to do with bit rates, sampling frequency etc. I forget if the Transit worked with JACK out of the box, but I didn't really see the need for JACK on a day by day basis.

If you have any specific questions though you could ask me
post #8 of 15
Hi.

I know that you can do a lot with the .asoundrc.

My question is rather how do I tell the card to run in a certain mode.
Of course first I should exacly get to know what parameters (registers)
can be set.
M-Audio supplies an application for doing these kind of settings under
Windows. I don't have this for Linux.

AFAIK:
For handling e.g. 24/96 you need a different mode than 16/44.1.

Just tell me if I am wrong here. I do really lack of knowledge around this subject.

THX
post #9 of 15
Quote:
Originally Posted by soundcheck View Post
Hi.

I know that you can do a lot with the .asoundrc.

My question is rather how do I tell the card to run in a certain mode.
Of course first I should exactly get to know what parameters (registers)
can be set.
M-Audio supplies an application for doing these kind of settings under
Windows. I don't have this for Linux.

AFAIK:
For handling e.g. 24/96 you need a different mode than 16/44.1.

Just tell me if I am wrong here. I do really lack of knowledge around this subject.

THX
I think you can just send the Transit the 16 or 24 bit stream somehow? You can list the capabilities of the USB sound device by poking around /proc/asound/cardX/. It will tell you what formats you can give to the card. Once you are playing something to the card you can "cat /proc/asound/cardX/stream0" or something to see what the device is currently doing.

I don't think there is any particular mode for the Transit, as opposed to the Audiophile USB series. It will automatically put itself into whatever mode you need. E.g. If you open a 24/96 stream output (I forget if that is possible), it will not let you input at the same time.

iirc, there might have been something to do with 24bit samples being packing into 3 bytes, instead of 4 bytes, which will cause incompatibilities with most software. In that case use the plughw device which will convert the samples on the fly to the best match on the device. So while this is happening have a look at "/proc/asound/cardX/stream0" to verify what mode it is using.

Hope this vague info helps... I'm in the evil BillOS at the moment and my Transit is long dead...
post #10 of 15
I actually tried a 24/96 .wav over the M-Audio Toslink feeding a TI TAS5706 based full digital amp prototype.

I could't make it run.

Anyhow. THX for your hints so far.

Cheers
post #11 of 15
Quote:
Originally Posted by soundcheck View Post
I actually tried a 24/96 .wav over the M-Audio Toslink feeding a TI TAS5706 based full digital amp prototype.

I could't make it run.

Anyhow. THX for your hints so far.

Cheers
I take it you've tried
aplay -D plughw:1,0 myfile.wav

while it's doing that, check the stream info in the alsa proc files to see what mode it is using... that is if it works
post #12 of 15
Hi psyllium.

With aplay I managed to get it to work 24/96.
I realized that before, but forgot about it:

If nothing works - Aplay is working.

Not any other application - Audacious, Amarok, brutefir played
the 24/96 .wav by default. I guess I have to lookup plugins for doing
that.

Some issues I'd like to discuss:

The stream0 under /proc/asound/... showed 96000 when playing a 24/96 wav.
THX for that hint. Quality wasn't actually what I would have expected.
When looking at the stream0 file. It listed for the M-Audio IF1

48001-96000 Adaptive Mode
8000-48000 Async Mode

Would that mean that up to 48000 the interface plays in USB Async mode?
Just a guess, which would explain the drop of quality.

Interesting finding: When I played a 24/96 .wma from Linn
via Amarok the stream0 file showed 48000. It seems that Amarok respectively XINE downsamples to 48000. I need to find out how to avoid this. Good to have control over samplerates now.

THX again.

Cheers
post #13 of 15
No problem for the help. Sorry to hear that it doesn't sound as good as you were expecting...

I think the adaptive mode means that the USB sound card switches over into a different mode so to enable output only. When the <= 48000Hz rates are being used, the asynch mode probably means it can be using for input and output at the same time. So I don't think that would really be affecting the playback quality.

You'll probably want to try and make some 'virtual' alsa devices that specify the sample rate at 24/96, and then try and make Amorak etc use that instead of the default devices...

e.g. in .asoundrc
Code:
pcm.transit96
{
        type asym
        playback.pcm
        {
                type plug
                slave {
                        pcm "hw:1,0"
                        format S24_LE
                        channels 2
                        rate 96000
                }
        }
}
(note you might need to change the S24_LE to whatever format the Transit actually takes...) Then in your program try and use that new sound device you made, e.g. transit96. Although this will all depend on the internals of the program you are using.

If you get aplay working at the desired resolution and the same device name some googling might be required.
post #14 of 15
Adaptive vs. Async.


These are two USB transmission modes mainly used for Audio.
Async is prefered, since the USB-Receiver is clocked by the internal DAC clock. It is slaving the PC and not the other way around as you find it on e.g. PCM270x devices.
Just a very few USB devices, such as EMU 0404 or Wavelength DACs support Async Mode. Though it seems that the implementation of the async mode can be different.

It might be that the - M-Audio buffers a certain amount of data.
For samplerates higher than 48k, space might be too limited and therefore it is not supported for the Transit. But that's really a wild guess.
I posted a question in the M-Audio forum to check this up.

You might want to read this one:

http://www.head-fi.org/forums/f46/as...b-dacs-271356/
post #15 of 15
I know this is very old but THANK YOU SO MUCH!
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Computer Audio
Head-Fi.org › Forums › Equipment Forums › Computer Audio › How to make M-Audio Transit worn in Ubuntu