Our team was looking to do something interactive and take an aptly named leap with hardware we've never really had the chance to explore before, or lean towards a machine-learning-esque pure software project.  However, we were all unanimous in our wish to scope out a project we could complete.  We started with an idea for machine mixing song lyrics with an pulsing LED Display, but wanted more elements to our Hackathon project.  After some synthesis, we agreed on a digital GUI that can convert music files into user-playable rhythm tracks combined with a futuristic motion-tracking keyboard.

What it does

 Piano Piano Revolution (PPR) has two integrated components.  The digital portion allows users to easily create a piano-playable note track from a music file, complete with an interface reminiscent of minimalist arcade rhythm games.  

 On the hardware side, we have a motion-tracking keyboard which can not only play notes, but also control the software portion of PPR as well.  LED lighting enhances the future experience vibe.  

How we built it

 On the software side, I wrote the rhythm game GUI with the PyGame library.  Meanwhile, Eric wrote the MIDI conversion software using Python and the MIDO library.  

 On the hardware side, Kevin and Kim worked on molding the Leap Motion to interface according to our piano model, through usage of the Leap Motion Python API.  Eric fabricated the acrylic piano from pieces he laser cut.  

Challenges we ran into

 The biggest challenges we ran into was integration and sounds.  Despite doing our best to make code modular and follow good coding practices, the biggest struggle was hunting and busting all the obscure bugs, some perhaps caused by exhaustion.  Specifically, generating a specific sound from each key posed a challenge due to the lack of documentation on the library we were using, FluidSynth.  

Accomplishments that we're proud of

 We're proud of getting every single individual component to work.  It's fortunate that we were able to divide up the tasks in a meaningful fashion.  No team member was lacking in work to do.  

What we learned

 On the whole, we gained a deeper understanding of the Leap Motion API and Python coding, as well as extrapolation and troubleshooting poorly documented libraries.  

What's next for Piano Piano Revolution

Future directions could improve graphical improvements to the digital GUI, as well as tighter integration into an "all-in-one package" for the project.

Built With

Share this project: