Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 04-15-2018, 06:53 PM   #1
thirstyear
Human being with feelings
 
Join Date: Mar 2010
Location: Colorado, USA
Posts: 10
Default 5.78 (and before) MIDI send/ piano roll editor bug

This one drove me nuts for awhile...

Reaper 5.78, Win 8.1 64-bit

Play back problem when piano roll editor is open on a midi track item residing on a track with Pre-fx sends to other instrument tracks

To recreate:
1. create 4 virtual instrument tracks, placing a VI of your choice in the FX of each track.
2. record enable one of the tracks (Track 1 here for simplicity), and record some MIDI
3. Open the IO configuration for Track 1, and create a new send to each of the other tracks. Configure sends as Pre-FX (since it's MIDI we're sending)
4. Play it, and listen to the awesome "stack" you created in previous steps.
6. Now open the piano roll editor on the midi item on track one, and play again. Listen to total chaos as audio glitches, jumps around, etc

This is definitely related to Track 1 having the midi sends. I can copy the midi track item (as pooled or unpooled) to the other instrument tracks, eliminate the sends, and open a piano roll on any or all tracks, and it plays fine.
thirstyear is offline   Reply With Quote
Old 04-20-2018, 12:46 PM   #2
thirstyear
Human being with feelings
 
Join Date: Mar 2010
Location: Colorado, USA
Posts: 10
Default a bit more on MIDI editor/audio glitching w/ sends

So, playing around with this, I've found some interesting things. I thought this might be related to an issue (https://forum.cockos.com/showthread.php?t=205752) RCJacH posted about audio glitching when MIDI editor is open, and tried enabling anticipative FX processing when MIDI editor open. That doesn't help - or if it does, only very minimally. Interestingly, what I DID find is that the problem only seems to occur if any of the tracks are record armed. It doesn't matter what track - the "master" providing the sends or the tracks with receives - are armed, if any are armed, the glitching occurs, sometimes even with MIDI editor not open. Disarm all involved tracks, no glitching. In addition, it "seems like" - not fully proven to myself yet - that an instantiation of Falcon on any of the tracks makes the issue far worse (Falcon is admittedly a bit of a CPU pig, but without the sends/receives, no issues until there's a whole lot more going on in the project.)
thirstyear is offline   Reply With Quote
Old 04-20-2018, 12:59 PM   #3
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,937
Default

Anticipative processing is disabled on tracks – and their sends/receives – armed for recording (REAPER can't possibly predict ahead of time what you haven't played yet ). Try increasing your block size (Preferences > Audio > Devices) to give your computer enough time (latency) to process your VSTi and effects in real-time.

You can get more insight on the real-time (RT) CPU usage and the longest time it took to process a full block (versus the deadline before you get glitches) in the Performance Meter window.


Last edited by cfillion; 04-20-2018 at 01:07 PM.
cfillion is offline   Reply With Quote
Old 04-20-2018, 01:12 PM   #4
thirstyear
Human being with feelings
 
Join Date: Mar 2010
Location: Colorado, USA
Posts: 10
Default

AHA! explains why Anticipative FX enabling doesn't help. I am still at a complete loss, though, why a few MIDI sends should totally glitch out resulting audio. It only takes a few "connected" tracks to kill things, while when using pooled or unpooled midi items midi items on target tracks, rather than sends, i could stack up 20 or 40 or 60 VIs (depending on what VIs, of course) with zero issues... makes no sense to me whatsoever. I have never experienced this issue when sending audio.
thirstyear is offline   Reply With Quote
Old 04-20-2018, 01:26 PM   #5
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Realtime monitoring a MIDI track which ends up with a send chain to a number of tracks, it all gets assigned to the main audio thread (so, single core only). It's not a problem to overload that core if you have heavy plugins going on (yeah Falcon is one of them for sure).

There's an option in Preferences->Audio->Buffering that enables anticipative processing for tracks with open MIDI editors. It increases audio preview latency when inputting notes, but it should definitely help with CPU.


In your example, you basically sent MIDI from track 1 to tracks 2, 3 and 4, and if all 4 tracks had something heavy like Falcon, you have 4 instances of Falcon happening on one core only. Of course it will fall over. It also shows why it works fine with pooled MIDI items without any sends - then tracks are executed in parallel, each one gets its own thread.
EvilDragon is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 05:05 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.