Why does 44100Hz 44.1kHz USB audio fall out of sync?

I'm a hardware application developer and currently working on a MIDI controller with built in mixer and soundcard. The product is called the VMS4 and goes under the brand name American Audio.

I found a really bizarre problem with the MAC audio. When running at 44.1kHz the audio goes out of sync after about 20 seconds. It gradually gets fuzzy then finally blanks out, and after an extended period of time actually comes back again. I kept scratching my head thinking OMG what did I screw up in the VMS4 hardware. I did extensive testing and found even the MacBook Pro was providing at 44100Hz fully USB synchronized. And I took a hard look at my software and couldn't find anything getting out of sync.

So just to make sure, I chnaged the VMS4 setting to 48000Hz and the problem went away completely. Guess we could just change our product to 48000Hz but the question is why doesn't 44100Hz work in the first place?

Here's the video I took:
www.audioinnovate.com/VMS4/44100Hz vs48000Hz.MP4

In the video, I start out the audio running at 44100Hz until it gets fuzzy, then change the VMS4 to run at 48000 Hz, then restart the audio. You can see when the audio starts getting "fuzzy", data gets blanked out until finally the audio is fully blanked out.

After the video I continued running the audio at 48000Hz for 15min or so everything was still in sync so I imagine there's no issue here.

I'm virtually 100% sure this is a bug and hopefully an OS developer would have the courtesy to address this issue. From people I've talked to who have tested for this problem, it has shown up on MacBook Pro computers starting at Mac OS X version 10.5.8 and up.

Message was edited by: odonov8

MacBook Pro, Mac OS X (10.6.3)

Posted on Jun 11, 2010 3:29 AM

Reply
4 replies

Jun 11, 2010 7:02 AM in response to DaddyPaycheck

Actually I did trace down the problem. If I set the USB audio to Synchronous mode, the problem exists. But if I change the mode to Adaptive, the problem goes away completely. This happens for 44.1kHz.

The only change I made is to the descriptor section. I didn't make any other changes to the USB audio operation.

So I've fixed the problem, but still curious:

1) Why did MAC OS X change? and
2) Why does the synchronous mode work for 48kHz but not 44.1kHz?

If there's a better forum for this kind of stuff please let me know.

Jun 11, 2010 9:06 PM in response to DaddyPaycheck

Nope it's a completely unrelated issue. This is the only device I have hooked up to the USB bus.

I suspect what happens is with 44.1kHz USB audio, the system clock used for the 44.1kHz audio isn't 100% in sync with the 1kHz USB clock, but it is fully in sync for 48kHz due to the clean 1:48 ratio.

It also seems that the older MAC OS's fix the sync issue by adding/subtracting samples which you can hear as occasional clicks. Then on the newer OS's, they don't even bother with this synchronization and let things fall apart when the USB device asks the OS for synchronized audio.

All Windows OS's I've tested use the sample adding/subtracting to keep things in sync.

It seems that the strategy Apple uses is don't bother with any synchronization that's difficult or consumes extra OS power. This puts the burden on USB audio hardware developers to do one of the following:

1) Use a clean sample rate like 48kHz and synchronize to the USB clock, or
2) Make sure the device can adapt to out-of-sync audio for 44.1kHz audio, or
3) Develop their own software drivers to keep audio in sync.

IMHO it seems ironic that computers nowadays running at 2+GHz leave it up to hardware developers using much slower clock rates to resolve these issues.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Why does 44100Hz 44.1kHz USB audio fall out of sync?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.