BuzzJam, a music hackday where artists and coders collaborate, tasked us to build a new instrument.
Before the event, Greig, Sidd and I had many calls discussing potential ideas. Eventually after talking with our original artists (they couldn't make it) we went for a keytar with Nintendo Game Boys as synthesisers.
Greig was in charge of modelling and printing the housing for the keytar. It was custom modelled to ensure great ergonomics, leave enough room for all of the components required and to look super cool 😎
Guitar Hero controller necks were chosen not only for their form factor but also for their aesthetics, keeping them in-theme with the Game Boys. The necks were rewired to output the button presses to the Arduino MEGA. Luckily the buttons could easily be read using the Bounce library for Arduino and
INPUT_PULLUP pin types - that made things very straightforward.
The MEGA captured the button presses and sent appropriate MIDI signals over USB serial into the Raspberry Pi.
We stripped this down to the bare keyboard and had the MIDI also going into the Pi.
Taking in all the MIDI, and running it through PD Extended we got this to manage and re-map all the button presses from the necks. The PD sketch output to a MIDI thru box to split the MIDI data to the Game Boys.
Our two Game Boys were modded with a device called an ArduinoBoy and a line output. The ArduinoBoy accepts MIDI signals and converts it into a format that is able to be send to software running on the Game Boy.
The software, called mGB, synthesised the signals into sound which were output through the modded line output 3.5mm jack and into the artist's laptop via an audio interface.
mGB's settings for sound output could be modified using the second keytar neck by sending MIDI CC events.
This was built into one of the necks and was plugged directly into Them&Us' laptop. On the laptop was their DAW and a program to detect a hand in front of the leap motion and translate distance into MIDI CC events they could map to any control in the DAW.