I made a live-stream YouTube presentation about the EMMMA-K at Virtually Maker Faire on May 23, 2020 at 9:30 AM Pacific Daylight Time (PDT). Info is here: Virtually Maker Faire.
Project Description
This is an Electronic Music Keyboard that produces MIDI streams over USB and can be used with any computer software or music synthesizer that can handle USB MIDI.
It is modelled after the Kalimba which is a very popular and low cost musical instrument that is sometime called a thumb piano. The layout of the “keys” is such that it is quite easy to play after a bit of practice and it has potential to be a unique kind of performance instrument. Because it generates MIDI the sounds it can produce are only limited by your software or synthesizer and your imagination.
This is a very rough first prototype but it works far better than I ever expected. Yes the case is just a cardboard box of an appropriate size!
Technical Description
The keys are touch keys and since there are 17 of them it requires two microcontrollers to handle that and keep the latency to a minimum (less than 5 milliseconds at the moment). The Master controller generates the MIDI over USB. It processes the first 11 touch keys and communicates with the slave that processes the rest. The slave can also handle some function keys and in this prototype there is only one on the bottom of the case which enables pitch blending.
The Master also receives tilt information from the Tilt Sensor and this is used right now for pitch bending when it is enabled by the touch key on the bottom. When pitch blending is enabled tilting the case up raises the pitch by up to one semitone.This is functional but it needs some work.
The processors used for the Master and Slave are the Teensy LC. I chose this processor because of its low cost and good support for touch pins as well as USB MIDI.
The tilt sensor is actually a somewhat dated model of a flight controller for a quadcopter. It is completely overkill for this project but it was easy to implement and I had a few of them in my parts box. As well as tilt it also produces roll and yaw signals which can be used for other effects (TBD).
The code for this project is at a very early stage however I have put it on Github in two repositories:
https://github.com/RocketManRC/EMMMA-K_Master
https://github.com/RocketManRC/EMMMA-K_Slave
Performance
My only complaint with the keyboard right now is that it is a little too easy to hit two keys at once with your thumbs. There is a trade-off between spacing to make that better and the resultant extra reach required to hit the upper keys without shifting your hands. My next version will be 3D printed so I can experiment with that trade-off in software.
I had the first working version of this prototype completed on March 19 just as measures for combating COVID-19 were ramping up here. I decided what better way to test and improve this instrument than produce some music tracks related to that. That became a 14 day obsession that resulting in this album on Soundcloud:
Antibodies