Poly mode voice allocation

Hi, I.m no MIDIpal user (yet) but I think it could be the thing I’m looking for.
Is it possible to program the voice allocation based on notenumber? This is what I want to achieve: when I play a single note it sends on (for example) 3 midi channels, but when I play a chord the voices get divided by high/low note priority.I want the highest note of a chord always send to the same channel, the second highest to the next the lowest to the next, etc.

This is a great way to emulate brass or string sections, the Roland ARX-03 brass board is the only device I know that does this so I know it is technicaly possible…

Thnx in advance, greetings, Paul

Sorry, this voice allocation mode is not available.

The available allocation modes are:

  • cyclic (cyc). Each new note is cyclically played on the next channel.
  • polyphonic (pol). The mapping of notes to channel uses a true voice stealing algorithm. The MIDIpal tries to reuse the same channel for occurrences of the same note ; or the least recently used channel.
  • random (rnd). Each new note is routed to a random channel.
  • stacking (stk). Each note is sent to all channels at the same time. Perfect for thickening a lead by sending it to several synths, or to several parts of the same multitimbral device.
  • velocity (vel). The louder (higher velocity) the note, the higher the MIDI channel it is sent to.

Maybe it s an option for a future app? It s an option I ve been looking for for years, loved the low/high note priority on my Rhodes Chroma, (but that was years ago),always wondered why none of the bigger manufacturers implemented this on their (multitimbral) keyboards, because it s essential for a more realistic ensemble sound imho.

Thnx for your very quick reply

Wouldn’t a strict implementation of this be technically impossible though? In order to distinguish between a single note and a triad, the logic needs to be able to know whether the first depressed note will be part of a bigger chord or not. And unless your playing technique has the same resolution as the keyboard scanning code, three truly simultaneous notes simply won’t happen in real life.

I guess the logical way around this is to use some kind of lookahead algorithm, which would interpret note-ons within X ms of each other as simultaneous. But doing this live would of course require an X ms delay in processing. This might be feasible for typical string parts, but probably won’t cut it for brass though.

The Roland ARX-03 board does this, and even has other options of stacking those voices.
You have to set in advance how many voices your “ensemble” has , don’t know how the keyboard scanning works, but it is possible.
Even simple high/low note priority would be very welcome, this technique was available on my once owned Rhodes Chroma and Kawai K4, and it worked flawless.

I can see how this would work for voice allocation in a synth, but not as a MIDI filter.

To extend on thijs: once you’re in MIDI you’re in a slow serial protocol, and there is no such thing as two things happening at the same time. I’m not denying that clever workarounds aren’t possible, just that they have to be very clever and pragmatic.

Yamaha did something like this on the SY99 midi master part, but I had no use for it and have not looked at that function in 20 years.

I really don’t see how it should be done.

Maybe this option : when there’s only one note on, you set your 3 voices to this note, then you detect a second “note on” input, you set one of the voices to “off” then “on” with the new note value… Pretty glitchy anyway, you have to avoid using it with fast attack envelopes.