Jump to content

What exactly comes out the USB port of a Mac?

Recommended Posts

Hey all,


Just got a Devilsound USB DAC and am enjoying it so far. I recommended it to a friend, who asked me a question:


What digital audio format actually comes out of the USB port on a Mac?


That is: I can play AIFF, WAV, Apple Lossless, MP3, MIDI using the Mac's internal MIDI device, etc. etc. etc...and it all goes out the USB port to the DAC (or to whatever "output device" I select). Am I right in assuming that all these formats are being digitally converted to some common format before they go out the port? If so, what is it? My friend raised the specter that it is a lossy format, though I suggested that was very unlikely.


Thanks, Marlon


Link to comment

I assume you are using itunes since you use the Mac. It will output whatever you tell it to. I ripped all of my cds to itunes in AIFF, and send the digital out via USB to the DAC in my ADM9s. You want to make sure that the settings in the audio midi are 16 bit 44/khz so the computer is not doing any processing. Also make sure that the volume for itunes is all the way up. Benchmark wrote a great paper on how best to configure itunes.


ADM9.1s ,2.0 Ghz Mac Mini, Panasonic BD-35 blu-ray player.

Link to comment

The data that is transferred over the USB interface is a common USB protocol and framing, just like the data that would be sent to a printer. The difference between audio streaming and printer data is that the data transfer is isochronous, which means that it cannot be interrupted and is continuous from start to finish. This is one of the many modes that USB supports. The data itself is whatever the file and player present to the USB interface in the computer. If the data is FLAC, then the player software uncompresses this to native data and then transmits it to the USB interface. If it is .wav, then it sends the raw data without manipulation. The data is then assembled into frames or packets and then transmitted over USB. The rate that the data is sent is dependent on the player software and the USB driver software. Depending on the player settings, it will send the data at a 44.1 kHz rate or 96kHz rate etc.. The rate is actually higher because there is control information included in the USB frames, but when the data is extracted, it matches within about 20PPM the desired data rate of 44.1 or 96kHz. The actual frequency does vary a bit from one computer to the next. I know this for a fact.


I think I got this right.


Steve N.

Empirical Audio


Link to comment



I will add a little to Steve's explanation...


There are 3 ISO formats, SYNC (never worked nobody uses it), ASYNC and Adaptive. As Steve said computers and devices using Adaptive can and do change the clock for two reason's: 1) the clock in the computer is different from that of the dac. 2) for flow control.


All USB packets have frames that include the device #, port, in/out and a 16 bit bcc. All frames are directed to and from a specific device. In audio the amount of data per fame (specified by enumeration, typically 1ms) is determined by the rate Fs and data size:


441000/16 would require 44100/1000(1ms frames)*4(stereo 16 bits or 32 bits/8=4) =176.4 bytes per 1ms

441000/24 would require 44100/1000(1ms frames)*6(stereo 24 bits or 48 bits/8=6) =264.6 bytes per 1ms


Both MAC and PC cannot send bits so what typically happens and is the same for both MAC and PC is that it will send 9 packets at either 176 or 264 then 1 packet at 180 (16) and 270 (24). Which makes 1764 bytes over 10 frames or 2646 bytes (24) over 10 frames.


You can enumerate (setup between PC and device) to do either fix bit size or variable and what Fs you support. It's much easier to enumerate (freaken pain in the a**** to change) fixed bit sizes and Fs rates.


The data content can be enumerated into many things and include all kinds of DSP crap. For audio it's easiest to go straight PCM data which will result in a straight shot from the USB device controller to the dac section.


Well that get's you more than you need to know.





Link to comment

Now Chris, you KNOW that you always frame your packets so that the contents can be enumerated to your specified devices. That way, the rate Fs will always have the flexibility of either fixed bit size or variable. ('jus plug tha sucker IN) ... you knew that ......


Gotta LOVE Gordon!




Link to comment

We are fortunate enough to have Steve and Gordon posting here when readers want that extra detail. My initial answer to the original post was along the same lines as your ('jus plug tha sucker IN). I got sidetracked and didn't hit the Post Comment button, then I asked for a little help from the experts. I knew there had to a lot more to the correct answer than anything I could offer :-)


Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment

bows to the experts...


but i think you guys went a little technically overboard in answering the question...


isnt it simply that USB protocol [in some ways, what is allowed to stream]...is NOT AT ALL the same thing as any given audio format...that format and protocol are as different as apples and ...uhmmm...horses?


USB will stream any audio format supported by your software, at a rate dependent on that same software, and or equipment..


strictly speaking, electrical impulses flow through a USB connection...[thats me being a smart-ass, *bats eyelashes*]...









Link to comment

...... the Hardware engineers with their vision, hardware AND their techno-speak. The software engineers, their vision and their products. The website founders with their vision and moderation (and empty bank accounts). The website visitors who read and post, listen to and love music, .... all the while cracking wise and batting eyelashes.


Bless us every one.


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...