In early August 2017 I was 15 and looking to partake in some kind of engineering project that would be fun and also help me learn new things. For a long time I had an Arduino Uno that had been sitting in a drawer, and for the first time I took it out to experiment with it and create something new.
For a long time I had been inspired by player pianos — it’s something about the way the keys move on their own that make them so wonderful. I wanted to create something like that — something that didn’t only work but also impressed the viewer — for a cheap cost.
One of my goals in creating this was to show that it’s possible to replicate amazing things for little money, and I think I proved this. While a player system from Yamaha or Pianodisc cost upwards of $10, 000, I built my own system for a relatively cheap $650. Not only that, but once the $10, 000 player piano is purchased, you have to purchase extra apps and songs to play on it. Overall I’m very satisfied with the way the piano turned out, and I’m excited to use it in the future.
A document detailing the process of building the player piano can be seen here: https://drive.google.com/file/d/1uUG9_p_ZxxOJA7IN526V5-fykXMjAesL/view?usp=sharing
Features- Play any song from a MIDI file, which is a file type (similar to mp3) that saves the specific notes of a song. MIDI files are widely used, and any song can be found in this file type.
- Connect to the piano via wired connection to a computer or Bluetooth connection to a smart device.
- Programs like Synthesia and Piano From Above make it easy to instantly play any song. Use PianoStream, a MIDI streaming app, to play songs on the piano like a radio for hours.
- Easily record songs to MIDI files using a digital keyboard and instantly play it back on the piano.
- The piano retains its normal functionality, even while the piano is playing! A pianist is able to practice or play a song along with the piano.
- Performance - The piano is able to decode the MIDI information and schedule each key to create the intended sound, even if the information sent to the piano is impossible to play.
- The piano takes control on the damper (sustain) pedal to create a realistic performance
- The system can control the volume (velocity) of each key to play a note softer or louder depending on the MIDI information received.
- A control box on the front of the piano enables an on/off switch, volume control with a dial, and buttons to change the piano’s settings.
- Be able to record your own MIDI files using the piano
- Incorporate both audio and MIDI
A detail of the build process, the code, and other videos can be found on my webpage: https://brandonswitzer.squarespace.com/player-piano
Comments