How does the Striso manage voices in MPE mode?

I would like to know how the Striso board allocates the MIDI channels for “notes” when connecting to hardware synthesizers. A 6-voice polyphonic synthesizer requires that only MIDI channels 2-7 be allocated to notes on the Striso, while an 8-voice synthesizer would require channels 2-9, for example. MIDI channel 1 is reserved for common messages (i.e. CC parameter changes).

I wasn’t able to find any settings in the Striso to make these changes.

The voice configuration can be done with a RPN #6 message on channel 1, as defined in the MPE specification. Send the number of voices to RPN #6, which then will use channel 2 till n+1.

By default 6 voices are used, as the internal synthesizer has 6 voices.

The voice allocation algorithm reuses the last used channel when possible, otherwise it takes the longest not used channel. So playing C - D - E will put C on channel 2, D on 3, E on 4. Playing C again will reuse channel 2, unless the channel has been occupied in the meantime.

The next firmware release will have an onboard setting so the number of voices can be changed directly from the Striso board.

2 Likes

Awesome. Thanks Piers!

What program do you suggest I use to send NRPN (i.e. RPN???) messages on Windows 10? I have MIDI-OX, but I can’t seem to find a tutorial…

I generally use the command line tool GitHub - gbevin/SendMIDI: Multi-platform command-line tool to send out MIDI messages

1 Like

Can you verify that this command will work?

sendmidi dev "Striso board #(SN)" ch 1 rpn 6 (# of voices)

In my case

sendmidi dev "Striso board #182" ch 1 rpn 6 12

I just tested, and it doesn’t work since sendmidi uses 14bit RPN values.

So either multiply the # of voices with 128, or use sendmidi’s special mpe command:

sendmidi dev striso mpe 1 12

As you see you can abbreviate the device name.

MPE zone 2 is not implemented (yet).

1 Like

Awesome. Thank you Piers!