Why are Program Changes filtered?

I’m trying to send program changes to an external instrument over a MIDI track. I see the event on the MIDI part as plain as day but VST Live refuses to send it out the MIDI port.

If I link the track to a VST 3 instrument the program change goes out.
If I link it to a VST2 Instrument, the program change goes out.

If I link it to a physical MIDI port, either directly, or routed through a Layer, PC changes get filtered.

Is there a way to get PC out of a physical MIDI port from MIDI tracks?

Cannot reproduce.
Create MIDI out in “Devices/Connections” - eg “MIDI 1 Out” set to device port (in my case, UR22C-1).
create MIDI track, set output MIDI 1 OUT, double click to create clip, open MIDI List Editor, insert Program change and locate or run, PC is sent to device output.

I am on Windows 11…

I set my Fantom XR as an output for MIDI.

I put the AUDIO ins from the XR SPDIF connection in the stack.

In the first song I import a Standard Type 0 MIDI file.

I connect it to the Fantom X MIDI output with Channel out ANY.

I play the song…Nothing…

If I make a fresh new MIDI track (Or duplicate and delete the original), then drag the part onto the new track, it at least works now, but filters Program Changes.

Now, if I point this same track to an instance of Sonic in GM Mode, it works, and passes Program changes.

If I send it through bidule first, and then to the Fantom, it’s working, and passing the Program Changes.

If I send it to a loopMIDI virtual port, to a standalone bidule Instance, and then to the Fantom, the Program changes do NOT pass through…

Next I try it with a type I MIDI file…
All tracks pointing to the Fantom X. Channels set ANY.
Same thing…The one very simple sysex message puts the Fantom in GM Mode as expected, but the program changes don’t come. The rest of the track data goes through on the proper channels. Just no Program Changes.

Again, if I change all the tracks of a Type I import to a VST Instrument, the program changes pass.

Again, if I pipe it through bidule (VST2 or VST3) first, and then into the Fantom, the program changes are transmitted.

I have also tried setting the Fantom up as a Part Layer, and then sending the tracks through that. The Program changes get filtered out every time if it is pointing to the Fantom X MIDI driver.

I can but that doesn’t make sense. MIDI should not go anywhere near ASIO.

I’ll give it a try, but it messes up everything in my workflow and stage setup (networking and more). I won’t be able to use the software without a ton of kludges.

Also on Windows 11, MIDI Track out to UR22C, import Midi File, it just plays.
So there must be something else. Please try and remove everything not necessary (MME Midi: loop1, what is that?).

loop1 was added for the last test where I routed the Live track to a virtual MIDI port where I could see what comes through it. Note, I use these virtual ports constantly, with half a dozen hosts, including Cubase 14. Never had an issue with them dropping any data at all.

So…here we go with a clean setup. No ASIO Link Pro, and no virtual port.

MIDI Interface is Fantom-X, USB.

Audio Interface directly to a pair of Delta 1010 cards. The Fantom sends audio into the first SPDIF pair on channels 9 & 10.

No change, the Program Change events are getting filtered here…

That’s not the point. If a problem is hard to identify, we always have to narrow it and that means save project (for backup), remove everything that is not related to the problem, then check what remains.

Great :slight_smile:
But what is Midi Input “A”?

What if you use built-in Halion Sonic SE and set its Options/Program Change to “GM”, do you get piano, bass etc?
Also check for preferences/Midi/chase on start, if that is ticked and you locate after the changes, they won’t be sent.

Yes, If I send the track through a plugin (VST2 or VST3), the program changes work.

The problem is with physical MIDI ports.

Now I have gone to the closet and gotten out an old DIN MIDI Cable, and tried this through 3 more MIDI interfaces.
Two Delta 1010 units, and my Arturia Keylab mkII.

MIDI Program Changes are NOT passing through any of these physical MIDI ports.

I have no issues with any of these devices with any version of Cubase on my rig (11 - 14), Dorico, nor any of my Plogue hosts (Bidule, Sibelius, Finale).

Plus, there seems to be a bug in that after importing type 0 MIDI, I always have to make a new track and ‘move’ the part to it, or duplicate the track and delete the original before it will connect to anything and play.

That’s my MIDI Keyboard…I can disable it, and Live still behaves the same after importing a SMF. Program changes go missing from physical MIDI ports.

For what it’s worth, I route the ‘input’ from all MIDI controllers with USB drivers through bidule first, and then into my hosts via Virtual Ports. The reason for this is because USB MIDI INPUT drivers are not multi-client friendly on Windows. The first App that grabs it owns it. I’ve yet to come across a USB<>MIDI interface on Windows that doesn’t have this issue. The only way to get it working with multiple Apps at once is to route it into a mulit-client friendly virtual port.

