Overlay Design: Best Of Musical Grid Layouts

Have experimented with quite a number of grid layouts. Here the three imho most interesting ones.
They all have in common that there are 24 semitones horizontally (like the piano overlay) - so if you have the finger distances memorized they all play the same in that regard.
24 semitones also have the advantage that the Morph pitch bend rounding works well with this distance (doesn’t work reliable with arbitrary ones. If you want to get the most out of the layouts then I would suggest to practise with pitch rounding off though :slight_smile: ).
Particularly the 1x24 and 4x24 layouts are also well-suited to be played without any overlay - playing just by ear. (8x24 is also imaginable to play without overlay - would require to learn the vertical “string positions” though which is a non-issue for 1x24 and trivial for 4x24).

All layouts are set up with MPE default settings (set pitch bend to +/- 12 octaves, pressure is mapped to channel pressure and the vertical axis to CC 74).
The color coding has a distinct greyscale value for each note in the 12-tone scale. Imho this is better for arbitrary tonalities than e.g. black’n’white highlighting of the major C scale like on a piano.

Here a convenient bundle with all layouts:
24x8, 24x4 right Morph (or only Morph), 24x4 left Morph, 24x1 in four variants for 1-4 Morphs
SenselMorphGridLayouts.zip (2.3 KB)
Bundle with Affinity Designer overlay graphics (for PNGs just save the images shown below. When you print these PNGs with 300 dpi and cut them out then they exactly fit into an Innovator’s overlay):
SenselMorphGridLayoutsAFFiles.zip (566.6 KB)

24x8 is essentially a slightly shrinked Linnstrument: 8 “strings” tuned in fourths - all fourth tuning, like e.g. on bass guitar. As the cell height is only 1.42 cm the y-axis modulation is set to relative mode.
This can be played with just a single Morph and allows a tonal range of about 5 octaves.

For 24x4 the four areas are tuned one octave apart. Can be played with one or two Morphs (gives 5 or 7 octaves range). With two Morphs the nice thing is that each hand can play on a dedicated Morph. The upper two rows of the left Morph have the same tuning as the lower two rows of the right Morph. So the hands can play in the same range while in most cases being able to stay on their “home Morph”.
As the rows are one instead of two octaves apart each note is occuring twice with an offset of half a Morph-width. Thus one of both positions is always closer to the middle - so there should always be a viable place where a chord or pitch bend can be played starting from a particular note.
The vertical range is big enough for that layout that absolute y position becomes viable.

1x24 is essentially like the Continuum - just a big xyz area. Nice when having several Morphs that can be stacked horizontally. Gives 2 octaves for one Morph, 4 for two, 6 for three and (guess what) 8 for four.
Gives most precise control over y axis (which is of course set to absolute here). As the y range is so big this layout uses 14 bit MIDI mode for higher resolution.


These look interesting. I’ll have to give them a try. Thanks

1 Like

exactly what i was looking for - thanks! did you do this all by hand in the editor?

Yepp, it’s only 8 vertically stacked “strips” with 24 semitones each, so not too much work :slight_smile: The horizontal cell boundaries are only in the image - it’s continuous by default. You can enable the Morph quantization feature though. Takes some of the fun out of it imho, but possible.

1 Like

wow, i wouldnt have thought the one MPE note per strip thing would have worked, but it does! going to be spending all morning in Equator now.

1 Like

and the one note grid is great too. i thought it was broken.

It’s taken me a while to get this to work, because the app I was using for monitoring (midipipe), seems to have a different idea of pitch bend range than the sensel app.

In my version of the SenselApp, the pitch bend range is in mm, not in semitones. The docs don’t really explain what means.

What’s the relationship between morph pitch bend range and the musical pitch bend range-- or is that just something that’s a property of the midi receiver?


Another question regarding the 1x24 setup --does the MPE control send new note on messages when you trigger the same area multiple times?
I can get 2 or 3 independent note control if I hit the pad simultaneously with 2 or 3 fingers, but not if i’m holding a note then tap another one-- the 2nd and later taps are ignored.
I’ve been using thumbjam and the roli seaboard app on ios, and both react the same way/

