Question about MPE channel usage

Hi, I was considering buying the Striso but have a question about channel usage in MPE. If I play several detached/staccato notes, will it cycle thru the channels or play them all on the same channel?

I believe the MPE spec is such that it will play the same channel, as long as the notes do not overlap. Which channel it starts on is determined by the device, and will either go from the bottom or the top +/- 1 channel. A device may cycle through different channels and should function fine in your example, but I don’t believe that is the behavior of any MPE device. I could be wrong though :slight_smile:

I don’t know how the Striso does this, @pierstitus ?

for the MPE spec… this is basically all about ‘voice allocation’
MPE standard (afaik) doesn’t specify the behaviour, its up to the controller (and synth) to decide how it wants to handle.

the optimal approach is to cycle thru channels, picking the channel that was used the longest time ago.

why? release tails on sounds!
a controller has no idea what sound is being played, so its doesn’t know if that sound has a long tail, or its plucky… the fact you play staccato, does not mean that the sound will be staccato - thats a pure synth/sound design decision - not in the realm of the controller.
so, it needs to leave the sound to ‘ring out’ for as long as possible…

so to do that, you use the channel, that had the note released the longest time ago, thus ensuring you do not cut any tail (within the confines of polyphony count)

this will not numerically be +/- channel, since it all depends on gates …
a typical implementation might keep a ‘free channel list’ in the controller, adding freshly freed voices to one end, and remove from the other.

some might have additional logic to handle legato notes.

this is optimal, since it means you don’t rely on the synth to do anything special… so if you’re going to implement a strategy, its safe/most compatible.

however, I’d point out many MPE synths will ‘re-voice’ the channels anyway, so then it becomes all a bit f a moot point, since they will follow basically the same strategy :slight_smile:

I know some have particular ideas about using MPE channels to hit a particular voice e.g. if we take eurorack/modular , you might prefer to be more in control of how channel → voice as the voices might be different… , but thats not really part of mpe - you’re starting to get into the realm of multi-timbral then.
(and as I mentioned above, many synths will re-voice anyway, it doesn’t often matter what the controller does)

Its an interesting area, the forerunner to MPE , was actually being used for midi guitar (decades before mpe!), and was very similar… and there we can see a channel = a string, so you might program different strings with different characteristics. so some what similar from MPE.

and… I think thats why MPE does not specify voice allocation strategy (or didnt, it could well be in newer specs) - you can create your own strategies depending upon your needs.
e.g. imagine an mpe grid controller , when each row = a midi channel, we’d get a very guitar like instrument then, where you can pitchbend one string, and the strings sound could be modified in tone etc.

if you are into coding, this is a fun area to experiment with…


Interesting. I was also thinking of the release tail issue, since I like to use PM synths like Plasmonic or Kaivo. One of the Ipad apps I use for MPE (Velocity KB) has an option for channel per note, which cycles thru each channel sequentially, but I wasn’t sure if there was a standard way that hardware MPE controllers work.

In the Striso board a note takes the channel least recently used, and does reuse its last channel if its not used by another note in the meantime.

1 Like