|
|
|
05-07-2021, 02:31 AM
|
#1
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Reapers handling of Realtime Audio - for the devs
Recently i did many tests in Reaper where i use long fx chains and big sessions with serial signal flow through many CPU hungry plugins, and tweaking the buffer settings etc. It's relatively easy to get dropouts in reaper with those sessions, even with high buffer settings/ reander ahead settings.
But when i offload those plugins using the AudioGridder Server solution on the same machine in local mode, i can run so many plugins in serial until the CPU hits 100%. Perhaps the reason is that i can choose very big buffers in AudioGridder? In short AudioGridder sends the audio stream from its client plugin into the server process outside of the DAW (also possible over LAN) and sends the processed signal back into the client plugin.
I wish Reaper could handle realtime audio for Mixing to the limit of the CPU without dropouts, so i can use AudioGridder for its real purpose over LAN only.
|
|
|
05-07-2021, 02:38 AM
|
#2
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,781
|
In Reaper there is ReaMote for having plugins run on additional boxes. -> https://reaperblog.net/2018/12/reamote_tutorial/
Pro: extremely transparent and easy to use
Con: you need to decently install the plugin on both boxes in exactl the same forders (if it uses multiple file). Might produce license issues.
-Michael
|
|
|
05-07-2021, 03:16 AM
|
#3
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,781
|
Quote:
Originally Posted by musicgreator
I wish Reaper could handle realtime audio for Mixing to the limit of the CPU without dropouts, so i can use AudioGridder for its real purpose over LAN only.
|
I don't really understand your meaning.
As rendering audio in realtime necessary results in "peak" CPU usage, especially with multi Core hardware, it is very normal that you will get dropouts etc far before CPU reaches 100%. Even reaching 50% only when very lucky. Supposedly when introducing AG on the same machine, just results in higher latency / overall buffer size. That should be doable by settings in reaper and/or the audio driver (ofg course never use the built-in audio hardware of a PC, but - if on Windows - an ASIO aware device).
Rendering to a file ("offline") of course never will suffer from such problems.
-Michael
|
|
|
05-07-2021, 03:38 AM
|
#4
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by mschnell
In Reaper there is ReaMote for having plugins run on additional boxes. -> https://reaperblog.net/2018/12/reamote_tutorial/
Pro: extremely transparent and easy to use
Con: you need to decently install the plugin on both boxes in exactl the same forders (if it uses multiple file). Might produce license issues.
-Michael
|
I alwas had issues with ReaMote it never worked reliably.
|
|
|
05-07-2021, 03:42 AM
|
#5
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by mschnell
I don't really understand your meaning.
As rendering audio in realtime necessary results in "peak" CPU usage, especially with multi Core hardware, it is very normal that you will get dropouts etc far before CPU reaches 100%. Even reaching 50% only when very lucky. Supposedly when introducing AG on the same machine, just results in higher latency / overall buffer size. That should be doable by settings in reaper and/or the audio driver (ofg course never use the built-in audio hardware of a PC, but - if on Windows - an ASIO aware device).
Rendering to a file ("offline") of course never will suffer from such problems.
-Michael
|
I reached the limits of the buffers of Reaper and the audio driver already. It's still not enough to prevent dropouts (my system is actually great in terms of CPU latency)
But in combination with AudioGridder it works. Don't know if it's the additional buffer that makes it work or a better handling of the CPU.
But for some reason the Audio latency in this scenario with AudioGridder is also not horrible, maybe 10 seconds or so. But i rather have a longer latency than having to freeze and unfreeze tracks ll the time.
Perhaps getting rid of certain buffer limits in Reaper would make it work.
|
|
|
05-07-2021, 04:04 AM
|
#6
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,781
|
Very likely it's lust additional buffers.
I have no idea where the limits you see result from.
A driver that does nothing but adding latency would be a rather simple thing. IMHO it could be likely that something like that exists.
Wild guess:
You might try to insert something like ReaPack -> +/delay in the monitor FX chain and see what happens, if you set same to a decent latency/delay.
-Michael
|
|
|
05-26-2021, 09:40 AM
|
#7
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by mschnell
Very likely it's lust additional buffers.
I have no idea where the limits you see result from.
A driver that does nothing but adding latency would be a rather simple thing. IMHO it could be likely that something like that exists.
Wild guess:
You might try to insert something like ReaPack -> +/delay in the monitor FX chain and see what happens, if you set same to a decent latency/delay.
-Michael
|
I quickly tried the channel delay plugin with no success.
|
|
|
05-26-2021, 10:02 AM
|
#8
|
Human being with feelings
Join Date: Apr 2007
Location: Yorkshire, UK
Posts: 2,074
|
Have you done the technique of removing everything from the Reaper master track(channel).
Make yourself a new master in Track 1, put your mastering fx on that track and route all the audio from all your tracks and busses to this new "sub master". Only route this track to the Reaper master track.
Also, make sure NO other track or buss is routed to the Reaper master (to avoid doubling).
Reaper uses the same cpu in your system to handle the master FX chain AND the thread to process the audio buffers out to your device.
If your track structure allows, a quick dirty way of doing this, is to insert Track 1, make this a folder track, stick another track at the end of all your existing tracks and make that one the last in folder. Now all you then do is chuck your master chain FX on the track 1, as the parent folder, and then no need to worry about your other tracks getting routed to the reaper master.
Worth a go.
dB
|
|
|
05-26-2021, 10:12 AM
|
#9
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,379
|
there's something about how Reaper handles bussing tracks around that's causing problems.
I recently did an exact replication of a mix I was doing in Cubase in Reaper. exact audio files, exact FX and exact routing of busses, subgroups ,VCA's FX sends etc
In Cubase @1024 buffer the performance meter was showing 99% but the GUI was smooth and responsive and the project was glitch/crackle free.
I built the project in Reaper and used the same audio settings but the Real time performance meter in Reaper was showing 147% and when I hit play it just crackled and the GUI almost froze.
If I take a reaper project and just start adding tracks with AA plugins on I can get past 100 and the cpu meter is still fine and all is good, better than Cubase in fact...however....... and I think this is what the OP is trying to ask/say: as soon as you start routing and bussing as you would in a real world project it all falls apart in Reaper, in Cubase it always stays fine.
I've been a supported of Reaper since V.1 so I'm only saying this so perhaps things can get sorted out.
M
|
|
|
05-26-2021, 10:16 AM
|
#10
|
Human being with feelings
Join Date: Apr 2007
Location: Yorkshire, UK
Posts: 2,074
|
Indeed ... if there is an issue with bussing (and other complex routing), then I agree, it may be something Justin & Co. need to look at.
Hopefully they will be monitoring the threads. They usually do!
dB
|
|
|
05-26-2021, 10:28 AM
|
#11
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by Dr Bob
Have you done the technique of removing everything from the Reaper master track(channel).
Make yourself a new master in Track 1, put your mastering fx on that track and route all the audio from all your tracks and busses to this new "sub master". Only route this track to the Reaper master track.
Also, make sure NO other track or buss is routed to the Reaper master (to avoid doubling).
Reaper uses the same cpu in your system to handle the master FX chain AND the thread to process the audio buffers out to your device.
If your track structure allows, a quick dirty way of doing this, is to insert Track 1, make this a folder track, stick another track at the end of all your existing tracks and make that one the last in folder. Now all you then do is chuck your master chain FX on the track 1, as the parent folder, and then no need to worry about your other tracks getting routed to the reaper master.
Worth a go.
dB
|
Yes, this seems to be required. Thanks also for the idea with the folders.
|
|
|
05-26-2021, 10:29 AM
|
#12
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by norbury brook
there's something about how Reaper handles bussing tracks around that's causing problems.
I recently did an exact replication of a mix I was doing in Cubase in Reaper. exact audio files, exact FX and exact routing of busses, subgroups ,VCA's FX sends etc
In Cubase @1024 buffer the performance meter was showing 99% but the GUI was smooth and responsive and the project was glitch/crackle free.
I built the project in Reaper and used the same audio settings but the Real time performance meter in Reaper was showing 147% and when I hit play it just crackled and the GUI almost froze.
If I take a reaper project and just start adding tracks with AA plugins on I can get past 100 and the cpu meter is still fine and all is good, better than Cubase in fact...however....... and I think this is what the OP is trying to ask/say: as soon as you start routing and bussing as you would in a real world project it all falls apart in Reaper, in Cubase it always stays fine.
I've been a supported of Reaper since V.1 so I'm only saying this so perhaps things can get sorted out.
M
|
That's exaclty my experience. The only reason i need to do those buffer tricks, is because Reaper is crackling very early when using real-world routing and bussing.
|
|
|
05-26-2021, 10:30 AM
|
#13
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by Dr Bob
Indeed ... if there is an issue with bussing (and other complex routing), then I agree, it may be something Justin & Co. need to look at.
Hopefully they will be monitoring the threads. They usually do!
dB
|
I reall hope they do. Reaper has so much potential!
|
|
|
05-26-2021, 01:50 PM
|
#14
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,781
|
Quote:
Originally Posted by musicgreator
when using real-world routing and bussing.
|
You should try to find a routing that shows the problem vs one that does not and post the project files in the "bugs" forum.
(E.g. I have been astonished that several testers confirmed that Folders cost by far more performance than explicit routing between tracks in a single layer.)
-Michael
|
|
|
05-27-2021, 02:17 AM
|
#15
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,379
|
Quote:
Originally Posted by mschnell
You should try to find a routing that shows the problem vs one that does not and post the project files in the "bugs" forum.
(E.g. I have been astonished that several testers confirmed that Folders cost by far more performance than explicit routing between tracks in a single layer.)
-Michael
|
as I copied the routing in my Cubase project exactly as I could I didn't use any folders at all and just set up aux track/Busses/FX tracks and used link for VCA's etc
one thing I noticed as well, there's no visual way of seeing that a send is pre or post fader in Reaper. In Cubase the default send colour changes from blue to orange so you can see at a glance if it's pre or post farer send.
Is this possible?
Do i need another thread? feature request?
M
M
|
|
|
06-06-2021, 11:45 AM
|
#16
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by norbury brook
as I copied the routing in my Cubase project exactly as I could I didn't use any folders at all and just set up aux track/Busses/FX tracks and used link for VCA's etc
one thing I noticed as well, there's no visual way of seeing that a send is pre or post fader in Reaper. In Cubase the default send colour changes from blue to orange so you can see at a glance if it's pre or post farer send.
Is this possible?
Do i need another thread? feature request?
M
M
|
How do your buffer settings in Cubase compare to Reaper? Does Cubase offer higher buffer values?
|
|
|
06-07-2021, 09:06 AM
|
#17
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,379
|
Quote:
Originally Posted by musicgreator
How do your buffer settings in Cubase compare to Reaper? Does Cubase offer higher buffer values?
|
No exactly the same as the buffers come from the audio device settings which was the same.
Cubase has ASIO guard but that only works with rec armed/VSTi tracks so mixing it doesn't come into play.
I can take a look again at that and see if it is doing anything when just mixing though.
M
|
|
|
06-08-2021, 03:29 AM
|
#18
|
Human being with feelings
Join Date: May 2017
Posts: 3,204
|
Quote:
Originally Posted by norbury brook
one thing I noticed as well, there's no visual way of seeing that a send is pre or post fader in Reaper. In Cubase the default send colour changes from blue to orange so you can see at a glance if it's pre or post farer send.
Is this possible?
Do i need another thread? feature request?
M
|
Set up one send of each kind, then look at the routing matrix.
Each type of send has a different graphic symbol in the matrix box.
|
|
|
06-08-2021, 08:35 AM
|
#19
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,379
|
Quote:
Originally Posted by Philbo King
Set up one send of each kind, then look at the routing matrix.
Each type of send has a different graphic symbol in the matrix box.
|
thanks , that's another window to have open though it would be simpler to do it like cubase with a different colour on the send for pre/post fader.
M
|
|
|
06-08-2021, 08:39 AM
|
#20
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,379
|
Quote:
Originally Posted by musicgreator
How do your buffer settings in Cubase compare to Reaper? Does Cubase offer higher buffer values?
|
OK, went back to this today in between projects.
Actually it is in fact ASIO guard.
It is on and using very Large buffers except for record armed tracks, of which there are none in a mix project so that's the difference.
The Actual latency from your sound card is only used when recording otherwise at high settings ASIO guard is running 98ms latency in the background which of course makes a HUGE difference in performance.
It's a hybrid audio engine and works very well.
Does reaper have anything similar? it's been a while.
M
|
|
|
06-08-2021, 08:57 AM
|
#21
|
Human being with feelings
Join Date: Nov 2010
Posts: 1,744
|
Ramses did some good tests here (I joined in) testing how Reaper's performance suffers while using nested folders.
Although his is an extreme example it does demonstrate the issue....
https://forum.cockos.com/showthread.php?t=241308
|
|
|
06-08-2021, 09:13 AM
|
#22
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,379
|
actually I set my audio device to 2048 the max it would go but still no go. I then turned off anticipative FX and lo and behold the project played back cleanly.
Stopping and starting causes some garbled sound to begin with while it buffers but after that it's fine.
Interesting discovery.
Any other tips?
M
|
|
|
01-23-2022, 10:02 AM
|
#23
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
I found a solution, that seems to work for me:
I use JBridge in order to bridge my VST2 64Bit plugins.
I use JBridge with the following modes:
- Performance mode
- Auto-Close GUI
- GUI Always on top
- audioMasterGetTimeHack
The Auto-Close GUI and GUI Always on top seem to be necessary for Reaper in order to having settings stored and closing the GUI without problems.
Using JBridge i am able to fully utilizing my CPU without any dropouts at 100% CPU usage, also for serial signal chains. This way i can even have hundrets of plugins on onde channel. That's really amazing!
I briefly tried Reaper's own "dedicated process" mode, but the test failed, because it took forever to load the test session with that mode active, so i quit the test.
I should mention, that i also tweaked the buffering settings in Reaper, i use the highest "anticipate FX processing" buffer. Didn't test with default settings yet.
It would be amaizing, if Reaper itself would be capable of that performance!!
Last edited by musicgreator; 01-24-2022 at 01:59 AM.
|
|
|
01-23-2022, 02:47 PM
|
#24
|
Human being with feelings
Join Date: Jul 2018
Posts: 101
|
Quote:
Originally Posted by musicgreator
It would be amazing if Reaper itself was capable of that performance!!
|
I may be wrong but I think the main reason why something like AudioGridder or jBridge(or an updated version of Reamote) hasn't been incorporated into REAPER yet is that the devs themselves don't ever get to feel the pain of trying to run big mix sessions with CPU-heavy and/or high-latency plug-ins and many bussing and side-chain routings. Glitches, drop-outs, stuttering, graphics locking up etc.
I further believe that many users' sessions look more like Kenny Gioia tutorials with just handful of tracks with stock plug-ins.
I'm pretty sure that it takes a lot more coding power to keep a DAW running over 15+ years than to code an "outsourcing" solution so it's just a matter of priorities rather than ability.
One lives in hope...
|
|
|
01-23-2022, 03:37 PM
|
#25
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,781
|
Quote:
Originally Posted by musicgreator
I use JBridge in order to bridge my VST2 64Bit plugins.
|
So you use 32 Bit Reaper ? Why ?
And you suggest JBridge would offer a performance improvements aboive Reaper's built-in Bridge ? Weird...
-Michael
|
|
|
01-23-2022, 07:46 PM
|
#26
|
Human being with feelings
Join Date: Jul 2018
Posts: 101
|
Quote:
Originally Posted by mschnell
So you use 32 Bit Reaper ? Why ?
And you suggest JBridge would offer a performance improvements aboive Reaper's built-in Bridge ? Weird...
-Michael
|
No, this is about bridging 64-bit to 64-bit for better performance. jBridge literally has a Performance mode that makes calculations outside the DAW thus improving CPU usage inside it. It works very well for some people depending on their system. I prefer AudioGridder myself.
|
|
|
01-23-2022, 11:28 PM
|
#27
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,781
|
Bridging 64-bit to 64-bit technically does not make any sense at all (for well behaved, VSTs).
Hence the problem you see without it either points to a bug of Reaper's or is a side-effect, e.g. of defining larger buffers.
Bridging 64-bit to 64-bit will certainly decrease the overall performance, but such side effect might allow for less crackles if it allows for increasing latency in order to distribute that performance over longer intervals of time.
Edit:the first sentence is not perfectly true. With multiple VSTs in a track, bridging would allow for them to use different cores. So there might be cases with few active demanding tracks each with many VSTs where it does make sense. Reaper does allow Bridging 64-bit to 64-bit here without introducing JBridge.
-Michael
Last edited by mschnell; 01-23-2022 at 11:33 PM.
|
|
|
01-24-2022, 01:23 AM
|
#28
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by mschnell
Bridging 64-bit to 64-bit technically does not make any sense at all (for well behaved, VSTs).
Hence the problem you see without it either points to a bug of Reaper's or is a side-effect, e.g. of defining larger buffers.
Bridging 64-bit to 64-bit will certainly decrease the overall performance, but such side effect might allow for less crackles if it allows for increasing latency in order to distribute that performance over longer intervals of time.
Edit:the first sentence is not perfectly true. With multiple VSTs in a track, bridging would allow for them to use different cores. So there might be cases with few active demanding tracks each with many VSTs where it does make sense. Reaper does allow Bridging 64-bit to 64-bit here without introducing JBridge.
-Michael
|
Reapers own mode for a dedicated process per VST didn't work in my test (session wasn't done loading after about 30 minutes so i stopped the test). It's apparently the way JBridge gives each VST instance it's own dedicated process and the asynchronus processing allowed through it's performance mode, that gives this performance boost.
A series of VST instances not only happens on a particular single channel, but with advanced mixing sessions, it starts with the source channel, runs through different busses, sidechains and complex routings, until it reaches the master bus. These long audio chains with their dependencies are what chellanges realtime audio and quickly produces audio dropouts. Not with this JBridge or AudioGridder solution, because the processing gets handled differently.
I will do a test with many parallel VST instances of a JBridged plugin to see if it also increases the performance.
Last edited by musicgreator; 01-24-2022 at 02:35 AM.
|
|
|
01-24-2022, 02:00 AM
|
#29
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Here's my settings for JBridge. The following modes need to be activated:
- Performance mode
- Auto-Close GUI
- GUI Always on top
- audioMasterGetTimeHack
Reaper setting: anticipate FX processing, render ahead: 5000ms
Last edited by musicgreator; 01-24-2022 at 06:19 AM.
|
|
|
01-24-2022, 02:57 AM
|
#30
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,379
|
using jbridge or AG locally is just giving you parallel processing where normally it would be serial and more importantly it's adding extra Buffers/Latency which will give you lower cpu readings regardless of any other variable
this is why as default Cubase/logic will out perform reaper on the same project as they have hybrid audio engines. Cubase has ASIO GUard which in effect doubles or triples your set audio buffer. So if your set at 1024 for example in both projects(reaper and Cubase) , Cubase is actually working @3072 buffer unless you record arm a track and then ONLY that track would use 1024. using Jbridge and or AG locally adds extra latency and the ability to parallelize processing.
M
|
|
|
01-24-2022, 03:01 AM
|
#31
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,781
|
Quote:
Originally Posted by musicgreator
Reapers own mode for a dedicated process per VST didn't work in my test...
|
Weird !
In fact, doing a separate process per (critical) plugin, is not a really good idea. Optionally doing a separate OS Thread to exploit more cores, seems a lot more desirable. But Reaper does not offer this, AFAIK.
There are plugins that can be set to use a new thread internally (e.g. ReaVerb).
Quote:
Originally Posted by musicgreator
A series of VST instances not only happens on a particular single channel, but with advanced mixing sessions, it starts with the source channel, runs through different buses, sidechains and complex routings, until it reaches the master bus.
|
I understand that Reaper allocates a CPU thread per track, independent of the routing, i.e. a thread transition is introduced when routing audio from one track to another. But I might be wrong.
This might be the reason why in certain cases using parent tracks provides a lot worse performance than doing the same configuration with explicit routing.
I understand that CPU-wise Process transition is a lot more demanding than thread transition.
-Michael
Last edited by mschnell; 01-24-2022 at 03:08 AM.
|
|
|
01-24-2022, 03:10 AM
|
#32
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,781
|
Quote:
Originally Posted by norbury brook
more importantly it's adding extra Buffers/Latency which will give you lower cpu readings regardless of any other variable
|
Extra latency/buffering should be able to be added by using of a delay plugin (such as ReaPack->+/-delay) or even by setting the delay in the routig setup of all appropriate tracks.
-Michael
|
|
|
01-24-2022, 04:46 AM
|
#33
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by mschnell
Extra latency/buffering should be able to be added by using of a delay plugin (such as ReaPack->+/-delay) or even by setting the delay in the routig setup of all appropriate tracks.
-Michael
|
Did you have any success by adding delay? I tried your tipp of using a delay on the master bus but it didn't help.
|
|
|
01-24-2022, 05:24 AM
|
#35
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Quote:
Originally Posted by ramses
|
This can only occur when using folders in reaper right?
I never used folders, partly because such reports of performance decrease scared me away from it. I unly use the standard track sends.
|
|
|
04-06-2022, 02:32 AM
|
#36
|
Human being with feelings
Join Date: Mar 2012
Posts: 125
|
Hey everyone, i started this feature request for a better audio performance in Reaper. The goal is to be able to use as many plugins as the CPU can handle without getting any audio droppouts, and without it affecting the GUI performance of Reaper, like its possible by using JBridge, but more reliable.
Please give this thread some love, if you too wish this feature to be implemented in Reaper.
https://forum.cockos.com/showthread....52#post2544752
Last edited by musicgreator; 04-06-2022 at 04:30 AM.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 01:34 PM.
|