for the 1x24 setup, when a finger touches the area then

  • a free MIDI channel is reserved for this finger exclusively. For my personal setup I have split the available midi channels (2-16) between the four morphs I have. So Morph 1 selects a free channel from (2-4), Morph 2 from (5-8), then (9-12) and finally (13-16). So I can play with up to four fingers on each Morph (three on the leftmost - channel 1 is reserved for global stuff in the MPE standard). If you only have two morphs, you could split (2-8) / (9-16) and with only one of course (2-16).
  • the pitch bend information that detunes the following note information to the pitch that corresponds to the finger position is sent on the chosen channel
  • a note on with constant note number is generated (C0 for Morph 1, C2 for Morph 2, then C4, then C6) on the chosen channel
  • CC74(MSB)+CC106(LSB) encode the y position in14 bit on the chosen channel
  • channel aftertouch is generated according the the z-pressure on the chosen channel

While the finger is still touching the surface

  • neither note on nor note off are generated on the chosen channel
  • pitch bend is updated according to x finger position on the chosen channel
  • CC74+CC106 are updated according to y finger position on the chose nchannel
  • channel aftertouch is updated according to z pressure on the chosen channel

When the finger is released from the surface then

  • a matching note off is sent on the chosen channel
  • the channel is marked as free again and can be used for a new voice, when a new finger touches the surface

Don’t have the SenselApp here atm. But think to remember that the mm in the SenselApp define the width for an octave. So e.g. 230 mm (full Morph width) would mean you have a pitchbend range of an octave. 115 mm (half Morph width), you have two octaves per Morph - and 460 mm that an octave is spread over two Morphs). Not 100% sure atm., perhaps @alex can chime in?
Defining the pitch bend range e.g. in semitones per Morph would be more intuitive, I agree…

Thanks. So the 1x24 should allow lots of independent simultaneous notes-- that’s what I thought.
Probably my software config then, thanks.

The MPE range of channels to use has currently to be defined in the global per-Morph settings (together with pitch rounding approach etc.) and thus cannot be stored in the senselmap file. (Would imho be nice, if the complete state of the Morph could be changed by layouts, so people wouldn’t get confused why something might not behave as intended).

Meaning: If you e.g. set the Morph to only send e.g. on MIDI channel 1 (or any single MIDI channel) then you will only get one voice. If you only have one Morph best set it to 2-16 for up to 15 voices. (For several Morphs imho it’s easier to split the 2-16 range, so you can just route all Morph devices to the same synth instance. Alternatively you could also have the full 2-16 range for each Morph and a separate synth instance per Morph).

Hey, to clarify a few items, pitch range can be defined in two places:

  1. MPE control. Every MPE area can change the range of its pitch bend range.
  2. MIDI Pitch Range in Morph-XXXX. This defines the pitch range for every other MIDI area (XYZ MIDI Pad, MIDI note, etc.)

We felt that adding the customization to every MPE control was necessary since pitch range is very important to MPE.

As for defining the range with in mm, this was a hard one to decide. At the MIDI level, we are just sending values between 0 and 16,383 (with 8192 being no bend). Each DAW then has settings on how those bend values are interpreted. It could be 48 notes, 12 notes, 24 notes, ect. and we do not have an easy way of knowing this for every DAW. Additionally, we wanted users to create their own Overlays and not be bound to one bend range (a one octave piano would not send the same pitchbend values as our Piano Overlay).

As a result, we chose to put the bend range in mm (most of them in fractions of the 230mm Morph width). So, in the case of our Piano, we chose the usual default of 48 notes for the bend range, which would mean that pitch bend would need to cover 2 Piano Overlays (2x230mm). Thus, the Pitch Bend is set to 460 mm by default. If your DAW uses a 24 note bend range, then you would set the Piano Overlay to 230mm. Or, if you create your own one octave piano and your DAW supports 48 note range, you would set each MPE area to 920mm (4x230mm).

We can definitely understand the confusion, but are not sure what metric would be better without sacrificing customization.

1 Like

Ok, thanks, think I understood the “dilemma” now. To get optimal resolution you want to have an area to use the full pitch bend range and configure the synth to interpret that as the desired pitch bend. The problem arises when different areas should bend a note differently per distance - the synth can only be configured to one pitch bend to note pitch mapping.
Another option besides the mm might be

  • factors: 1:1 means the area sends a pitch bend range of 0…16383, 1:2 0…8192 etc.
  • directly +/- min/max pitch bend value to send
  • perhaps the best: +/- the semitones to bend - e.g. +/- 12 semitones etc. Then the logic would be that the Morph would tell the synth via MPE specific config event to use the pitchbend-to-pitch mapping configured by the area with the widest setting. So e.g. if the user configures a +/-12 semitones and a +/- 24 semitones area, the Morph would configure the MPE compatible synth to +/- 24 semitones and clip the +/-12 semitones area at 0…8192. That appears to be the most intuitive approach to me personally.

