Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER General Discussion Forum

Reply
 
Thread Tools Display Modes
Old 06-24-2019, 04:40 AM   #1
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 347
Default Feedback routing with bus tracks, doesn't send MIDI to plugin

Hi all,


I'm experiencing a problem but I don't know if it is a matter of configuration.


I'm using Vienna Ensemble Pro 7 and I want to build midi routing to the VST3 instrument. I want to route audio from the plugin to the same midi tracks so I'm using feedback routing option enabled.


By doing this I found out that if my midi/audio tracks are sent to master everything works, if I sent them to sub-master busses the first track (corresponding to the first track in VEP instance) doesn't send midi to VEP plugin track. If I disable Feedback Routing everything works (except for the audio of course).


I'm using VEP in this example because I'm using it in my template but I'm pretty sure it is the same with every plugin. I see from Reaper that the VEP plugin track doesn't receive MIDI from the first midi routed track. So it is not a VEP fault.


To summarize:


  1. MASTER track
  2. BUS 1 track (send audio to the master / receive audio from midi tracks)
  3. VEP7 VST3 track (receive MIDI from midi tracks / send audio to midi tracks)
  4. Midi track 1 (send MIDI 1/1 to VEP7 track / send audio to BUS 1 track / receive audio from VEP7 track)
  5. Midi track 2 (send MIDI 2/1 to VEP7 track / send audio to BUS 1 track / receive audio from VEP7 track)
  6. Midi track 3 (send MIDI 3/1 to VEP7 track / send audio to BUS 1 track / receive audio from VEP7 track)


and so on...

Here's a picture to better show what I mean:





So what should I do to make it works? Is it a bug?

Thank you.
__________________
Audio: AKG-K240 MKII, Adam A7X, Audient iD22 - Steinberg UR22; Piano: Yamaha P-250 - NI S88 MK1;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is offline   Reply With Quote
Old 06-24-2019, 05:26 AM   #2
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,232
Default

