Recommend driver settings?

Each steaming mode increases the USB buffer, which is set in X milliseconds. The ASIO buffer is listed in samples, in other words, how long it depends on the sample rate.

Under all conditions, the ASIO Buffer must be larger than the USB buffer, or dropouts or other strange effects may happen. The USB streaming mode sets the following USB buffer length:

Minimum Latency = 1 millisecond
Low Latency = 2 milliseconds
Standard = 4 milliseconds
Relaxed = 8 milliseconds
Reliable = 12 milliseconds
Safe = 16 milliseconds
Extra Safe = 32 milliseconds

If using 768kHz sample rate (or DSD512 or DSD256 vis DoP) 8192 samples are around 10 milliseconds, so for correct operation at this sample rate the ASIO buffer setting just be the maximum 8192 and streaming mode must be relaxed (8mS).

The downside is that such a setting will generate high latency at low sample rates, for example at 44.1kHz 8192 samples are 185 milliseconds, to which 8 milliseconds must be added.

All of this is avoided if using the WASAPI audio subsystem.

The latest 3.20 driver allows ‘automatic’ samples.

The ASIO buffer is used to exchange sample data between the driver and an application (DAW). The ASIO buffer size is adjustable. However, because the ASIO buffer layer is driven by the USB streaming layer there is a dependency on the USB Streaming Mode setting. ASIO can work without dropouts only if the following condition is met:

ASIO buffer size (in ms) >= USB streaming buffer depth (in ms)

By convention, the ASIO buffer depth is specified in terms of samples which creates another dependency on the current sample rate. For example, if USB streaming mode is set to standard then the minimum ASIO buffer depth is 4 milliseconds which corresponds to 176 samples at 44100 Hz and 384 samples at 96000 Hz. Usually, an ASIO buffer size (in terms of samples) that is a power of two is preferred. In most DAWs sample processing is more efficient if such an “even” number is chosen. So in the above example, we round up to the next power of two and end up with 256 samples at 44100 Hz and 512 samples at 96000 Hz.

The driver internally does not perform buffer size checks and does not enforce an ASIO buffer size that still works with the current USB streaming mode setting according to the condition defined above. This logic is implemented in the control panel. The control panel allows the user to pick one of the power-of-two numbers between 64 and 4096 and then checks if this works with the current USB streaming mode setting (The driver provides an API function which performs this check internally). If the selected ASIO buffer is too small for the current setting then the control panel displays a warning message. In this case, the user should pick a larger ASIO buffer size value.

As a consequence of the convention of specifying the ASIO buffer size in terms of samples, the user has to adjust the ASIO buffer size every time the sample rate in a DAW is changed.

Did this article solve your problem?

If you’re still having problems, why not contact the iFi Support Centre. We’re available Monday to Friday.