Handling multiple signals through VST~ with modulating parameters


    Oct 12 2018 | 10:00 am
    Hi all,
    I've browsed around on the forums, couldn't find my answer. I'm using Max for real-time SFX synthesis for a video game. We can have multiple in-game objects simultaneously calling Max to process a sound through the same signal chain. My problem is, if two signals at the same time want to go through my signal chain, they will simultaneously try to modulate parameters (using their own values each) on a VST. I'm guessing this is not possible, and since performance is a big deal, I'd like to get your input on how I could approach this best.
    Thanks!

    • Oct 12 2018 | 4:42 pm
      i had to read three times but i think i now understand.
      you could put the whole DSP into a poly~ , including the vst objects, then modulations to the vst effect will be "polyphonic".
      while in theory this works great, you have to be careful about how to load the VST plug-ins e.g. 4 times. if you find it is not working stable, use delays on initialisation.
    • Oct 12 2018 | 10:37 pm
      it might not be economical, but similar to doing things with poly~ you could also try the new MC wrapper stuff.... in particular, there is an mc.vst~ object now(using mc.target and maybe even mc.voiceallocator~ you might be able to figure out a nice system for what you want). but this is not meant to take away from what Roman suggested(personally, i like how specific i can get with poly~), but since it's new and has much to offer, you might as well try the MC stuff as it can still be a simple way to start to visualize how such a system might work efficiently. hope it helps.
    • Oct 13 2018 | 9:27 am
      i simply wasnt aware of mc.vst~ or i would have recommended it, too. how would it receive messages for different voices?
    • Oct 13 2018 | 9:30 am
      `...there is no max 8 online reference?
    • Oct 13 2018 | 9:48 am
      oh and btw. in case we are limiting the total number of voices to 4, it might be easier to just copy the patch 3 times and cycle input data throught these 4 voices.
    • Oct 13 2018 | 4:46 pm
      how would it receive messages for different voices?
      haven't played extensively to confirm this perfectly, but i'm pretty sure you use mc.target to target specific messages to specific instances(while mc.voiceallocator~ can find a voice/channel that's not in use and simply send the message automatically to the first available voice).
    • Oct 14 2018 | 1:42 am
      isnt controlling things per voice that what you do first when using a multicore audio stream? ok so they have specific objects for that. might be great or not, we will see. i have a HD with windows 10 here somewhere, so maybe i try myself in the next days.
    • Oct 17 2018 | 9:37 am
      Sorry for the late response. Thanks for the suggestions! I'm going to look into it and get back here if other questions come up.. :)