Focusrite ASIO driver and Callback Timing error.

MT32-Sound Pad Lite
Vincent Burel
Site Admin
Posts: 928
Joined: Sun Jan 17, 2010 12:01 pm

Focusrite ASIO driver and Callback Timing error.

Postby Vincent Burel » Sat Jan 13, 2018 10:59 am

Despite Focusrite offers very good hardware audio boards, the ASIO driver (especially for USB devices) is not exactly programmed in the respect of the ASIO principles (and real time DSP rules).

Focusrite ASIO buffering is not real, and the callback mechanism does not respect buffer timing rules. It seems Focusrite ASIO driver works internally with bigger buffer than the ASIO buffer size. Then it is obliged to call the process function several times in the same time frame.

The MT32-SPLITE (and MT64 or MT128) application shows the problem in its ASIO page, when selecting Focusrite ASIO Driver. For example with Focusrite Saffire USB, even with a big buffer size (942 samples) the ASIO driver is sometimes calling the process function twice and consequently is producing timing error (red peak).

MT32FocusriteSaffire942smp.gif
MT32FocusriteSaffire942smp.gif (177.7 KiB) Viewed 5822 times


We also have Focusrite Scarlett 18i20 connected on a MT128-PRO (64bits) on WIN7 64bits. We set down the latency to 89 samples buffer size (producing a global latency of 13.9 ms which is much bigger than expected for this buffer size). And we can see that the timing errors are more important if the buffer size is smaller. (similar problem reported on Scarlett 2i4 MK2).

MT32FocusriteScarlett89smp.gif
MT32FocusriteScarlett89smp.gif (177.39 KiB) Viewed 5822 times


The consequences are usually not hearable in this case, but can disturb other streams, possibly synchronized to this main audio stream. It may concern MIDI sequencing, Display/Video and all real time slave processes based on the time regularity of the ASIO callback.

The problem is more present with Voicemeeter Virtual ASIO Drivers (allowing to connect a DAW or ASIO instrument to it), which are strictly synchronized on the Voicemeeter Main Stream (given by output A1 device), that can be driven by a focusrite ASIO driver.

Since ASIO interface is based on a double buffer swap principle, it is important to have enough time between buffer swap to process it and respect real time constraints. With Focusrite ASIO driver, the buffer swap can be done without respecting this timing and then will produce an audio cut/crack on the DAW source connected to Voicemeeter virtual ASIO driver.

VoicemeeterVirtualASIODriving.jpg
VoicemeeterVirtualASIODriving.jpg (130.96 KiB) Viewed 5822 times


Conclusion: if you have such problem with Voicemeeter or any other ASIO applications and USB focusrite audio board, you may forward this topic to Focusrite Support… Hope it will encourage them to update their ASIO driver…

Possible Workaround: the issue can be not there for some remarkable couple of values (samplerate, buffer size) for example at 48000 Hz, 240, 192 or 128 samples buffer size could work correct. At 44100 Hz i guess unusual 147 or 441 samples buffer size could work too…

mipsou
Posts: 24
Joined: Sun Jul 01, 2018 5:08 pm

Re: Focusrite ASIO driver and Callback Timing error.

Postby mipsou » Fri Apr 12, 2019 9:38 pm

For a Focusrite Scarlett 18i20 2nd gerenation, you can adjust the buffer to 288
Image

I use insert and i've adjust buffer to 576. The sound in insert is clean.
After i have 1 crack per 5 minutes. it's my best setting.

Vincent Burel
Site Admin
Posts: 928
Joined: Sun Jan 17, 2010 12:01 pm

Re: Focusrite ASIO driver and Callback Timing error.

Postby Vincent Burel » Sun Apr 14, 2019 8:35 am

thanks for the tip!

This timing error given by Focusrite ASIO drivers (an many others driver of USB audio devices by the way) are just impossible to understand today! In 2019, i cannot explain how audio programmers could not manage a 5ms callback timing correctly, just incredible !).

mipsou
Posts: 24
Joined: Sun Jul 01, 2018 5:08 pm

Re: Focusrite ASIO driver and Callback Timing error.

Postby mipsou » Thu Apr 18, 2019 2:28 pm

Hi,

Caution!! Pro Tools do not support non standard buffer size.

With Focusrite Scarlett 18i20 2nd gerenation connected to Voicemeter, i can't use Pro Tools.

Source: http://avid.force.com/pkb/articles/en_US/error_message/en406455
How can I resolve the error, 'Audio device is configured with an unsupported buffer size', when launching Pro Tools with a third party interface?

Pro Tools 9 currently only supports the following buffer sizes, 64, 128, 256, 512, and 1024 samples. If your audio interface does not support these buffer sizes, then you will not be able to use it with Pro Tools. Your audio interface should have a control panel where you can adjust its buffer size. This is where you can see what buffer sizes it supports.

Some interfaces may support multiple buffer sizes where only some of them are compatible with Pro Tools. If this is the case, you will need to first change the buffer size to one that will work with Pro Tools (see above) and then relaunch Pro Tools.


Return to “MT32-SPLite”

Who is online

Users browsing this forum: No registered users and 1 guest