I upgraded my PC to a core i9 processor and an msi motherboard with 32GB of RAM. I had the builder install a Rednet PCIe-R Dante card.
Once set up, Reaper reported via Rednet control’s ASIO driver, that my round-trip latency is 1.3ms at 32 samples:
While this is very good and in practice, it’s really impossible to hear this small amount of latency, I was curious to explore ways to improve this latency as being an old school engineer, I don’t bounce or submix tracks in the DAW. All of those operations, I do though the console and I add whatever FX/EQ/Dynamics I need to the submix. That being the case, those kinds of submixes do add latency as the audio has to come from the DAW, go through the console and then back into the DAW again. The recorded submixed tracks are behind by that amount. Sure, you can manually move tracks if you like, and it’s true that in the vast majority of cases you won’t even notice it. I am, however fascinated by the Dante networking technology in conjunction with Reaper’s latency compensation, and I really wanted to see just how good I could get it. Even at 1.3ms, it’s pretty much like working with a 2″ analog tape machine.
Before we get into that testing and refinement process, let’s take a look at what Dante Controller is reporting for network device latencies:
This is the X-Dante expansion card installed in the Behringer X32 console. As you can see, Dante Controller is reporting as incredible average of 89 microseconds latency. The peak latency is 125 microseconds.
This is the Rednet PCIe-R card as reported in Dante Controller. Again, an incredible average of 81 microseconds latency. Peak time is even better than the X-Dante number. This really does speak well of the Rednet PCIe-R card’s Dante processing capability.
As shown above, the base setting on both devices is 250 microseconds. So, where is the 1.3 ms latency as reported by Reaper and the ASIO driver coming from? The ASIO driver is apparently adding latency. I made sure that that the Focusrite controller was set for the minimum sample size. Also, I did not set a block size (samples) in Reaper but it reports 32 samples. Manually changing the block size to 16, or even 8 did not have any impact on ASIO reporting. Leaving the block size unchecked, Reaper sets itself at 32 samples. My computer has not issues handling those block sizes.
I decided to turn off “Use audio driver reported latency” and do some testing. In this example Reaper options menu, under Recording there are options to manually add milliseconds and samples to the processed audio.
The first thing that needs to be tested is the actual round-trip latency though the console. This round trip is measured by Reaper and a suggested number of milliseconds and/or samples is put into the appropriate box by Reaper, where you may Apply it or not.
Doing a loop back test in Reaper with a console is very easy, and considerably safter than plugging a patch cable from the output to the input of a standard interface. Here’s how to do a loopback test in Reaper using a console:
Pick a track in Reaper and add the Reainsert plugin to that track. Please note that your Routing Matrix must be properly configured to route Reaper tracks 1:1 with console card inputs. The Reaper Master Bus is not used in this case (and in my case, the Master Bus is never used in my muititracking environment).
In the Reainsert plugin, select a source channel (Hardware Sends) and then a channel for the L/R bus (Hardware Returns). You can do both channels if you like for stereo, but it doesn’t matter. Make sure that the console channel is set at unity and put the channel on the Stereo bus. Bring the Stereo fader up to unity. Mute your monitors and press the “Ping detect” button. The plugin will send a blip of audio from your DAW on the source channel to your console. You should see the ping on the console channel meter and also the main L/R meter, as well as in the plugin itself.
Now take a look at the samples Reaper has suggested in the “Additional Delay Compensation” Put that number into the Output manual compensation field in the Recording menu (shown in the previous image above). Press Apply.
Go back to the Reinsert plugin and do the ping detect test again. The results should show “0” samples added, meaning that you have successfully compensated for delay in your system.
This type of delay compensation solves the direct recording latency issue but does not solve bouncing/submixing delays though the console. Solving that issue will require some additional testing and steps to accomplish. But it is well worth the effort and not that difficult at all. One can always zoom into the waveforms and line them up manually. I found that doing submixes and bounces in Reaper though the console never added more than 60 samples to the latency. Honestly, I don’t bother adjusting for that as we are now in the same realm as analog latencies.
I upgraded my PC to a core i9 processor and an msi motherboard with 32GB of RAM. I had the builder install a Rednet PCIe-R Dante card.
Once set up, Reaper reported via Rednet control’s ASIO driver, that my round-trip latency is 1.3ms at 32 samples:
While this is very good and in practice, it’s really impossible to hear this small amount of latency, I was curious to explore ways to improve this latency as being an old school engineer, I don’t bounce or submix tracks in the DAW. All of those operations, I do though the console and I add whatever FX/EQ/Dynamics I need to the submix. That being the case, those kinds of submixes do add latency as the audio has to come from the DAW, go through the console and then back into the DAW again. The recorded submixed tracks are behind by that amount. Sure, you can manually move tracks if you like, and it’s true that in the vast majority of cases you won’t even notice it. I am, however fascinated by the Dante networking technology in conjunction with Reaper’s latency compensation, and I really wanted to see just how good I could get it. Even at 1.3ms, it’s pretty much like working with a 2″ analog tape machine.
Before we get into that testing and refinement process, let’s take a look at what Dante Controller is reporting for network device latencies:
This is the X-Dante expansion card installed in the Behringer X32 console. As you can see, Dante Controller is reporting as incredible average of 89 microseconds latency. The peak latency is 125 microseconds.
This is the Rednet PCIe-R card as reported in Dante Controller. Again, an incredible average of 81 microseconds latency. Peak time is even better than the X-Dante number. This really does speak well of the Rednet PCIe-R card’s Dante processing capability.
As shown above, the base setting on both devices is 250 microseconds. So, where is the 1.3 ms latency as reported by Reaper and the ASIO driver coming from? The ASIO driver is apparently adding latency. I made sure that that the Focusrite controller was set for the minimum sample size. Also, I did not set a block size (samples) in Reaper but it reports 32 samples. Manually changing the block size to 16, or even 8 did not have any impact on ASIO reporting. Leaving the block size unchecked, Reaper sets itself at 32 samples. My computer has not issues handling those block sizes.
I decided to turn off “Use audio driver reported latency” and do some testing. In this example Reaper options menu, under Recording there are options to manually add milliseconds and samples to the processed audio.
The first thing that needs to be tested is the actual round-trip latency though the console. This round trip is measured by Reaper and a suggested number of milliseconds and/or samples is put into the appropriate box by Reaper, where you may Apply it or not.
Doing a loop back test in Reaper with a console is very easy, and considerably safter than plugging a patch cable from the output to the input of a standard interface. Here’s how to do a loopback test in Reaper using a console:
Pick a track in Reaper and add the Reainsert plugin to that track. Please note that your Routing Matrix must be properly configured to route Reaper tracks 1:1 with console card inputs. The Reaper Master Bus is not used in this case (and in my case, the Master Bus is never used in my muititracking environment).
In the Reainsert plugin, select a source channel (Hardware Sends) and then a channel for the L/R bus (Hardware Returns). You can do both channels if you like for stereo, but it doesn’t matter. Make sure that the console channel is set at unity and put the channel on the Stereo bus. Bring the Stereo fader up to unity. Mute your monitors and press the “Ping detect” button. The plugin will send a blip of audio from your DAW on the source channel to your console. You should see the ping on the console channel meter and also the main L/R meter, as well as in the plugin itself.
Now take a look at the samples Reaper has suggested in the “Additional Delay Compensation” Put that number into the Output manual compensation field in the Recording menu (shown in the previous image above). Press Apply.
Go back to the Reinsert plugin and do the ping detect test again. The results should show “0” samples added, meaning that you have successfully compensated for delay in your system.
This type of delay compensation solves the direct recording latency issue but does not solve bouncing/submixing delays though the console. Solving that issue will require some additional testing and steps to accomplish. But it is well worth the effort and not that difficult at all. One can always zoom into the waveforms and line them up manually. I found that doing submixes and bounces in Reaper though the console never added more than 60 samples to the latency. Honestly, I don’t bother adjusting for that as we are now in the same realm as analog latencies.
-mjk-