The Fantom is different. It is a rack tone module unit with no controller onboard. I don’t need ‘inputs’ from this device at all. Only the output (which is multi-client friendly, but right now only LIVE is trying to use it).

I’ve now tried it through the native Fantom X USB<>MIDI drivers. I’ve also tried it through DIN MIDI cables on two different Delta 1010 interfaces (PCI based), and also over the USB<>MIDI<>DIN connection in my Arturia mkII keyboard. PC gets filtered in them all.

[edit]
I’ve tried these chase options. Program Changes get filtered if sent through a physical MIDI port. Everything else works.

Program Changes are passing fine through ‘plugins’ like Sonic 7, HALion 7, bidule, Audio Lab V, etc.

Apologies, I got a little agitated, but not at you. I’m thankful for your offers to help trouble shoot this.

Thanks Much!

That we can confirm, will fix asap. Stumbled across this when testing, sorry.

Then dug out and connected a Yamaha MX61 to UR22 Midi Out, send Program Changes from Layers and Tracks to UR, and the keyboard responds as expected, shows selected program and changes sounds of course.

Don’t know what els to do anymore, this takes a lot of time…

I understand. I can probably get by without the old external tone generators, but I’ve just registered Live, and am running it through its paces to see how it might work out for me compared to other things I’ve been doing.

VST3 has developers miffed all over the place on program changes!

Seems like 3 out of 5 plugins that need Sysex, Program Changes, or CCs to pass through are broken these days. I’m constantly having to roll back to VST2 plugins when I need that (I.E. User banks in Arturia plugins, Korg M1 and Trinity plugin emulation stuff).

This problem today is with physical MIDI ports though. Note these same tracks are working fine in Cubase 14 for me, through the same interfaces. Possibly related to changes in design to benefit VST3 architecture though?

I’ve tried it with some other type 0 SMF imports. Now it’s working with some, and not others!

It’s like every ‘other’ try it works properly.

Import one file, it’s good. Import another, it’s bad. Import another, it’s good.

It seems like I have the best luck when I import, duplicate track, delete original, connect to MIDI device.

OK, something I’ve found that seems to consistently fix the PC filtering issue.

  1. Set cursor on the second bar.
  2. Import SMF.
  3. Duplicate Track.
  4. Delete original imported track.
  5. Connect the duplicated track to MIDI interface.

It plays properly for me this way.

Data are passed correctly to the Windows System, there is not so much more that we could do?

I’m starting to think it’s an IMPORT issue?
Every other file is working properly, but sometimes I must duplicate the track a time or two, and it’s better if I do NOT import it to the very beginning of the song. Leave an empty bar seems to help.

While that is not likely, there was a bug with import midifile which you already mentioned (it would not play immediately), so try again with the next version where it has been fixed.

1 Like

Tried again with 2.2.0.291

It’s still a mess with physical MIDI ports.

Program Changes go missing. Sometimes ‘some’ of the program changes go through for some channels, but not all of them. Other times none of the program changes transmit.

Sometimes I can get it working if I jump through the hoops mentioned earlier…

  1. Set cursor at bar 1 instead of 0.
  2. Import MIDI file.
  3. Duplicate track.
  4. delete original import.
  5. Set the track’s output.

The problem happens if I use the Fantom X USB MIDI connection, OR if I go through either of two M-Audio delta 1010 pci MIDI interfaces, OR if I go through an Akai MPK2 MIDI keyboard/interface, OR if I go through an Arturia Keylab 61 mkII usb > MIDI interface.

Also Consider this scenario…

If I do get it working through my Fantom by the steps described above and program changes are sent…If I change the MIDI output from the MIDI track to a different physical port program changes are filtered again.
I.E. Get it working over the Fantom X USB driver…change to the m-audio MIDI interface, and program changes get filtered again.

Run these same tracks through a VSTi3 or VSTi2 plugin and it’s not a problem at all. Program changes always transmit as expected.

I have this problem too. The issue seems to be very sporadic. I’m trying to send program changes to a Quad Cortex Guitar Pedal, and it was working pretty well, Then suddenly some of the signals don’t get sent, others do. Placing the notes away from the beginning of the Midi Clip seems to help but not reliably.
What can be done here? Seems like a very important feature to me that needs to be extra reliable!

Hi @Harry_Darling , are u using v2.2.2 while experiencing such losses? Are you on wired connection to QC?

I updated to 2.2 because I assumed the official release would be stable. This has been an issue for a while though. Yes I’m using the USB wired connection.
The constant pre-releases bring new bugs and I need a product that is trustworthy to play live shows and practice without always dealing with new issues. I guess I’ll try 2.2.2, but can’t try until next week.