Software help archive

A read-only archive of old serato.com help threads.

Getting USB dropouts / audio glitches under Windows?

Product
Scratch Live
Version
-
Hardware
Ortofon | Serato S-120
Computer
-
OS
Platform
-
Serato
Josh 2:30 AM - 3 November, 2006
Am I getting USB dropouts?

If you're getting audio glitches, clicks or dropouts, then there is a high chance you may be experiencing a USB dropout.

A USB dropout may be shown by the USB dropout indicator lighting in Scratch LIVE, however this may not always happen.


What is a USB dropout?

Scratch LIVE creates what's known as an isochronous stream of audio data over the USB bus. That is, it is 'fed' at precise intervals from our USB buffer. If for some reason what is in the buffer can not be fed onto the bus, the USB dropout indicator may light, and more often than not, you will hear an audible click or glitch in the audio. This is a USB dropout.


What causes USB dropouts?

As explained above, maintaining an isochronous stream requires 'stuff' to happen at a certain time, with a 1ms USB buffer size the program only needs to send about 350 Bytes of data each ms over USB, but this needs to happen every millisecond, otherwise you'll (obviously) experience a dropout.

The work is done by the CPU and the USB controller, which are under the control of a few co-operative things; the operating system, the BIOS, and drivers, ultimately at the request of the audio application. If one of these isn't behaving correctly, or can't perform it's work in time, you can guess the result.

The first thing is to check if the CPU is busy doing something else, or is not up to the task of feeding the buffer and feeding the buffer to the USB.

Open up the task manager - Task Manager (Ctrl+Alt+-Del)

and click on the processes tab, check what your overall CPU usage is like and percentage the application is using.

If your overall usage is close to 100% and you're getting dropouts, try raising the size of your USB buffer. Giving your CPU more time to do the work of streaming the audio over USB.

If your overall usage is not near 100%, and especially if it's nothing like being close to capacity, you should use the following techniques to check what is happening inside the Windows kernel and causing dropouts.


USB interrupts and how to eliminate dropouts

An interrupt in this context is basically when the Windows kernel halts execution of applications while some work needs to be performed by a driver - en.wikipedia.org

An interrupt is an asynchronous signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change in execution. A hardware interrupt causes the processor to save its state of execution via a context switch, and begin execution of an interrupt handler.

Problems for audio applications can arise when the hardware drivers don't hand back control in short enough a time to allow for us to maintain the USB stream. From an audio application perspective, it has just lost some time suddenly, as during interrupts the processors state is saved and restored, as if nothing has happened. Hence the need to trace interrupts using a 3rd party tool which can look inside the kernel.

It is worth while making sure your computer is optimized for digital audio. To do so follow this link: www.serato.com


If optimizing your computer doesn't help then you should do the following:

* For users running Windows 7 or Windows Vista please go: www.serato.com
* For users running Windows XP please go: www.serato.com


If this doesn't help then you may wish to start a help request here: serato.com (click)