Program change vs keyswitches

Hi’'curious if any VSL Synchron player users had have any success using Synchron player libraries with programme changes instead of key switches in Dorico.



1 Like

I’m curious why you’d want to try this? Is there something I’m missing here?

Nope no mystery. I have been using a standardised system of program numbers for articulations for a while. Was curious to see if I could continue it is all




I use Program Changes instead of key switches, so I can use the same PC numbers for a given articulations for all instruments whatever are the ranges of those.
Of course, you have to define your own VSL presets standard for each instrument.

1 Like

It seems very tricky with VSL Synchron to let you do this. But i’d love to. Then again i’m told program no won’t work soon?



Have always been interested in this approach but never tried it. Reason to consider it? It would make it unnecessary to separate out individual Expression Maps for instruments with keyswitches in different octaves.

But aren’t program changes incompatible with VST3? I recall that was a big criticism of VST3 when it began to gain traction. I run the VST3 version of VE Pro. If it turns out VST3 is not an issue, or there’s some way around this, I might be interested in this thread.

It would be a HUGE project to create new custom Synchron Player presets for all instruments, but it would save a lot of time on Expression Maps creation and maintenance.

Yes that is my concern, however I have now created a universal synchron player template and a universal expression map. The idea is just one of each, so that is consistency throughout which is what I missed from my program number days.

I’ll share when it’s completely stable but basically at the moment three columns . C-0 C0 AND C8. The biggest issue is the piccolo which creeps into the top layer. Everything else is safe

This allows for every short note to be the same on every instrument, the same with con fortissimo and Pizs, Alos using “add-ons” for sordino and mutes works well too!



I’m not entirely certain that statement holds true for every VSTi, but this method of unifying expression maps intrigued me so I tested with VEPro: no luck. Although Opus allows one to change from key switch to program change per articulation, and Dorico has the option of sending it… VEPRo doesn’t seem to recognize or pass on any such data – bummer.

EDIT: I’m not sure if it is the VEP Server or the VEP VST(3) that is dropping these MIDI messages. Either way, it doesn’t work.

When I began to compose with Sibelius and VSL, twenty years ago, VST standards were not so developped. Computers as well were not as powerful as nowadays, so I used the MIDI standard.
In fact, I use 2 computers. The main one for Dorico and the second one for VSL, linked via local network.

MIDI commands are transmitted from Dorico to VSL through rtp MIDI.
MIDI PC and CC’s are recognized by VSL without difficulties. No more VST is involved in the process. Only MIDI instruments are used.

Following the categories established by VSL for their articulations (short notes, long notes, legatos, etc…) I built presets for Synchron Player easily.
One preset for strings, woodwinds, brass and percussions which have the same basic structure plus the specialities of every group of instruments.

With this architecture, I have been able to follow the evolution of scoring software and sound libraries for years.


I think you might have sent me something to do with this awhile back. My memory is so unreliable any more. I may have done some work with it, but I can’t remember any specifics.

I can’t remember what you do when instruments in a given library are missing articulations found in most. Nearest equivalents?

no, the program data must stay the same for every instance. So if a flute lacks a PIZZ ( wimp, i’m sure there’s a way!) then that just goes nowhere.

It’s really about 60% that are the same. In dorico the first thing to do is always the 5 note lengths and the legato. Then key switches that follow the articulation symbols on the left of the home screen. Then common things like trills and repetitions . Then your left with the idiomatic stuff that will be more sparse in some instruments.

But the goal is one player and one expression map.



1 Like

Okay, so I can confirm in an initial test what it seems most of you already knew, that VE Pro VST 3 handles Program Changes perfectly well.

Ed, I vaguely recall testing a small implementation of your approach when you were first starting with it, but I was focusing on CC’s taking the place of keyswitches rather than Program Changes. I kinda think that for me it foundered on the fact that this requires not only CC numbers but CC values corresponding to the number of slots referenced (an overly simplified way of explaining it). CC numbers are good for cross-fading, but more cumbersome for sequential slot selection.

But Program Changes give you a range of 127 numbers that can be directly assigned to any given slot function. No fussing with values.

I’ll have to think some more on this as I get the chance.

You mentioned starting with basic articulations, especially those built-ins showing in the left panel. I have been taking this approach in my recent efforts but trying to use factory Synchron presets, which indeed results in a huge number of Expression Maps.

For my simple test I created a new VEP instance called “Dorico XP” to use for experimental purposes. I might try and build a full custom instrument preset to continue my Program Change test, and take the approach of starting with Dorico’s built-in articulations > Synchron Player presets rather than how I did it last time, the other way around, trying to build maps based as much as possible on the factory presets.

I’m rambling, but this is food for thought.

It can…but that isn’t the issue. VSL Synchron can’t. It’s architecture requires addressing at least two columns at a time. Yes you could bypass that and just have one . but the graphic engine would hate you

My Goal is one expression map. And Hopefully one player template. Filled in many different ways for each of the instruments .

An annoying quirk is that Dorico will only address the first instance of the expresion map when in edit mode. So pushing the little PLAY button will always go to the first in the cue.
But aside from that this is working well



1 Like

Ah, thanks for the heads up.

What I was thinking was two columns accessed by keyswitches using C-2 as the first base and C8 as the second. Then running Program Change columns for further options except CC’s for cross-fades.

I look forward to where your project takes you. Pioneers are appreciated, and you’re definitely one of them.

I couldn’t get it to work testing initially. I’ll try again later.

A lot of this stuff is made redundant by MIDI 2.0 orchestral articulation profiles, and the first version of that standard has I believe been published already. Once Dorico and Synchron Player both support it, it should take care of this automatically without needing to come up with complicated custom schemes.


hey !..I’m in LOVE with complicated custom schemes !!!




May the day be hastened.

By the way, Ed, I confess the same malady. It’s sort of a love/hate thing for me. But the impulse to overcome complex problems can become so intoxicating it pushes me through the frustrations.