Automation signal from a vst plugin

Official support for: mutools.com
RELATED
PRODUCTS
MuLab Plugin

Post

pljones wrote:OK, so I may have an idea. If you can route automation in your host (you'll need to ask on your host support forum for help with that), then you can get the automation into MUX VST and then convert to high res events in MUX. In my example, I'm not generating the automation on the fly, it's track automation.
That's a good idea ! And I had it... But in cubase, you can't route automation track to another plugin, just like midi. The only thing you can do is to copy automation points from a track to another automation track. We're far from real time ! :lol:

In fact, if cubase would have some good automation features, like routing, modulation sources (lfo, envelopes, etc.), I would not have purchased the amazing Mux modular ! Because I mainly use it for adding real time modulation to vst plugins. (Even if now, I use Mux also for sound generating !)

As Mux modular is a vst host, it should support to get back automation signals going out of a plugin loaded in its area. Just like any daw. But I'm not sure this has been provided. I'd like to be sure if it is or not !
And if it's not, maybe it will be in a next update... For the v8 ! :D
It would be awesome !! It would allow users to route 1 automation track to several plugins with some ration / curve / depth in between ..
Musica ! here

Post

VST 2.4 supports Audio out and MIDI out. It does not support "Automation" out. There is no way to get anything except Audio signals and MIDI events out from any VST 2.4-compliant plugin.

Post

Ah.. But how is it possible to record movment of a plugin knob on an automation track, then ?
Musica ! here

Post

I get pretty good results by converting Bluecat's freqanalyist midi cc into pitchbend (14bits resolution) thanks to a little Reaktor patch with a short smoother to have a nice ramp between 2 midi cc values, send this pitchbend signal to Mux and output it as audio signal to my Scope synth modular. Fantastico !
No zip noise at all, not bad real time.

I'm very happy with the result. :party:
Musica ! here

Post

An automation track is input to the plugin, not output from the plugin. You can only automate those parameters the plugin exposes as targets for automation input. The plugin is a consumer of automation, not a producer. (How this is represented visually to the user is a separate question, and that possibly depends on the host.)

Post

pljones wrote:An automation track is input to the plugin, not output from the plugin. You can only automate those parameters the plugin exposes as targets for automation input. The plugin is a consumer of automation, not a producer. (How this is represented visually to the user is a separate question, and that possibly depends on the host.)
On the other hand, plugin parameters have data associated with them, and the host can query that data. That data is then returned (ak 'output') to the host. For the purposes of automation, a plugin is also capable of notifying the host that a parameter value has been changed internally to the plugin, so that the host know to record that change.

For the purpose of this argument, consider that other people seem to be talking about changes in parameter values when they say automation, not datasets of parameter value changes over time.
And in the context of this discussion, almost everything that is actually being asked about is actually achievable with VST2 plugins. When you start saying VST2 plugins only output audio and MIDI you're not quite correct, and its muddying the water considerably.
my other modular synth is a bugbrand

Post

whyterabbyt wrote:On the other hand, plugin parameters have data associated with them, and the host can query that data. That data is then returned (ak 'output') to the host. For the purposes of automation, a plugin is also capable of notifying the host that a parameter value has been changed internally to the plugin, so that the host know to record that change.
That's what I meant... If the host 'knows' when you move a plugin parameter, it means that the data goes from the plugin to the host. Even if it's not through something called 'output'. If the daw can record knob movment, it's the same to record midi or audio but in a completly different format.

I think this should be possible for a vst host like Mux modular to get automation data. It could open nice possibilities such as we are talking when one is using an analyser plugin that outputs data from this analyse. Or controling other plugins with the fader of one, for instance.
pljones wrote:An automation track is input to the plugin, not output from the plugin. You can only automate those parameters the plugin exposes as targets for automation input. The plugin is a consumer of automation, not a producer. (How this is represented visually to the user is a separate question, and that possibly depends on the host.)
This is right : You can only automate those parameters the plugin exposes as targets for automation input. Sure : if the plugin developer didn't allow a parameter for automation, no chance to automatize it. But I believe there is something wrong in what you say after. The plugin cannot be only a consumer : the automation data go from the plugin to the host for recording them.
In vst3, automation track points value units are even the same as in the plugin : 4:1 for a ratio compressor, for instance or in db or else... How the host would 'know' which unit the automation data are shown if the plugin doesn't give the info to the host ?
Musica ! here

Post

As whyterabbyt explained and I hinted - I wasn't aware of how the host records changes to an exposed automation target parameter. It's not recording an output as such, it's being notified of the user making a change; essentially the same thing (but the protocol doesn't express it the same way at all).

What whyterabbyt has also clarified is that "recording automation" is not about recording from a source, it's about recording changes to a target.

So... if I'm understanding this right now...

VST #1 has a parameter that it's exposing as a target for host automation.
VST #1 updates the value of this parameter by itself, without user intervention, in response to audio input.
Somehow the host knows it's expected to read these updates from this parameter and copy them to a parameter in VST #2.

Is that right?

Post

pljones wrote:So... if I'm understanding this right now...

VST #1 has a parameter that it's exposing as a target for host automation.
VST #1 updates the value of this parameter by itself, without user intervention, in response to audio input.
Somehow the host knows it's expected to read these updates from this parameter and copy them to a parameter in VST #2.

Is that right?
Pretty much. BTW, if you want to try an example of a VST2 host that's already capable of this sort of thing (driving one plugin's parameter changes from another plugin's parameter change) check out Bidule.
my other modular synth is a bugbrand

Post

MUX VST only exposes MetaParameters to the host. I can target the MetaParameter at a VST paramater in a VST hosted in MUX and also automate that parameter in MUX -- but it's only changes I make through the MetaParameter that get to the host.
Reaper-MUXVST-MetaParameter.rpp
Image

Reaper can't see anything except the meta parameter values.

In this example, the meta parameter target, mda Piano Stereo Width, is also being automated within MUX - by an LFO / mod mapper set up (that's over-complex as I was trying other approaches, too).

However, despite the value of Stereo Width responding to both meta parameter knob movement and LFO control, it's only the knob movement that's seen by the host.

Now... there's a good reason why MUX doesn't feed targeted values back into meta parameters. It's because they can target many different values and have different ranges, etc. It wouldn't be possible to make sense of what was going on in anything but the simplest set up. That thus means no internally generated updates to the meta parameters - just host automation and direct user action.

And that means you can't record or route internal automation, such as what that LFO is doing to Stereo Width, via the meta parameters.

What I'm not sure about is what the host will be making of the "Event Output 1" stream - those aren't MIDI events, they're parameters... More investigation...

Post

I noticed that Mux only exposes MetaParameters to the host too.

But it's not exactly what I try to achieve... I believe that it's not possible, for the moment, not without an update.
But by converting midi cc that outputs the Cat's plugin into pitch bend and smoothing steps between 2 values in reaktor, I get good results. It cetainly adds some latency but I can do with.

But I will still try with next updates ! :wink:
Musica ! here

Post Reply

Return to “MUTOOLS”