Overlay Design: Best Of Musical Grid Layouts

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.

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.


Hi there, I’m coming from the LinnStrument world, just bought a Morph. Loving it so far.

I’m seeing the 24 notes from left to right as a common setup in many of these templates.
I have a question, but I’m sure the answer is “because that’s the way the math works for the layout,” BUT I’ll ask anyway:

Is there any reason folks that are building these templates aren’t adding one more note at the end of any given note-based template? In others words, for example two full octaves from C2 to C3 to C4? Because if you choose to slide from the C, and your synth is set to slide +/- 12, 24, or 48 notes, then you’ll fall short by at least 1/2 step of hitting your intended full octave, musically. Rather frustrating.

1 Like

One reason is that you can put several Morphs side-by-side to increase the range. (If you had the last C as the rightmost note of the left and the leftmost note of the right Morph it would be double - and (in case of piano-like layouts) disrupt the finger pattern used from a piano.
Also the width of keys is already on the narrowish side with 24 keys (narrower than on a fullsize-key piano).
The default piano mapping tries to mitigate the problem for people with one Morph by splitting the rightmost white key into B at the top and C at the bottom.

1 Like

Got it! It’s making sense now. Thanks for the idea!