Can you attach a simple project using reasynth that shows the issue? Or if the problem only appears with VST3, using some basic (ideally free so it's easy to test) VST3 synth?
schwa is offline   Reply With Quote
Old 06-24-2019, 05:50 AM   #3
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 347
Default

Quote:
Originally Posted by schwa View Post
Can you attach a simple project using reasynth that shows the issue? Or if the problem only appears with VST3, using some basic (ideally free so it's easy to test) VST3 synth?

I have to find some VST3 useful for the experiment, now I try with reasynth to see if the problems occurs with VST too.


Anyway an update, if I create a fake track and I put it before all other midi tracks (before in the TCP I mean) and from this track I send MIDI (doesn't matter the channel or the bus used) to the VEP track the other works perfectly.


From this I understand that the first track in order in the TCP routed to the plugin doesn't send midi, the other ones works fine.


__________________
Audio: AKG-K240 MKII, Adam A7X, Audient iD22 - Steinberg UR22; Piano: Yamaha P-250 - NI S88 MK1;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is offline   Reply With Quote
Old 06-24-2019, 06:51 AM   #4
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 347
Default

Ok, you need a multi channel plugin, I still didn't find a free one but I tried with omnisphere (VSTi) and I have the same bug.


Definitely not a VEP fault nor a VST3 fault.


Here's the project, on plugin boutique maybe you can find a plugin using trial mode to test it out:


https://drive.google.com/file/d/1xNz...ew?usp=sharing


I think you have for sure a multitimbral synth, use my project and you will find the problem, I insterted a fake track on it, delete it and you'll find that first track doesn't send MIDI (well the right thing to say is that the plugin doesn't receive it).


I tried with ReaSynth too but it is not a multi channel plugin so I don't know how to test it correctly.



Let me know if you need something else.
__________________
Audio: AKG-K240 MKII, Adam A7X, Audient iD22 - Steinberg UR22; Piano: Yamaha P-250 - NI S88 MK1;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is offline   Reply With Quote
Old 06-24-2019, 07:20 AM   #5
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 18,009
Default

I tried it with SampleTank (VST2.4) here. And get similar results.

If I remove the Fake track then the MIDI from the first MIDI track is not received by the VSTi track. It does appear in a MIDI logger on the sending track.

If I move the BUS track down to below the 16 MIDI tracks then both work.
__________________
DarkStar ... interesting, if true. . . . Inspired by ...

Last edited by DarkStar; 06-24-2019 at 07:33 AM.
DarkStar is offline   Reply With Quote
Old 06-24-2019, 08:13 AM   #6
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 347
Default

Quote:
Originally Posted by DarkStar View Post
I tried it with SampleTank (VST2.4) here. And get similar results.

If I remove the Fake track then the MIDI from the first MIDI track is not received by the VSTi track. It does appear in a MIDI logger on the sending track.

If I move the BUS track down to below the 16 MIDI tracks then both work.

I confirm this. I forgot to say that you could also mute the fake track to get the faulty behavior. It is not necessary to delete it.


I did another test, if I put BUS track under my VSTi track it works, if I put it over it does not. In my template of course all BUS tracks are the first ones.


So if you put the BUS track BEFORE the plugin track you have the bug, if you put it after you will not have it.
__________________
Audio: AKG-K240 MKII, Adam A7X, Audient iD22 - Steinberg UR22; Piano: Yamaha P-250 - NI S88 MK1;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is offline   Reply With Quote
Old 06-25-2019, 05:48 AM   #7
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,232
Default

Here's a smaller project that demonstrates the issue using ReaSynDr.

Feedback routing is a special use case and at present, feedback-routed tracks twon't be evaluated correctly in one particular case: if you have a track that has feedback routing and sends MIDI to an earlier (higher in the TCP, lower numbered) track, that track cannot also send to an even earlier track.

In this example, the first MIDI track is sending to the BUS track which is earlier than the FX track, so feedback routing isn't evaluated correctly. If you move the BUS track to below the set of feedback tracks, it will work -- no need for a dummy track.
Attached Files
File Type: rpp Multitimbral Feedback Routing.rpp (6.3 KB, 6 views)

Last edited by schwa; 06-25-2019 at 07:18 AM.
schwa is offline   Reply With Quote
Old 06-25-2019, 07:11 AM   #8
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 347
Default

Quote:
Originally Posted by schwa View Post
Here's a smaller project that demonstrates the issue using ReaSynDr.

Feedback routing is a special use case and at present, feedback-routed tracks won't be evaluated correctly in one particular case: if you have a track that has feedback routing with an earlier (higher in the TCP, lower numbered) track, that track cannot also send to an even earlier track.

In this example, the first MIDI track is sending to the BUS track which is earlier than the FX track, so feedback routing isn't evaluated correctly. If you move the BUS track to below the set of feedback tracks, it will work -- no need for a dummy track.

Thank you Schwa for the explanation. I saw what you are saying yesterday by doing some tests.


So you don't planning to fix this in the next Reaper update, do you?


I could solve it by putting my bus tracks under everything but it would be difficult to use the mixer like so. I have them as first tracks because I could see them faster when I look at the mixer and with an >800 tracks template it is very useful as you might argue.


Plus I have to revisit all my template and it is a lot of work. Maybe I could put all VEP tracks on top but this could be not so good to manage.


Let me know, thank you.
__________________
Audio: AKG-K240 MKII, Adam A7X, Audient iD22 - Steinberg UR22; Piano: Yamaha P-250 - NI S88 MK1;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is offline   Reply With Quote
Old 06-25-2019, 07:18 AM   #9
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,232
Default

The underlying rule is that if you have feedback routing with MIDI, if you trace the routing starting from the first track, you need to encounter the MIDI-receiving track first. In this case, track 1 receives from track 3, which is the MIDI-sending track in the feedback set, so things don't work. Any change that causes track 2 to be encountered first in that routing trace will fix it: moving the bus track to below the feedback tracks, adding a send from track 2 to track 1 (even if the send does nothing), etc.

We might be able to address this for v6, but be aware that in general, feedback routing can be costly on performance.
schwa is offline   Reply With Quote
Old 06-25-2019, 07:25 AM   #10
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 347
Default

Quote:
Originally Posted by schwa View Post
The underlying rule is that if you have feedback routing with MIDI, if you trace the routing starting from the first track, you need to encounter the MIDI-receiving track first. In this case, track 1 receives from track 3, which is the MIDI-sending track in the feedback set, so things don't work. Any change that causes track 2 to be encountered first in that routing trace will fix it: moving the bus track to below the feedback tracks, adding a send from track 2 to track 1 (even if the send does nothing), etc.

We might be able to address this for v6, but be aware that in general, feedback routing can be costly on performance.

Ok undersood, I'll do some more testing to sort out how to rebuild my template.


About performance I was wondering if this configuration could be more heavy that the two tracks one, do you think it could be in my specific case?


I do some little test and I didn't see much differences between the two configurations.


The problem is that I use track manager a lot to show/hide tracks and by doubling my tacks number I'll go crazy, I don't see other ways to use a multichannel instrument with midi sends.


I remeber I leaved from using this by use 1 kontakt instance for 1 track but to do some improvements to my workflow I'd like to use VEP and by doing this I'm forced to came back to this kind of set.


Do you have any other suggestions that maybe I'm missing?
__________________
Audio: AKG-K240 MKII, Adam A7X, Audient iD22 - Steinberg UR22; Piano: Yamaha P-250 - NI S88 MK1;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is offline   Reply With Quote
Old 07-01-2019, 12:48 AM   #11
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 347
Default

Ok, a little update on my situation here.


I gave up using VEP right now. It seems that the only way of using it with Reaper is to have one track for the midi input and one track for the midi output, resulting in a number of tracks that doubles the real number of instrument you need in your template.


Using feedback routing infact is too heavy on resources as Schwa pointed out and as I already knew. I was hoping that with a setup like mine I could use it without so many downsides but unfortunately I had no luck.


Infact my RT CPU goes up a lot reaching 60% in idle with a still not finished template and without items in it, so I could easily imagine that with a complete VEP template I would soon reach the roof.


The strange thing is that I confronted myself with another user using VEP on Reaper and he get a considerably lower RT CPU values with the same test project we shared. He has an older CPU then mine, I can't really explain this.
We tried a huge bunch of things without success, here's the thread on VSL forum for who is interested in it: https://www.vsl.co.at/community/post...nts#post285193


I'm asking to devs or other experienced people out there:
why a user with a slower CPU get significantly better results than me?

And to devs only:
do you think you could do something about it in a future version of Reaper (some iteration of V6 as you said about the routing problem)?

I know that maybe this could be related with how Reaper handle the CPU power but maybe you could think about an alternative method to manage Feedback Routing, I don't know how Reaper works so these are only ideas I throw in.
I think feedback routing is a very useful feature so it should get more attention and love.


Thank you.
__________________
Audio: AKG-K240 MKII, Adam A7X, Audient iD22 - Steinberg UR22; Piano: Yamaha P-250 - NI S88 MK1;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is offline   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 10:49 PM.


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