In this post, I’ll review the important topic of Driver Error Compensation in the recording process. Watch the amazing YouTube video on this subject above. It was made by Gregor Beyerle of PreSonus. While he specifically addresses the PreSonus Studio One digital audio workstation (DAW), this topic is universally applicable to all DAWs.
During overdubbing in the recording process, errors in aligning tracks on the time axis will inevitably occur. These errors are caused primarily due to latency issues. Back “a long time ago” , I provided an overview of what is latency and how does it affect the two recording activities of monitoring and overdubbing.
Latency refers to the buildup of time delays, measured in milliseconds (ms), as digital audio signals pass through the hardware/software of the computer-based recording system. There are four basic contributors to latency:
The issues of latency affecting the monitoring process during recording were discussed in quite a bit of detail in the two posts, Low-Latency Monitoring and Cue Mix Monitoring. In this post, we’ll tackle the issues of latency affecting the overdubbing process during recording.
Overdubbing is the practice of listening to the playback of previously recorded tracks and recording an additional, separate track to the computer audio file that is “in synch” with the previously recorded tracks. The key word here is “in synch” -- timing is everything. Envision the signal flow -- a playback signal originates from the audio file on an external SSD drive and travels all the way to the monitor output on the audio interface. Upon hearing this signal, you play right along with it, hopefully “in synch” . Your new signal at the audio interface input now travels all the way back to the external SSD drive and is recorded on a new track in the audio file. You can imagine that the round-trip latency will “place” the new track data somewhat delayed on the time line from the original playback track – i.e., NOT in synch !
This is where the topic of “Driver Error Compensation” comes in. Driver error compensation is the official name for the correction that your DAW makes to try to overcome this round-trip latency by properly aligning the pre-recorded and newly-recorded tracks on the time axis. A process for “calibrating” your DAW’s driver error compensation is what is presented in the PreSonus video above. This calibration process is called a “loopback test”. This video generated MANY comments, wanting more information on how this works and wondering why such an important topic is buried so deep in the menus of the PreSonus Studio One DAW .
The basic operation is that the DAW “places” the newly-recorded track “backward in time” by an amount estimated by a calculation of the round-trip latency. The “loopback test” provides a correction to this time shift. These corrections (in number of samples (audio) or in milliseconds (MIDI) ) may be positive or negative values, depending on whether the DAW overestimated or underestimated the round-trip latency. An example of aligning two audio tracks using driver error compensation was shown back in that early post on latency.
Here, I want to go a step further and bring into play instrument tracks. Multi-tracking of MIDI instruments is probably the most popular activity done in home music recording studios. MIDI is an acronym that stands for Musical Instrument Digital Interface. It's a way to connect devices that make and control sound — such as synthesizers, samplers, and virtual instruments (software). In many home studios, virtual instrument (VI) plug-ins populate a large number of instrument tracks in the DAW. By overdubbing, you can record each instrument track separately, and build up the entire sound that you want -- a symphony orchestra if you’re patient and talented enough !
So, in order to have all the MIDI tracks “in synch” after all the overdubbing, we can go through another “loopback test” . Here, the virtual instrument Mai Tai (synthesizer software plug-in) is recorded on an instrument track, and the monitored sound produced in the DAW is fed back to an audio interface input (via a short audio cable) and recorded on an audio track. As shown in the figure below, the alignment of the MIDI notes and the audio waveforms is pretty good.
Upon closer inspection, however, it can be seen that the audio waveform needs to be shifted back in time by approximately 2.8 milliseconds (ms).
By typing a 3 ms value (DAW only accepts integer values) in the MIDI Record Offset box in the Advanced Settings of the PreSonus Studio One DAW Preferences menu, we can achieve an even better alignment between the MIDI note and the audio waveform, as seen here.
The time resolution of the DAW is 1 ms, so that means that the alignment should be < 1 ms, but will never be 0 ms.
To listen to this alignment of notes in real time, I’ve played back the two recorded tracks, with the audio track (feedback channel) hard-panned right, and the instrument track (Mai Tai channel) hard-panned left. Listen carefully on earphones -- it’s virtually impossible for the human auditory system to hear a time separation
< 1 ms between the onset of the two notes, one in each ear. It just sounds like one note that is center panned, which is the objective of this driver error compensation exercise.
A Final Note:
The Record Offset value obtained from a loopback test is dependent on the settings used for your recording -- such as the sample rate, bit depth, and computation precision -- and is particularly dependent on the buffer sizes (Device Block Size and Process Block Size). Also, any FX plug-ins inserted in the audio playback channels should be disabled for this test and not used in the overdub recording. Different Virtual Instrument (VI) plug-ins will certainly have different latencies, too. Hopefully, these different VI plug-in latencies do not vary more than a couple of milliseconds, so that any resulting note misalignments remain undetectable. (Quantizing, a subject for a future post, can help here.) Finally, using a different audio interface (with different I/O drivers) will definitely affect latency. So, bottom line -- if you change any of these things, a loopback test should probably be run again to get a more accurate value for the Record Offset.