Update 22042019 [Major MIDI Module Improvements; Step Sequencer and Granular Fixes]

Hi all

Time for the next update! This will be the last one before we head off to superbooth in the coming weeks.


With this update we’ve covered a variety of requests for the MIDI module as well as simplified the use of the module. This update also comes with 2 presets, new versions of the 8-voice wavetable synth patch demonstrating the changes we made to the MIDI module (see below).


MIDI Module

  • Removed V1-V16 toggles from MIDI Module
  • Added CH1-CH16 toggles
  • Added CCA-CCH outputs and parameters
  • Removed pitch bend data from pitch output
  • Added new pitch bend output

In-depth description

It’s now easier to use fader and knob boxes sending MIDI controller data. Previously the MIDI module would only output controllers 74, 7 and 1. With the new CCA-CCH parameters and outputs it’s possible to use 8 MIDI CCs per MIDI module. The P-page can be used to set the controller numbers.

Previously the MIDI module would always accept MIDI data on all channels (omni). It’s now possible to use the new CH1-CH16 toggles on parameter pages 1-2 to control which channels are accepted by the MIDI modules. By default all channels are enabled (omni). Use the toggles to turn off the channels you want to ignore.

Previously, we had V1-V16 toggles in the MIDI module, to control how the modules would be tied to voices internally. This has now been removed, so it’s no longer necessary to set voices for MIDI modules. The software will now assume that if you have two or more MIDI modules sharing a MIDI channel, they are voices, and if a note comes in on that channel, it will be assigned round-robin to the MIDI modules, which means that the first candidate MIDI module will get the note and output a pitch change. The MIDI module remains busy until the note off occurs, so consecutive notes are assigned to the next available MIDI modules accepting that channel.

Any pitch bend, pressure or CC data that comes in will be associated with the module that is playing the note. So if a MIDI module accepts data on channel 5 and was assigned a note on that channel, consecutive controller or pitch bend messages on that channel will go to the same MIDI module. If no note is currently playing the data will go to the first MIDI module that accepts that channel.

The above behaviour allows us to handle both MPE and normal controllers sort of equally, so the MPE toggle in the Global menu has been removed, which further simplifies using the MIDI module. By default, the MIDI module has all its CH1-CH16 toggles enabled, which means it accepts data on any channel.

So if you have a 4-voice patch with 4 MIDI modules with all the channel toggles enabled, and you have an MPE controller, this will work out of the box - the pitch bend and CC data will come out of the same MIDI module that got the note data. If you have an MPE controller which is using a master channel (e.g. channel 1) then you can turn off that toggle in all your MIDI modules, and insert a 5th MIDI module that only has that specific channel enabled, so you can get the data for that channel seperately.

For non-MPE controllers, pitch bend or controller data will go to the MIDI module that is currently playing a note on the same channel. If you play multple notes simultaneously it goes to the first note. If there are no notes playing it goes to the first MIDI module accepting data for that channel.

To give the user more flexibility, we removed the pitch bend data from the pitch output, and created a new Bend output, which outputs the pitch bend data as a bipolar signal. To achieve the old behaviour, you just route the Bend output to the Pitch input of your oscillator, while still routing the Pitch output to the Pitch input as well. The two signals will add up and you’ll have a normal tracking pitch signal with the bend applied to it.

The new Bend output also allows you control over the range of pitch bend, which was also requested. You just scale the Bend output using shift-right and encoder #4 (instructions elsewhere in the forum), so if you want a small pitch bend you can set the scale factor to 0.1 while if you want a drastic bend maybe you put it at 0.5 or more.

The Bend output also allows you to apply pitch bend to multiple voices. If you have a non-MPE controller like the arturia keystep for example, and you have the ability to set the pitch bend for example to channel 1, with the note data being sent on channel 2, you can set all your MIDI modules to accept channel 2 data and use those to control your voices, while you have one additional MIDI module set to channel 1, which only outputs pitch bend data. You can then route the pitch bend data using a BUS module to all the voices to achieve global pitch bend.

An additional advantage is that you can now use the pitch bend data on a MIDI channel for controller parameters without necessarily using it with a MIDI note. The above preset files demonstrate the use of the Bend output in 2 different scenarios, using the 8-voice wavetable synthesis patch which typically loads when your SSP starts up.

Other fixes and improvements

  • Removed heading with categories in module catalog (N-page)
  • Fixed granular module crash when patching signal into freq input.
  • Added MIDI start/stop support when MIDI sync is enabled in step sequencer module


That’s it for now, we’re off to superbooth!