skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · senior project · projects · 

Senior Project - RachSolid


Java-Based Piano Tutor

Senior Project: 2006-2007
Brandon Booth, Thomas Josephson, Eric Lefebvre, Garrett Lewellen and Nathaniel Watkins

Alejandro Cremaschi, Assistant Professor of Piano and Pedagogy in the University of Colorado Boulder School of Music, is authoring a book that will help teach people of all ages to play the piano. Accompanying the book will be an interactive, software piano tutor. This interactive piano tutor will be able to load and musically display the contents of MIDI files (or MIDI lessons provided with the book), and will allow a user to interact with a loaded piece in two modes.

The first, Learning Mode, allows users to learn the notes and internalize the hand motions for a piece at their own speed. Users are able to play a piece one note/chord at a time. The second, Performance Mode, allows users to practice the piece at tempo. After a user feels comfortable with a piece, this mode puts them "on the spot". They not only need to play the correct notes, but they also have to play the correct notes at the correct time. The software then grades users on their performance and displays which notes were played correctly and incorrectly to help the user see where they made mistakes.

Other interesting features of the software, which was written in Java, include music playback, performance recording, performance grading, and persistence of completed lessons for future playback and/or export of the performance as a MIDI file. This software will allow beginning pianists to learn and practice performing many pieces and help develop their piano skills. In addition, it is quite enjoyable to use. It has been described as being "hard to stop playing" by musicians who have been involved in beta testing.

Splash Screen
Splash Screen
Learning Mode
Learning Mode
Performance Mode
Performance Mode
Graded Performance
Graded Performance
See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (14:07)