Login / Register 0 items | $0.00 New @ KVR
User avatar
Lempface
KVRist
 
60 posts since 29 Nov, 2004, from Beyond the Realms of Death

Postby Lempface; Wed May 16, 2018 12:32 pm MIDI Communication Between VST Instances, is it Possible?

I've been searching high and low, and have not turned up anything so I wonder if there is just some sort of issue or problem implementing this. I'm considering developing my own but perhaps someone can share what the hurdles are so I don't waste my time, if any exist.

If anyone has seen "Send It" from DDMF, included in Metaplugin, I'm looking to do exactly the same thing, but with MIDI. "Send It" is an audio effect VST that can send audio to another instance of "Send It" whether on the same track or another, its not reliant on the host, it seems to do its routing internally.

I would also find it acceptable if the VST could send/receive through direct access to MIDI ports.

I'm currently using Bidule to do this as it has a MIDI Out and MIDI In module that achieves this but I'm looking for something that is free or inexpensive to get around some MIDI restrictions in certain DAWs.

EDIT: 64 bit is a must. I've also tried bridging pizMid's midiOut but it crashes terribly.

I appreciate any responses or recommendations of existing solutions.
User avatar
EvilDragon
KVRAF
 
16596 posts since 6 Jan, 2009, from Croatia

Postby EvilDragon; Wed May 16, 2018 12:41 pm Re: MIDI Communication Between VST Instances, is it Possible?

No problems doing this in Reaper via its MIDI bus system.
User avatar
Lempface
KVRist
 
60 posts since 29 Nov, 2004, from Beyond the Realms of Death

Postby Lempface; Wed May 16, 2018 12:43 pm Re: MIDI Communication Between VST Instances, is it Possible?

EvilDragon wrote:No problems doing this in Reaper via its MIDI bus system.

Thanks but the idea is to bring this functionality to DAWs that don't natively support sophisticated midi routing not force people to switch DAWs.
User avatar
noizebox
KVRer
 
19 posts since 19 Nov, 2012, from Stockholm, Sweden

Postby noizebox; Wed May 16, 2018 1:31 pm Re: MIDI Communication Between VST Instances, is it Possible?

Of the top of my head, and I don't know how SendIt handles this, but how would you handle if the host wants to process the audio graph in a different order to what you want? Say you want to send midi from instance A to instance B, but the host wants to process B before A? Then the midi would arrive one buffer late. Or even worse, the host is multithreaded and runs A and B on separate threads. Even if you make the queues thread safe, I suspect the resulting jitter would not be tolerable.
If the host supported that kind of routing natively, then it would recognize that B depends on A and construct the graph in the correct order.
Jimbrowski-one
KVRist
 
74 posts since 13 Aug, 2007, from Montréal, QC

Postby Jimbrowski-one; Fri May 25, 2018 5:58 am Re: MIDI Communication Between VST Instances, is it Possible?

noizebox wrote:If the host supported that kind of routing natively, then it would recognize that B depends on A and construct the graph in the correct order.


The OP could avoid this problem by ensuring that the VSTs, that require the MIDI communication, follow the audio flow; however, this requirement might just make the use case useless. :?
User avatar
vortico
KVRist
 
164 posts since 19 Jul, 2008

Postby vortico; Tue Jun 05, 2018 3:52 pm Re: MIDI Communication Between VST Instances, is it Possible?

Another issue is that VST instances are not guaranteed to run in the same memory space or process, so a global lock-free queue would not work in fancy DAWs that sandbox their VSTs.

Although in practice, so any DAWs do this? I remember hearing some talk about it a couple years ago.
VCV Rack open-source virtual modular synthesizer
UnWorldly
KVRer
 
19 posts since 13 Jan, 2013

Postby UnWorldly; Thu Jun 07, 2018 5:57 am Re: MIDI Communication Between VST Instances, is it Possible?

Many of the hornet plugins have grouping functions that appear to communicate to other instances of themselves
Klinke
KVRist
 
65 posts since 24 Dec, 2009, from Berlin

Postby Klinke; Thu Jun 07, 2018 7:14 am Re: MIDI Communication Between VST Instances, is it Possible?

JUCE has a InterProcessConnection class, where you "using either a socket or a named pipe as the transport medium". I used it in the past for routing the input of a MIDI controller to different instances of my (private) Step-Sequencer VST. In the case (and many user use cases) the additional latency and jitter isn't a problem. In the case that the MIDI events are send from a plugin itself, the receiver could report some latency to the host, with a big enough latency it should be possible to transmit the events without losing accuracy.
User avatar
VariKusBrainZ
KVRAF
 
7834 posts since 16 Dec, 2002

Postby VariKusBrainZ; Thu Jun 07, 2018 11:54 am Re: MIDI Communication Between VST Instances, is it Possible?

VSTforx has Remotechannel which can send audio or data anywhere.

It can be used without VSTforx

https://www.vstforx.de/index.php/produc ... otechannel
HoRNet
KVRist
 
150 posts since 17 Feb, 2011, from Italy

Postby HoRNet; Fri Jun 08, 2018 7:12 am Re: MIDI Communication Between VST Instances, is it Possible?

UnWorldly wrote:Many of the hornet plugins have grouping functions that appear to communicate to other instances of themselves


Yes but it's not made using MIDI but with a shared memory area where every instance writes its own values and every other listen for change and updates their parameters accordingly.

Saverio
My Audio plugins http://www.hornetplugins.com
User avatar
VariKusBrainZ
KVRAF
 
7834 posts since 16 Dec, 2002

Postby VariKusBrainZ; Fri Jun 08, 2018 11:58 am Re: MIDI Communication Between VST Instances, is it Possible?

HoRNet wrote:
UnWorldly wrote:Many of the hornet plugins have grouping functions that appear to communicate to other instances of themselves


Yes but it's not made using MIDI but with a shared memory area where every instance writes its own values and every other listen for change and updates their parameters accordingly.

Saverio


Which ones have this feature?
HoRNet
KVRist
 
150 posts since 17 Feb, 2011, from Italy

Postby HoRNet; Sat Jun 09, 2018 2:05 am Re: MIDI Communication Between VST Instances, is it Possible?

VariKusBrainZ wrote:
HoRNet wrote:
UnWorldly wrote:Many of the hornet plugins have grouping functions that appear to communicate to other instances of themselves


Yes but it's not made using MIDI but with a shared memory area where every instance writes its own values and every other listen for change and updates their parameters accordingly.

Saverio


Which ones have this feature?


a Quick list:

VU Meter MK3
LU Meter
Tape
AnalogStage
CLMS

Saverio
My Audio plugins http://www.hornetplugins.com
User avatar
VariKusBrainZ
KVRAF
 
7834 posts since 16 Dec, 2002

Postby VariKusBrainZ; Sat Jun 09, 2018 3:15 am Re: MIDI Communication Between VST Instances, is it Possible?

^
Thanks

Moderator: Moderators (Main)

Return to DSP and Plug-in Development