How to use a Midi Track to play a Layer Instrument but control via midi controller

I assume this is a fairly typical use, but I am struggling to know how to do this.

I have a midi track (contains note data) playing through a Layer VST, no problem. But I would like to assign an external midi controller to adjust the Layer VST cutoff whilst it plays.

The Layer VST only has the option for assigning 1 midi input, so I am not sure how I can achieve this. Thanks in advance.

Use a virtual MIDI channel e.g.
Track → vMIDI 1
Controller input → vMIDI 1
VMIDI 1 → VST

1 Like

Thank you, that has worked for me. Much appreciated.

1 Like

I seem to have an issue with the CONNECTIONS needing to be reset each time I open VST Live 2. They appear to be correct, but I have to set it to something incorrect then back again to get them too work.

So I have a MIDI Track with note data. This is routed to VM Out 2.
Then I have a Layer with the input being VM In 2.
I have an external controller via my interface. So in the CONNECTIONS panel I have a MIDI Input of my Interface MIDI named VM In 2.
Then also in the CONNECTIONS panel I have VM Out 2 connected to the DEVICE Virtual Midi: VM Out 2.

This works as intended with my controller able to adjust the Layer as the note data plays audibly.

However when I restart VST Live it doesn’t work. I have to go and click on the the CONNECTIONS panel and set it wrong, then right again and then it works.

I’m on the latest (not pre-release version).

Give the latest prerelease a try. You can de-install and reinstall any version if you don’t like it.

Just updated and still have the same issue. Until I change the midi routing to something else and then back again it does not work in that one scenario.

And now each time I open the project I get a message saying there is an unconnected midi port and it creates a new MIDI Input in the CONNECTIONS window called MIDI 1.

That’s a bit confusing, as “VM” stands for “Virtual Midi”.

“DEVICE” ? Now even more confused…
Could you provide a graph like “Interface MIDI In->Layer->…”?

Apologies for the confusion, I’m not fully up on naming conventions and struggle to describe the situation.

Please bear in mind I have set up a Virtual Midi Channel as per someone’s suggestion earlier in this thread. This seemed to allow me to achieve what I was attempting with a MIDI track playing note data, and then my MIDI Controller via my interface being able to be assigned to parameters on the Layer Instrument.

  • MIDI TRACK → VM Out 2
  • LAYER INSTRUMENT Input set to VM In 2
  • In the CONNECTIONS panel I have the MIDI Interface input to VM In 2

Hi, just bumping this back into visibility.

ok, I did:

  • new project
  • add midi track and edit some notes in
  • create midi out port vm 2
  • set track output to vm 2
  • create MIDI in port vm 2 in
  • set layer input to vm 2 in
  • play, all fine.
  • save, exit, load: all fine
    …using version 2.1.27

Also you know you can achieve the same much simpler by using the Layer “R” button, or if you already have a track, set its output straight to the target Layer instead of routing thru virtual midi connections?

I think he wants to join notes sent via midi track to cc sent via physical input, both routed to the layer instrument. So he will have to do:

  • track out to vm out 1
  • Physical midi in configured in connection midi in 1 with the connected controller
  • A layer (or record monitored track) that transfer physical midi in 1 to vm out 1
  • A second layer with the VST instrument that receive on vm in 1

This way virtual midi in 1 will receive both cc from controller and notes from track.

You have to take into account that virtual ports are non exclusive Virtual IN will receive and sum everything that is connected to the respective Virtual OUT

Right ?

Right.

Something wrong with connections. You have to consider that without assigning nothing all VM OUT N will be automatically routed to the corrispettive VM IN N.

Set track out to VM OUT 1
In connections set a midi controller input and assign it to the physical input you have your controller connected to. And that’s all.

Now create a global layer, no instrument , set layer input to the controller, set layer output to VM out 1. Alternatively instead of a layer you can use a second track, input physical mini in, output vm out 1, and monitor enabled.

Now create the VST instrument layer, set input to VM in 1

Now the first layer will send controller in the vm out 1 together with the notes from the track and the second layer will receive both.

You DON’T need to create the vm out1 to vm in 1 connection in connections this is automatically done, if you try to do this and you create a vm in 1 to vm out 1 you will create an infinite loop back and great chaos …. :rofl::smiling_face_with_tear: (vm in 1 to vm out 1 then it goes back automatically to vm in 1 an so on )

Ciao!

Great! Thank you for the great response. I will try this now and get back to you.

EDIT: Success! It works! I used the Global Layer method so I can easily assign it in other songs. Thank you.