Additionally it would be nice to not only have pre-defined choices but the ability to type in any number - e.g. +/- X with X being any number between 1-96 (for the semitone approach below. For factors or mm accordingly X:Y or X mm).

This looks really interesting. Would someone be able to share a short video playing with this lay-out? I’m thinking of buying the Morph but would like to be assured that it can do what I look for.

My questions would be:
If i understand correctly you are using pitchbend strips instead of notes pads here to overcome the 48 pad limit? Does it still register multiple touches on the same row horizontally?

Is there note quantization (to the nearby semitones) for the first touch?

How smooth is the pitchbend between notes?

Cheers and thanks for the awesome work!

regarding videos - will look what I can do (not in the next days probably though).
Yes, using strips. You can play with as many touches per Morph as the Morph allows (or the MIDI standard, or your synth, whatever limitation comes first - usually up to 16) no matter whether the touches are on the same strip or different ones.
The built in pitch rounding algorithms work well with these layouts (this was one of the reasons why I chose 24 semitones per Morph - this works best with pitch rounding, other cell-widths aren’t properly supported. The other reason is that it’s the same spacing as the keyboard overlay has, so you can switch back and forth at will).
The pitch rounding is a global Morph setting and not set up in the senselmap file (you can only enable it for all overlays or none). So if you want that you have to enable it there. I am usually playing without pitch rounding - it’s more challenging but imho also more fun :slight_smile:

Edit: There is one restriction with this approach: Some synths only start to consider pitch bend after they have already played the pitch of the note on signal. Those are unsuitable for these layouts, because the pitch would “jump” to the target pitch, leading to an undesired portamento. But fortunately most synths already add the pitch set before the note on to the resulting pitch - so it works as expected.

1 Like

Thank for sharing your knowledge, very useful! With regarding to the pitch rounding, how would 12 semitones horizontally work out? Would that already introduce issues? I think I would prefer slightly larger touch areas.

Regarding 12 semitones pitch rounding: Would have to try, not sure (@alex?). Would be too wide for me personally. Think I experimented with 18 semitones per Morph at some point (close to standard piano width, three octaves over two Morphs) which the internal pitch rounding algorithms couldn’t cope with.

Think a 4x12 (and 1x12) layout probably wouldn’t be practical as it relies on the ability to reach an octave with one hand (so you can play all chords horizontally “in line”).
But 8x12 might work (disregarding the pitch correction topic). The practicability for vibrato would have to be tried though, quite some wiggling range needed to bend a note a semitone - probably more like for the low notes of a cello or even bass than a violin. And it means half the range of course - or twice as many Morphs needed (good for Sensel :stuck_out_tongue: ).

So the mm measure for pitch bend is the number of mm of morph to sense the full 0-2^14 midi range of pitch bend?

Current options are:

  • 130 – full range is a bit over half a morph width. to get more bend range in controls that don’t take up the full range.
  • 230 – full range = 1 morph width
  • 460 – full range = 2 morph widths
  • 920-- full range= 4 morph widths
  • 1840mm – full range = 8 morph widths

It looks like the goal with these options is to enable finer physical control. At 1840, one morph width is 2^11 or 2048 values, so 8192 +/- 1024; about 8 midi steps per mm. And you can enable slide out of areas for extended control?

In any case, what the full midi pitch bend range means in musical terms is up to the receiving synth.

I got my Sensel in and have been playing with it. It seems indeed that pitch rounding works for 24 semitones horizontally but not that well for 12 semitones or other.

@alex could Sensel look into this issue, seems like a bug? And would it be possible to have finer control over the pitch bend range, to allow for example a pitch bend range of 18 semitones horizontally? Maybe it would be possible to specify the pitchbend range in mm instead of selecting from a drop down.

1 Like

Hello, thank you for contacting us. Yes, we need to add a control to allow you to change the pitch-rounding subdivisions. Currently, it is only set up for the Piano Overlay. For instance, if you choose the default 460mm, it assumes you want a 48 key round and rounds to those values. If you half it to 230mm bend range, then it assumes a 24 key round. And if you double it 920, then it assumes a 96 key round. This is definitely a top priority for the next release. You should be able to choose a range and a rounding.