You Play This MIDI Guitar Like the Real Thing
Marcus Stephen Edwards wasn't satisfied with standard MIDI controllers, so he designed this MIDI guitar that plays like the real thing.
MIDI instruments are great, but very few of them have any resemblance to their traditional counterparts. You might use a piano-style keyboard as a MIDI controller for producing the sound of trumpets, for example. Marcus Stephen Edwards is a budding hobbyist luthier and wasn’t satisfied with that, so he designed this MIDI guitar that plays like the real thing.
The “real thing” here is actually just the head of the guitar and the neck to the first four frets. But you still play notes like you would on an actual guitar: by pushing down on the strings just before the frets. The system reads those like button presses, using a method similar to keyboard matrix scanning. Each fret has a wire connected to it and each string has a wire connected to it. By quickly scanning those 10 wire in sequence to look for continuity, it can determine which strings are pressed down at each fret.
A Raspberry Pi does that scanning through its GPIO pins according to a Python script written by Edwards. It looks for those “button presses” and plays the corresponding guitar notes through the Pi’s 3.5mm audio jack using the FluidSynth library.
To further increase the “real guitar” appeal, this system lets the player bend strings (increasing pitch). There wasn’t a feasible way to detect actual string bending, so Edwards added an Adafruit FLORA development board that monitors an LSM303 accelerometer module. When the player moves the MIDI guitar up and down — as everyone naturally does when bending a string — the system increases the pitch.
Edwards even provides instruction on how to make the guitar neck and head itself, which should be fun for the other aspiring luthiers out there. And whether you do that part or not, this MIDI guitar should be really cool to play.