Control parameters of vst inside max

Jeff Switzer's icon

I'm brand new to max and want to use it to sequence and control an embedded vst synth instrument. I have messed around with vst~ and by using the help have embedded an instance of the diva vst inside max but am having trouble getting the vst to recieve any midi generated from inside max. I also want to know if I can control the vst's params like a cutoff nob for instance from max. I came across a forum that talked about using live.remote~ for controlling params, but I'm using max7 not max for live. So I'm basically looking for a simple patch that generates a midi note, sends it to the embedded vst~, and outputs a sound... plus something like a slider in max that controls one of the vst's parameters. Thanks!

dhjdhjdhj's icon
Max Patch
Copy patch and select New From Clipboard in Max.
Max Patch
Copy patch and select New From Clipboard in Max.

I use a simple abstraction [VSTParam] to do this. Essentially it just takes a parameter number as an argument and a MIDI value between 0 and 127 as its input. That gets scaled to a value between 0.0 and 1.0 and then sent into the [vst~]

Simon's icon

Hi

I too am a beginner and im trying to do the same thing as above. I know its super basic, but I think I am having problems with saving your abstraction in the correct place to be able to use it, could you explain in really basic steps please?? It would be much appreciated.

I am trying to control parameter 3 'cutoff' of NI Massive. I am using Max 7 on Mac. Thank you in advance.

Source Audio's icon

vst params expect input of 0 - 1 float.
So in Your case connect message [3 $1] to vst~ and if You use midi
You can insert [/127. ] or [scale 0 127 0. 1.] between midi input and the message.

dhjdhjdhj's icon

Yeah, that's what my abstraction does!

Roman Thilenius's icon

this also means that you do not need to create midi inside max when you want to conrol a plug-in parameter. you rather just create controller data with full 32-bit resolution.
and if you stumble on vst parameters which represent "frequency", dont worry, most developers are using log10, log20, or log90 for their internal parameters.

Stephane Morisse's icon

@DHJDHJDHJ, wouldn't it be better to use [pak] or [combine] instead of sprintf as I've read this creates some kind of memory leak when formatting a lot of messages ?

dhjdhjdhj's icon

Quite possibly ---- I've been using those abstractions for many years with Max 5 and never saw any problems with sprintf and probably hadn't come across pak and combine at the time.

Jean-Francois Charles's icon

No memory leak problem, but some objects do create a new symbol in Max's internal symbol table for each thingy they output. [combine] does create such symbols as well, AFAIK.

Jean-Francois Charles's icon

In such cases, I usually rely on a good old [prepend] object. But as often, don't fix it if it ain't broken...

amon makyou's icon

Hi
dhjdhjdhj's patch is working for me but only removing # at the beginning of the set