Topic: Latency Free Hardware Inserts in Reaper

Im an avid RME fanboy. I simply cannot hide it. I've been on the RME train for over a decade.

It occurred to me that Ive been spending alot of my time phase aligning hardware inserts when I honestly did not have to.

RME's Delay reporting mechanism doesn't work. It never has. in hardware Loopbacks don't really help in all situations and I honestly needed a permanent solution.   

The problem was in complex routing, I like to sprinkle hardware inserts between plugins, between other hardware inserts etc... Thing is, as far as I knew adding too many hardware inserts and plugins in a complex way would bring about delays and strange phasing issues.. Well, kiss those days good bye, I have a solution

This applies to Reaper, if your in another DAW, sorry I'm clueless.

So here's how its done,
The first thing we have to do is open reapers preferences (Options/Preferences)
Now find "recording" from the list on the left hand side (audio/recording)

Here is where we do something completely unintuitive, yet necessary for RME devices; UNCHECK USE DRIVER REPORTED LATENCY... set all of your manual offsets to 0.

Now, still inside of preferences on the list on the left find Track/Send Defaults (under project)

You will see a "record config" option. click on the chosen input and check "Preserve PDC delays monitoring in recorded items"

Apply and click OK

Select the track you wish to play around with and create an empty track underneath. Route your signal to that track

Now.. all you have to do is use the reainsert plugin on the empty track, bypass the hardware (physically in real life) and ping it once. Right click the record button (the red circle on the side of the track) and select  "Record: Output / Latency Compensated"

Arm the track, press record and boom, No latency, regardless how many instances of hardware or software inserts you have. Reaper takes care of the Latency, you can rest easy knowing your material will be perfectly in phase.

Thats it, open as many hardware or software inserts as youd like, stack em as high as you want.. reaper will automatically compensate any and all delays. 

This method works so well, you can NULL the original signal, all without entering a manual offset, independent of how many hardware and software inserts you have stacked on the track.

Once you've set it up once, it keeps working forever.
RME's latency reporting is either non existent or broken, idk. I was working through it for a long time, but I decided enough was enough. Spend some time trying everything I could think of until I did this..

Now i can mix and match hardware and software and not worry at all about latency. Its perfect!

Re: Latency Free Hardware Inserts in Reaper

great and intersting topic

Ableton users???

3 (edited by sprychasm 2021-09-19 10:29:46)

Re: Latency Free Hardware Inserts in Reaper

I also use Reaper and also use the same method for processing with hardware in sessions, though you may not have to change the latency compensation in the Reaper preferences menu. Instead, when sending the original track (with ReaInsert instance, here also pinged for added analog i/o latency compensation) into the recording armed track (the hardware print), I set the track record-input drop down menu to the normal "record output (stereo)" selection without adding adjustment for latency.

I don't think the RME unit is wrong at adjusting, but rather that the RME interface is calculating its own latency offset according to sample rate, buffer size, and other stuff, whereas simultaneously Reaper and the CPU also have the buffering and adjustment for all the PDC that stacks up when processing each software plugin. Things like changing the frequency rate or block size when hardware inserts in a session were already accurately latency compensated for both RME and Reaper will then dramatically lose functional accuracy of their latency adjustment.

Regardless, nice work figuring out a fix. I'll try your approach as soon as I have my audio desk set up again after I move!

Re: Latency Free Hardware Inserts in Reaper

Hi! For me, using Ping detect for Additional Delay Compensation in ReaInsert works properly, achieving total nullification in phase cancel testing while maintaining synchronisity inside REAPER (for any sidechain nodes etc). Pinging the latency with ReaInsert from analog output to analog input via hardware loopback gives exactly the same number as the driver reported latency. At least with UFX+ and UCX, although there could be some difference when using separate AD/DA converters; to my understanding the driver reports entire roundtrip latency including the internal converters.

This is true also for chaining multiple hardware inserts. But instead of stacking individual ReaInsert plugins in REAPER, I build the hardware effect chain in TotalMix as far as possible, and then use the chain start and end I/O points in a single instance of ReaInsert, and again latency pinging achieves total null in phase cancel test, and software monitoring latency remains as low as possible.

I don't think it's possible to work around the additional latency introduced when stacking multiple ReaInserts in one signal chain as long as the audio itself passes through REAPER and then back to hardware without breaking phase sync between tracks? To my understanding, this is true for all DAWs; passing audio from DAW to external hardware and back inheritly introduces system latency on each pass. Also, REAPER (or any other DAW) has no way of 'knowing' the additional latency introduced from additional routings done in TotalMix and/or external hardware. Except via pinging the latency, of course, and this seems to work properly.

The problem I've encountered with ReaInsert is while 'rendering' individual tracks with ReaInsert hardware inserts. In REAPER I also do this by setting the track recording source as track output (normal mode, not latency compensated), then record the track onto 'itself' as a new take, and after that just bypass the FX chain. Although the latency is compensated while listening/monitoring after restarting the playback, sometimes the recorded track output doesn't get placed correctly resulting in phase/time offset between the original source and recorded output.

But this might also be buggy behavior with ReaInsert. For example, the FX chain latency based on driver reported latency could be 201 samples, and ReaInsert Ping detected additional latency is 9 samples. For some reason, REAPER might compensate the recording with 201 sample offset, instead of the correct value of 210 samples. This can be seen in the track FX chain total reported latency in REAPER, which might show the driver reported latency (or previous manual adjustment) for ReaInsert(s), and not take the current Additional Delay Compensation of ReaInsert(s) into account even after restarting playback, as suggested in ReaInsert UI.

This can be 'fixed' quite easily. After setting up all the routings, ReaInserts and pinging the latencies, simply disabling (bypassing) the entire FX chain in REAPER, and then re-enabling it makes REAPER now show the correct Plugin Delay Compensation values in the FX chain, and now also recording track output gets compensated correctly.

Note, when doing render/freeze/bounce-in-place/commit with hardware inserts in REAPER by recording track output, choosing the latency compensated output recording will compensate the recording into a position after monitoring latency. Which naturally introduces 'latency' in form of positioning offset in the source item. Choosing the non-compensated output recording will maintain the original source position.

In my case, default/stock settings in REAPER seem to work correctly, without any need for manually adjustments. Only the ReaInsert plugin itself needs 'manual' attention, requiring to be pinged and finally 'restarting' the FX chain after routings/changes are done, just to be sure.

5 (edited by Skoo 2021-09-24 19:21:21)

Re: Latency Free Hardware Inserts in Reaper

Reaper buffers internally. If you follow the steps i layed out here you will be able to stack your plugins/hardware inserts to your hearts content.