Yes, I’ve been metaphorically taking things to bits again. This time it’s the Roli Seaboard RISE.
For my Raspberry Pi project I want to be able to control quite tightly the way things interconnect so that whatever synths and controllers are plugged into the box they ‘just work’ in a sensible way. So, for example, if I plug in my Blofeld synth and the Roli Seaboard it will set itself up. If I plug a DSi tetra and the Roli Seaboard then that should work too.
Now these are two very different synths but both can, quite sensibly, used with the Roli for multi-voice expressive playing. The only real difference is the number of available voices; 4 on the Tetra and 16 on the Blofeld. You also need to set the Tetra to multi-mode but that is documented in the manual.
I’m not going to bore you with the MIDI commands the RISE sends, that’s easy to find out and well documented. I’m interested here in commands you send to it to change the way it works.
I started snooping on the MIDI data send from the Roli Dashboard to the RISE and I’ve documented it here in case it’s useful to other people. Note: I’ve only tried this with the Roli Seaboard RISE 25. If you have a 49 or a grand then YMMV.
Some of Dashboard communication with the RISE uses RPNs (Registered Parameter Numbers). These are an extension to the CC system that allow up to 14 bits of value to be set by sending 4 CCs – two that are an ‘address’ and two that are the data. eg: to send NRPN 25 with a value 100 you would transmit the following 4 CCs (shown here in decimal):
CC 101 0 # MSB of RPN address
CC 100 25 # LSB of RPN address
CC 6 0 # MSB of RPN value
CC 38 100 # LSB of RPN value
To change the number of channels used by the Seaboard RISE then you need to send the number of channels you want to use as RPN address 6, to the lowest channel number you want to start at. For example if you want to use channels 2 to 10 then send the value 9 (in the MSB, note!) to address 6 on channel 2. So the data stream (in hex) to set that configuration would look like this: (B0 is the MIDI command for CC and channel 2 is indicated by 1 in the lower 4 bits – channel numbers are 0-based):
B1 65 00
B1 64 06
B1 06 09
B1 26 00
Another RPN you might want to use is to set the RISE to send PolyPressure messages to the synth rather than Channel Pressure, or to customise the Channel Pressure mode. I have found that the Blofeld responds better to PolyPressure messages, though most synths don’t support it. So I wanted to be able to switch.
This is changed using RPN address 4 with one of the following values in the MSB:
01 Channel Pressure - use last note press
02 Channel Pressure - use highest note
03 Channel Pressure - use lowest note
04 Channel Pressure - disabled
Other things are settable using SYSEXs. MPE mode is easily to toggle with the sequence:
F0 00 21 10 78 3D 0E xx F7
Where ‘xx’ should be 1 for MPE mode enabled, and 0 to disable it. As I mentioned before MPE mode has the nice side-effect that the where you press the keywave affects the initial value of the ‘slide’ value.
If you want to get really in-depth with the Seaboard you can also change the response curves using sysexes too. Here the ‘xx’ values have 00 for ‘off’ to ‘7f’ for linear.
Strike Curve F0 00 21 10 78 3D 1A xx F7
Glide Curve F0 00 21 10 78 3D 17 xx F7
Slide Curve F0 00 21 10 78 3D 18 xx F7
Pressure Curve F0 00 21 10 78 3D 19 xx F7
Lift Curve F0 00 21 10 78 3D 1B xx F7
I have found this information really useful and I hope you do too. And please let me know if you find anything else you can tweak on the Seaboard RISE!