Skip to content

Jugbot/Funkey-Keyboard

Repository files navigation

Funkey-Keyboard ヽ(⌐■_■)ノ♪♬

A piano with a built-in rhythm game!

This was a project for New York University's prototyping design class (EG1003) for spring of 2018. The design won the Nick Russo Award and the I2E Award for Innovation.

The idea behind this prototype was to make learning the piano easier by turning it into a sort of rhythm game. Other similar solutions exist out there such as pianos that light up the next keys or tablet apps that record audio from an existing piano and use it as an input for a a game-like learning tool. This prototype is slightly different in that it integrates 8 leds directly under every key. There is also the possibility of modularity due to the chainable input and display.

Check out the video demonstration.

Implemented
  • Automatic conversion of midi files to playable songs
  • Real time playback
  • Pseudo-random color change for differentiating notes
Unimplemented
  • Tempo must be input manually (bpm variable in code)
  • The circuit board for the buttons failed, so input recording and scoring was not able to be tested
  • As such the menu with scrolling text is not used in the last release and songs must be set beforehand in-code

Basic Specs

  • Raspberry Pi 3
  • Python 2

Dependencies:

  • pyllist
  • python-midi
  • adafruit-gpio

Hardware

I used the ws2811 addressable rgb led string as a display.

For the inputs I decided to use mcp23017 io port expander to demonstrate the possibility of modularity.

Image of ortho explode view

Button Input/ LED Mount Electrical Schematic
Image of pcb board Image of electrical schematic

About

A piano rhythm game with scrolling lights!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published