Adding an MPE keyboard to the E1

Has this been discussed somewhere before? This is a “spec” to incorporate an MPE keyboard to the E1. The goal is to allow to play synths from the E1 itself, send notes to program sequencers, play pads and arpeggios… The goal is not to cover piano Études or substitute your 8x8 pads groovebox on live performances.

Maybe there is another product that already implements a keyboard with knobs and this detail here is not needed but it was fun to write this down anyway. :slight_smile:

The E1 has 12 touch-sensitive knobs, two buttons already used to go up and down, and then some more. This is all the hardware needed to have an MPE “keyboard”, right? The chromatic scale has 12 notes and most scales likely to be used by E1 owners will have 12 or less notes. And anyway, with the arrows up & down longer scales could be covered as well, just not as conveniently (and there is the display too).

This is how it could work:

  • The notes would be placed in two rows without gaps, with the root note in the bottom left followed by the first interval on the right, and jumping to the row above for the 7th interval. Just like your average pads / groovebox.
    • In theory there could also be a representation of a piano keyboard, with the bottom row for white keys and the top row for black but… the regular piano layout assumes 7 white keys in a scale, so either we miss a knob or we need to improvise a solution like using the knob of the top right for B…
  • Tapping/touching the knobs produces the expected toned pitches, just like a piano keyboard or pads. This would be enough for a minimum viable product.
  • Holding and turning the knobs produces microtones. We could consider several options:
    • Each knob can cover their own pitch range without overlapping with the ranges of the other knobs. In a chromatic scale that would be half semitone up & down.
    • Each knob can reach until the note of the next knob. In a chromatic scale that would be one semitone up & down.
    • Each knob can go all the way up & down as long as you keep turning the knob.
    • No matter what, a double tap on the knob would bring back the original pitch for the knob.
  • There are more details that can be considered:
    • Mono / Poly
    • Sustained notes, where a note plays until you touch the same knob again.
    • Legato, where a note keeps playing until the next knob is touched.

This keyboard could be programmed without hardcoding the chromatic tones. Other scales, traditional or contemporary microtonal, should feel at home as well. With a display and a desktop editor, the E1 already has the infrastructure to offer all kinds of customization. This would make the E1 also attractive to the very interesting, experimental and (still?) niche “microtonal crowd”. :slight_smile:

2 Likes

It’s a good idea !
I was shy to propose something like this and more so no chops for Lua /JSON

I’m also still recent to E1, reading the forum… I haven’t come across how to do “more” with
Tapping/touching the knobs, say to produces the expected toned pitches @icaria36 mentions.

2 Likes

I believe this is already possible with events.onPotTouch and midi.sendNoteOn/midi.sendNoteOff

Set sliders in the middle to start and use the slider position to send pitch bend messages on value change for the right channel (depends on the pitch bend range of the destination).

You need the control set to line up with the knobs so the turning updates the value for that control.

Double tap is hard to differentiate from playing two notes. I’d probably just put a reset button on the screen.

All these note priority things could be implemented however you want using some state stored in variables but you have to keep track of what has and has not been pressed.

You could program other layouts too.

You may want to start playing around with the LUA interface if you want to tinker around with stuff like this.

3 Likes

Thank you @adamc for your technical assessment! I’m not a software developer although I can’t say I have no experience with Lua (I coded a Wikipedia template once, years ago, most probably a way simpler project than this one). I’m not sure I have the skills and the time to pull this off, even before considering that I’d like to use my limited free time learning music and enjoying the E1 I just got. :sweat_smile:

I’ll look at the Lua docs, but if someone with programming skills finds this project interesting, please go ahead.

1 Like