accessing VST-parameters of VSTs loaded outside of Max (For Live)

Elden's icon

Hello everyone,

I'm (yet) a Pure Data guy and developed a patch that can genetically breed sounds out of soft- and hardware synthesizers over MIDI (I called it "Ewolverine").
The limitation, of course, is that MIDI has only 128 control change parameters available to be assigned to a VST.
For newer, more complex synthesizers, like Waldorf's "Largo", for instance, 128 parameters are way too few.
So I need my patch to directly access the VST-native parameters that also DAWs are accessing when automation is recorded or played back.
So, if I would re-write my Pd-patch in Max For Live and would like to control an external synth loaded into a channel in Ableton Live, could I then nevertheless access the VST-native parameters directly or would Max For Live have to act like a VST-wrapper in such a case?

The answer to this question determines, if I buy me Max (For Live).

Thanks in advance!

broc's icon

I think for direct parameter control you need to load the VST into a [vst~] object of an M4L device, thus acting like a VST-wrapper. When loading the VST into a track in Live, parameter control is also possible (via the Live API) but requires mapping of each parameter and introduces some latency.

Elden's icon

Thank you, BROC.
That's what I feared...
The problem with mapping always is the limited number of assignable parameters. I hope in the case of M4L, there are more than with MIDI. How many parameters does this Live API provide? (I don't really know what this Live API is, actually.)

broc's icon

AFAIK, the number of parameter mappings via the Live API is not limited. But first you need to make the VST parameters visible in Live (using "Configure Mode") and I'm not sure if there is a limitation.

Roman Thilenius's icon

i remember some situation where live had a limit of 400 parameters total. and within live itself the automation i is still 128 i think.
via live api there should not be any limit of the numbers, but for sure you dont want to deal with latency issues and other things broc mentioned.

i would do it in max/msp (first), there are no limits at all.

or, instead of making an amxd you could make a max4live patch. and then host the instrument in question within that patcher...

schlam's icon

Hello,
I have a problem linked to this post..
I want to migrate my big old maxmsp patch to Maxforlive and I have some issue with the VST.

I think for direct parameter control you need to load the VST into a [vst~] object of an M4L device, thus acting like a VST-wrapper. When loading the VST into a track in Live, parameter control is also possible (via the Live API) but requires mapping of each parameter and introduces some latency.

I know Max a lot more than Maxforlive and I'm a bit disappointed.
I loaded a VST in a [vst~] inside my maxforlive device and every thing is working properly for sending and receiveing parameters values, but impossible to make automation possible..
I can record them with no problem but when I play them there is like a loop between the automation lane and the parameter and the automation stops (lane is greyed). I have to push "re-enable automation" but of course it's only working few milliseconds.

I saw someone who made a device which allways toggle "re-enable automation" in Live but the problem is then it's not possible anymore to move the parameter during playback and, btw, it's not a very elegant solution...


So, how it is possible to automate a vst parameter inside a [vst~] in Live ?

Here it's a little part of my patch.

Max Patch
Copy patch and select New From Clipboard in Max.

Thanks a lot for your help !

Julien

broc's icon

Controlling a [vst~] parameter in M4L works like any other device parameter. It can be done manually or from automation lane. At playback you can switch between the modes but not use both at the same time. I think that's common behaviour of any DAW.

schlam's icon

Hello BROC,

thank for your response but I don't manage to make automation in Live reacting in the same way with a regular VST in a track and a VST in a [vst~].

For the first case, it's working pefectly : you record the automation and then during playback if you change the parameter the automation stops (common behaviour), but with an automation of VST inside a [vst~] impossible for me to just play a simple automation, the lane is reseting by itself from the beginning ...

broc's icon

Strange, just did a quick test and it works well for me. There seems something special with your VST. Maybe it sends parameter values at playback which disables the automation lane?

schlam's icon

Re,
I post a little piece of the patch below.. I really don't understand..
The vst is a cool little free synth you can find here
https://www.kvraudio.com/product/lokomotiv-by-archetype-instruments

Maybe it's just this vst which cause problems..
...but I 'm not yet familiar with m4l...
Maybe you can take a look if you have time ?
..which is strange is that this same vst in a track is perfectly well supporting automation record and playback..

In my example below I just tried to control the parameter n°6, hardsync.
recording automation is working perfectly, but once I play it, the lane become grey and automation stops despite the (set $1) before the live.numbox ... :/

Thank a lot !

Julien

Max Patch
Copy patch and select New From Clipboard in Max.


broc's icon

Your patch works for me (Mac, Live 9, Max 7).
Attached is my test song. Please check yourself.

Test.als.zip
application/zip 12.23 KB

And the device.

New.amxd.zip
application/zip 6.73 KB

PS. This article may be helpful.
https://help.ableton.com/hc/en-us/articles/209069409--Re-enable-Automation-keeps-lighting-up

schlam's icon

Thank a lot for your time.
I have already read this article, maybe I am misunderstanding something..

It's exactly the same issue with your test song..

You tried with the Lokomotiv vst ?

here : windows 10 Home / Max 8.1.3 / Live 10.1.9

broc's icon

Yes, I've used the Lokomotiv VST, see screenshot below.

So the Windows version seems problematic.

Problem could also be that we have used the VST in a M4L MIDI effect. But as instrument it should rather be used in a M4L instrument device. In particular, host synchronisation may work only if audio output is connected.

schlam's icon

Thank you a lot for your help, obviously it's the windows version of the vst which causes the problem, if on mac it's working properly...
I tried the [vst~] in an instrument rack with no better results...
so...I give up =)

thank you again !

Albert Akchurin's icon

@BROC
I had no issues or latency controlling VST loaded in Live from m4l device using LiveAPI, as well as extracting parameter names of VST using LiveAPI, no need to configure.

broc's icon

Latency of the Live API is relevant only if you need accurate timing.

Albert Akchurin's icon

LiveAPI does not induce latency with remote~ object as far as I know.
So the timing should be accurate.

broc's icon

See this thread, comment from Andrew Pask (cycling staff).
https://cycling74.com/forums/live-remote-latency