

Problem Statement
Prospective students trying to learn piano face many challenges. The upfront cost of a piano and a piano teacher can be too much for incoming students. They also must be prepared to practice and rehearse without any feedback on their own time. This task can lead many to be disengaged and uninterested in learning to play the piano. Because of this, many students stop paying for their lessons and discard their piano. Our solution to this will act as a at home trainer that will use an existing digital piano to reduce the learning curve and cost of a personal piano tutor.

Goals for Our Product
Specifications
Main System
System is applicable to any MIDI keyboard ✓
System will present song library and data analytics to the user via a monitor Screen ✓
Analytics include accuracy, ✓ tempo ✓ , and recommendations
Song library can be easily expanded ✓
User will be able to change the level of training needed ✓
User input will be done with a mouse and be responsive within 10ms ✓
System will light individual LEDs to instruct the user to press those piano keys ✓
The LED harness will have an RGB LED strip for each key ✓
The LED will light up within 20ms of an instruction being sent ✓
We expect the Piano Trainer to be able to accurately teach 16th notes at 120 BPM ✓
The LEDs on each key will light up a different color that corresponds to each finger ✓
The LEDs will light up at a specific tempo dependent on the song choice and difficulty settings ✓
System will use MIDI data to determine if the correct keys were pressed ✓
MIDI Data must be interpreted quickly, within 10ms ✓
System will have advanced error reporting methods ✓
There will be a reported error if the user presses correct note, but for an incorrect amount of time (i.e. presses for a half note, when it should be whole note) ✓
There will be a reported error if user completely misses a note altogether or an incorrect not was pressed ✓
Glove Sub-System
System will vibrate individual fingers if the corresponding colored piano key was not pressed
The user will feel the vibration within 30ms of missing a key ✓
System will have a different color LED on each finger ✓
The LEDs for each finger will light up corresponding to the note(s) that need to be played. ✓
The LEDs will light up within 30ms from the instruction being sent from the main controller.✓
System will not restrict the ability to play the piano by the user
The battery life of each glove will exceed two hours and be rechargeable ✓
The Gloves will be able to communicate to the main board via Bluetooth ✓
Communication will be possible from within 15 feet from keyboard

Block Diagrams
Hardware Diagram

Software Diagram

Components

Key Diagram

Keyboard Components
Flat Keys
36 Strips of 3 RGB LEDs
36 3D Printed White Housing Units
Sharp Keys
25 Strips of 2 RGB LEDs
25 3D Printed Black/Grey Housing Units
Control Box
Beagelbone Black
MIDI Optocoupler Circuit
Line Driver's for Key LED's
Hardware Components
Main Key Housing
Control Box
Amplifier
2 Gloves
Monitor
MIDI Keyboard Circuitry
Glove Diagram

Glove Components
10 Vibration Motors
10 Strips of 5 RGB LEDS
2 Custom PCBs
Bluetooth Module
ATMega328PU Components
2 5V Batteries
Software Components
GUI Functions Library
Music Extraction Library
PySerial
Python Time Library
Custom Python Library

Demonstration Videos
MDR
CDR
FDR
Presentation Downloads
Senior Design Project // Team 22
Meet the team members!

Alexander Charpentier
Computer Engineering
Software Lead: System
Interactions/ Bluetooth Connections & PCB Design

Will Farland
Computer Engineering
Team Lead: Main GUI programming, Multi-level Development & Error Detection

Brendan Gentile
Computer Engineering
Music Lead: Song Library, Note Interpretation & Sound Production

Allison Rizoli
Electrical Engineering
Hardware Lead: Keyboard & Glove System Builds, PCB & Circuitry Builds
