Recording and Production Tech Notes
Improvements to Prism Sound Windows USB drivers
This document applies to the Windows drivers for Prism Sound USB interfaces (currently Lyra, Titan and Atlas) starting with driver version 1.05, released on 17th July 2014.
The performance and capabilities of the new driver have been significantly increased, as described below. These changes result in a lower latency (delay) through the driver, and even more reliable operation with a wide range of PCs.
The treatment below applies to Windows PC's only and is not applicable to MAC users as the MAC OS handles latency optimization internally. For a more general treatment of the issues on Windows, please also see the guide to "Optimizing your Windows PC for audio".
Manufacturers of computer audio interfaces (and software) have traditionally dealt with this by having a user-settable control to adjust the latency, with an implied improvement in reliability as the latency is increased.
However, this approach has begun to appear simplistic, since there are a number of different factors which can affect the threshold of reliable operation on Windows PCs, and it is increasingly unsatisfactory to try to address all of these factors optimally with a single control. This is especially true for 'professional' soundcards, where some users want minimal latency and are prepared and able to fine tune their PC to achieve it, whereas others don't care about latency, and simply want to plug the interface in and never hear a dropout.
The resulting Windows USB audio driver version 1.05 can achieve reliable operation with very low latencies on fast, well set-up PCs, but can also work reliably on very slow and busy PCs.
There are now two controls that set the buffer size:
'ASIO' is the buffer size that the ASIO driver will use, expressed as a number of samples.
'Base' is the 'Base resolution' of the USB audio packets: the duration of a single packet, expressed in ms.
Generally speaking, smaller ASIO and Base values result in lower latencies. Round-trip latency (RTL) times for particular settings are reported in your ASIO DAW. Conversely, larger ASIO and Base values result in increased stability and resilience to high CPU load and extraneous activity.
When you change this setting, your interface will briefly disappear from the USB whilst its buffering parameters are revised, and will then reappear with the new settings. You may find that the ASIO buffer size has changed to a new minimum value.
The base resolution will be displayed in red when the 1ms setting is selected to indicate that the system will be susceptible to DPC spikes. DPC spikes are periods when the CPU is unavoidably occupied handling Deferred Procedure Calls. If the DPCs from other processes (particularly poorly written drivers) take too long and the audio buffer is depleted there will be drop-outs in the audio.
The performance and capabilities of the new driver have been significantly increased, as described below. These changes result in a lower latency (delay) through the driver, and even more reliable operation with a wide range of PCs.
The treatment below applies to Windows PC's only and is not applicable to MAC users as the MAC OS handles latency optimization internally. For a more general treatment of the issues on Windows, please also see the guide to "Optimizing your Windows PC for audio".
Background
The trade-off between latency (delay) and reliability (click-free operation) for computer audio interfaces is well documented (see, for example, the Lyra online manual latency section.).Manufacturers of computer audio interfaces (and software) have traditionally dealt with this by having a user-settable control to adjust the latency, with an implied improvement in reliability as the latency is increased.
However, this approach has begun to appear simplistic, since there are a number of different factors which can affect the threshold of reliable operation on Windows PCs, and it is increasingly unsatisfactory to try to address all of these factors optimally with a single control. This is especially true for 'professional' soundcards, where some users want minimal latency and are prepared and able to fine tune their PC to achieve it, whereas others don't care about latency, and simply want to plug the interface in and never hear a dropout.
The new driver
So, in trying to address a wider range of user requirements, we have changed both the internal workings of the driver, and also the available controls.The resulting Windows USB audio driver version 1.05 can achieve reliable operation with very low latencies on fast, well set-up PCs, but can also work reliably on very slow and busy PCs.
There are now two controls that set the buffer size:
'ASIO' is the buffer size that the ASIO driver will use, expressed as a number of samples.
'Base' is the 'Base resolution' of the USB audio packets: the duration of a single packet, expressed in ms.
Generally speaking, smaller ASIO and Base values result in lower latencies. Round-trip latency (RTL) times for particular settings are reported in your ASIO DAW. Conversely, larger ASIO and Base values result in increased stability and resilience to high CPU load and extraneous activity.
Base resolution - a new setting
The Base resolution can be selected as 1, 2, 3 or 4ms. You should regard this setting as a starting point depending on the performance of your PC. 4ms for an abnormally slow PC or netbook, 1ms for a fast, tweaked PC used for pro-audio applications where low latency is important. 2ms is best for most modern PCs in most situations.When you change this setting, your interface will briefly disappear from the USB whilst its buffering parameters are revised, and will then reappear with the new settings. You may find that the ASIO buffer size has changed to a new minimum value.
The base resolution will be displayed in red when the 1ms setting is selected to indicate that the system will be susceptible to DPC spikes. DPC spikes are periods when the CPU is unavoidably occupied handling Deferred Procedure Calls. If the DPCs from other processes (particularly poorly written drivers) take too long and the audio buffer is depleted there will be drop-outs in the audio.
ASIO buffer size
'ASIO' is the buffer size that the ASIO driver will use, expressed as a number of samples.The minimum ASIO buffer size is the base resolution (expressed in samples at the current sample rate) plus four samples. For example, at the 44.1kHz sampling rate, the number of samples for the 1ms base resolution setting would be 44 so the minimum buffer size would be 48 samples. Similarly at the 96kHz sampling rate the number of samples for 1ms is 96, resulting in a minimum buffer size of 100 samples. The ASIO buffer can be set to any number of samples from this value up to a maximum of 64k (64 * 1024) samples.
The buffer size will be displayed in red if it is less than twice the base resolution. This is because drop-outs are likely on non-optimized PCs.
Best practice
We recommend that you use long buffers wherever possible. In general, you should avoid red displays in 'ASIO' or 'Base'. Many situations do not require a very short RTL.For example, if you are recording a live concert, a drop-out would be catastrophic, but RTL is not critical. You should ensure that the system is as stable as possible by using long buffers.
If you are overdubbing vocals you will probably need to provide the vocalist with a mix containing the backing track and the live vocal. If this mix is done in the DAW, the vocals will be delayed by the RTL amount and so, in this case, we recommend using the low-latency mixers which are provided within the hardware of Prism Sound USB interfaces.
You can configure your DAW to compensate for the RTL by setting the pre-record delay to the RTL value. This will ensure that the new recording is sync'd correctly with the backing track.
Low latency operation
Sometimes, even in foldback situations, it is necessary to mix in the DAW. For example, you may wish to play a MIDI software instrument that is a plugin hosted by the DAW. Or you may need to provide an elaborate foldback mix using DAW plugins. Using the foldback mix to play in time with the backing track requires that the latency must be short - in general, 10ms or less is acceptable.It is possible to achieve RTL of well under 10ms on a PC that is optimized for audio. If you use a sample rate of 44k1, a base resolution of 1ms and an ASIO buffer size of 64 samples, the RTL of a Prism Sound USB audio interface with the new driver is 6.85ms.
To achieve the lowest possible latency, you should reduce the load that the DAW itself has on the system:
- Use lower sample rates where possible
- Minimise the number of enabled ASIO channels
- Use 'high-performance' settings on plugins
- Freeze tracks. Most DAWs have a 'freeze' feature that renders plugin outputs to an audio file. Consider freezing background tracks whilst playing software instruments live.
Optimizing your PC for audio
You can find information on how to optimize your Windows PC here: http://www.prismsound.com/optimizeIn particular:
- Ensure that DPC spikes from other drivers are eliminated
- Enable a 'High Performance' power scheme.
- Disable 'CPU Throttling' by setting min CPU usage to 100%
- Isolate the PC from the internet & disable virus checkers, Bluetooth, WiFi roaming and other CPU hogs.
- Set 'Processor Scheduling' to 'Background Services'
- Use a non-Aero theme with 'Adjust for Best Performance' option.
WDM Audio drivers
The WDM audio drivers provided by Prism Sound use long buffers. The actual buffer size is determined by Windows and is unrelated to the 'ASIO' setting. However, it is affected by the 'Base resolution' setting.If you want to use WDM Audio drivers on a non-optimized PC, it is recommended that the Base resolution is set to 2ms or higher.