An important metric is a simple āRound Trip Latencyā ('RTL") - the time to send and send audio through your audio interface. In my experience, most of the lightweight VSTs I run introduce very little latency compared with the overhead of the interface and itās buffers.
The RTL Utility by Andrew Jerrim of Oblique Audio is an excellent, free tool to measure the latency of an audio interface under various sample rates and buffer sizes (https://oblique-audio.com/). Itās a little app that directly tests Round Trip Latency on an Audio interface with a loopback cable installed (just an audio cable from your Audio Out to your Audio In). I downloaded it most recently last November from https://oblique-audio.com/rtl-utility.php. Unpack it and run the app directly and it is pretty self-explanatory.
Here is some notes I collected along the way that might be helpful ā¦
These pertain mostly to live performance rigs (setups used for studio recording have different latency issues and considerations).
Context: I use C3 in a variety of live settings to live loop hardware and software virtual instruments, mostly from a Sylphyo wind-synth/controller. Iāve been playing out solo over the last year, but will now be adding a series of āsatelliteā keyboard players. They are mostly very experienced on keyboards, but not on sound rendering, so I plan on rendering and mixing their sound. My focus on latency is for my own wind-synth work and also to give the satellite keyboard players a good experience.
*** Basics
There are some basic items that I started with. I canāt comment on how bad things might be if they were not done:
ā¦ Use custom ASIO drivers from a good vendor. I was pointed toward RME (in a personal communication from the prolific poster Evil Dragon) early on and avoided the confusocopia of picking an audio interface vendor. The RME drivers have never let me down, but I donāt have experience with other brands of audio interfaces.
ā¦ Optimize your operating system for audio use. See Bradās āGlitch Freeā Guide: https://www.cantabilesoftware.com/glitchfree/
*** Latency affects how you play
My initial rig designs resulted in over 50 msec of latency (over 1/20 of a second). I was initially enamored with the ability to render sound and simply accepted it and adjusted to it.
In retrospect, I was completely disconnected from my playing. The only genre I could play on my Windsynth was Ambient Music with lots of reverb. Actually did a number of solo concerts like this, and it was great, but I was definitely limited to this genre.
When I was able to get the latency below 20 msec, it felt almost normal and I mostly forgot about latency issues. I suspect that this is where the āconventional wisdomā of āyou canāt hear latency if it is below 17 msecā comes from.
Everything changed when I introduced live looping. Nothing rhythmic really worked, especially if I was trying to use a loop-synched delay effect to get a rhythmic effect from my WindSynth. I use a Strymon Timeline synched to my RC-505, and sending that output back through my RME interface made it difficult to synch overdubs with a bed loop.
When I bludgeoned the latency down to 5 msec (my mental image of latency reduction is the Japanese arcade game āWhack a Moleā), rhythmic loops once again became easy. And, when playing WindSynth, it feels (to paraphrase Matt Traum) as if I am singing the music directly out of my breath. This was (pre-)echoed in a post by Patrick Stinson over 8 years ago:
āDespite the word on the street, a latency of 8-9 ms round trip is not acceptable for live work! ā¦ It is impossible to lock in the loop on time. Itās also not possible to play perfectly in synch with a ping-pong delay.ā
This arc of experience leads us to the next big learning:
*** Latency perception / tolerance is highly individual
Style and genre of play, ability to anticipate or mentally adjust your playing to a given latency, experience of the player ā¦ and many other things mean that there is no absolute āacceptableā latency for all players and situations.
*** āItās an audio interface too!ā
Audio units that have audio interfaces as an auxiliary feature (such as Boss Loopers and inexpensive digital-capable mixers) can introduce significant latency. You can easily see this from the minimum buffer sizes offered by the associated ASIO drivers.
*** Identify and understand the components of latency
Iāve learned to distinguish between:
-
Input Latency - the time to get an external audio signal into the DAW, including A-to-D conversions (ADCs) and input sample buffers.
-
Output Latency - the time to convert an outgoing digital signal to an external audio signal into the DAW, including D-to-A conversions (DACs) and output sample buffers.
-
Software Latency - the time to render an incoming MIDI or audio signal to an output digital signal.
-
RTL - āRound Trip Latencyā - the total time from input signal, through the DAW, to output signal.
On mis-understanding I had early on was my thinking regarding MIDI. I had thought that, since it was digital, it would not be subject to input latency. Not true! See the section on āMIDI Quantizationā below.
*** Routing
Consider routing digital units that augment the direct sound (delay, reverbs, loopers) as sidechains rather than as inserts. These digital units can introduce significant latency on the dry sound path - each has itās own RTL.
*** Hidden Buffers
Look beyond buffer sizes for predicting latency. Interfaces often have āsafetyā or completely hidden additional buffers.
*** Direct Monitoring
Make use of ASIO direct monitoring setups where possible to dramatically reduce latency. Some vendors have custom implementations of direct monitoring such as TotalMix routing in the RME poduct line.
However, realize that your mixing may get more complex if you use some flavor of Direct Monitoring. You may need a hybrid system that allows you to control the mix in your DAW and the Direct Montoring system in parallel. Creative use of MIDI and external MIDI Controller can help. I also use internal MIDI commands from C3 bindings sent over loopMIDI to change the direct monitoring configuration of my interface as needed between songs in my set list.
*** Sample Rate
Carefully selecting a Sample Rate for your audio interface can improve latency - sometimes significantly. If you change from, say, 44.1kHz to 48kHz, many audio interfaces will still offer the same choices of buffer sizes. So, if you simply change the sample rate, you can get an 8.1% improvement in latency.
However, I have found that latency with many of my Kontakt sound libraries improved far more in some cases. With libraries that were recorded with 48kHz samples, changing from 44.1 to 48kHz improved latency over 18%. Most sound library producers will state the sample rates associated with each of their sound libraries.
Increasing sample rates beyond 48kHz can be problematic. The additional audio samples bring additional data requirements on all other parts of the software signal path, and host CPU load increases. Higher sample rates can also raise the noise floor of your audio interface.
*** MIDI over USB vs Serial
I have tested MIDI over USB to be marginally faster, but have higher jitter, than MIDI over Serial lines (i.e. with DIN5 connectors). Testing was done on dedicated USB lines - latency and jitter of MIDI over a busy USB with other traffic may be far worse.
*** MIDI Quantization
Incoming MIDI traffic tends to be āquantizedā into blocks by DAWs. From this post [Does incoming MIDI go through the ASIO Sample Buffer?] by @Torsten:
āAll MIDI input is processed in blocks in parallel to audio input, and then forwarded along the processing chain. MIDI plugins always get a buffer-load of MIDI commands to process, just like audio plugs get a buffer-load of samples to process - in fact, there is no architectural difference between MIDI and audio plugins - they are just plugins that process their input in chunks of āsample buffer sizeā.ā
In practice, I have found that C3 buffers MIDI in blocks on 1.00 msec boundaries, while Reaper tends to run in blocks of about half that duration.
*** Jitter
Mind the jitter - the variation in latency from note to notes. Jitter can be more unsettling that latency, especially for percussionists.