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