Split range to seperate note events from CC data

Im trying to do the following:

1 x MIDI DIN channel in and one out. Everything happens on 1 MIDI channel. ( Im using a Yamaha VL70m controlled by an Instrument1)

-Intercept a range of note 0 -99 and only transmit Note on and Note off info in this range, no CC data.

Paralell to the above

  • Intercept a small range of notes (100-127) and only transmit the CC data of those notes these notes only. No note on/off data, just cc data (breath control converted from poly aftertouch) These are the open notes of an Instrument 1 which I have mapped to the highest 6 noes in the highest octave.

the lower range provides the note events and the upper range provides the cc data

Its a key split in which the lower note control the note ons/offs and the higher notes determine to Breath Control data

The reason I am doing this is that the VL70 is a monophonic physical modelling synth. Everytime I presses a new note it resets the value of the Breath control and sound really unnatural.

I include what I thought would work but im here scratching my head.
PolyAfter 2 BC_CC02 DIN2DIN.mhp (392 Bytes)

Edit:see the PS first (the more I think about it, that’s the relevant bit!)


Hi, ele, what does this mean

CC data events may be sent at approximately the same time as note events, but they are distinct and independent of eachother.

Now it would be possible to Transform notes of one of those ranges into other events. but I suspect that’s not what you want. (Might cover your ‘converted from poly aftertouch’ though)

What you may be looking for is a sort of “if-then” scenario.
It might be possible to set up something with a bit more detail.
Eg. What’s supposed to happen if note 90 and 101 are played simultanously?


PS. If what you’re looking for is only about PolyA>CC02 then this might do the trick:
Element433_PolyAfter~CC02_top_notes.mhp (here I’m assuming that PolyAt is not meant to get through for any note; it’s either turned into a CC02 or ditched. If i’m wrong this can be tweaked)

1 Like

Thank you so much for your example. This takes care of stripping polyaftertouch from that range.

“transmit the CC data of those notes”

It was my missuse of English. I meant “for” not “of”
So when you use a breath controller you can keep the breath pressure constant even whilst note changes and it will sound the same as if you were blowing a note on a trumpet ( I play the trumpet) and slurring to the next without having to activate a new attack on the note.
With a hardware breath control this works well on something like the vL70m because it has a physical input for a breath controller.

The Instrument1 cant do this of course. everytime you play a new note the polypresuure will be a new value and note constant between new notes unlike a breath controller.

A set of Boolean or maths operator pipes would be a great idea. I assume that when you have several layers using pipes using the same input and outpuit the dat merges in some orderly fashion so no need for a MDI merge pipe?

I have included a screen grab of what Im trying to do. I think the weak link is the Instrument 1 in that it doesn;t allow one to switch off CC for specifica pads.

Again thanks for your help anyway

Happily, just one minute after sending the reply I figured it out. Here is the attached MDIHUB preset, It might be useful to someone elseElement433_PolyAfter~CC02_top_notes.mhp (356 Bytes)

I’ll put this on my Element433 blog and the Instrument1 config and the Vl70m config. Its hard to believe that the VL series, those that still survive are still some of the most powerful MIDI synthesiser in existence. I can use them with Pure Data patches I have created to do the translations but to be able to use them without a computer now, thanks to MIDIHub is a game changer for performance. Stay tuned to my YT channel Element433

I looked this up; wonderful bit of kit!
good that Midihub has made it possible for Instrument1 to talk to it.

PS. i have a Yamaha QY700 sequencer; a beast of the same vintage. I’d bet the VL70 also has a bunch of arcane MIDI implementation just waiting to be leveraged.

1 Like

The XG Midi implementation really is unweildy but it was a good excuse to shove the VL tech into their cheaper modules.
Now that I have the basic MIDI control working the idea is to use MIDIHub to control 5 of these using Dispatcher. 3 x VL board inside my MU2000 and 2 x VL70ms. So 3 channels on one DIN port for the MU and 2 extra DINS for the 70sm. This could get interesting. Thanks so much again and will no doubt keep you and the community posted.

1 Like