Getting kids to practice suzuki violin is difficult (especially if they are boys!)
This project involves the creation of an application for Mac OS X (preferably Cocoa) that, in brief, lets students play along on their violin with a predetermined tune - and score points when they get the note frequency and duration correct. The more points, the higher the score.
If this simple version works well, the system could be made more complicated to include some kind of sonic-the-hedgehog like animation... e.g. if you play the note correctly the sonic moves faster, jumps etc. and scores points... i.e. you control the game by playing the music properly, and obstacles that appear result from note changes etc. But that is for much later if the simple methodology can be demonstrated as below.
MORE DETAILS ON IMPLEMENTATION (SUZUKIMAN)
Program allows user to open a comma separated text file, say [url removed, login to view], of the format
C4,0.5 (middle C, half a beat)
D4,0.5 (D, half a beat...)
BAR (end of the bar)
R,0,5 (rest for half a beat)
Program window shows a right-to-left scrolling treble clef (the five lines) with the notes from the text file laid out on the clef, and end of music bars indicated.
There is a score listed in the top right of the screen currently 0.
There is a tempo drop-down box that allows the user to set the speed (in seconds) for each beat. The lower the amount, the faster the music plays, and the more points the user can score when they get the notes right. Largo 1.5 sec / beat (1x), Larghetto 1 sec / beat (2x), Adagio 0.9 sec / beat ([url removed, login to view]), Andante [url removed, login to view] sec / beat (3x), Allegro 0.5 sec / beat (4x).
There is a play button that the user can press to begin the game. There is a five second delay, with each second demarcated with a beep, before the game begins.
The note that is expected to be played changes color temporarily to red. The music scrolls from right-to-left so that the red "anticipated" note is roughly in the middle of the program window.
The computer listens in for this note for the anticipated length of time using the Mac's internal microphone. The system assigns points depending upon what it hears (a rest = a silence):
(1) sound within the desired frequency range ONLY during the desired length of time - 10 points
(2) sound within the desired frequency range but other frequencies as well that last for longer than 10% of the desired length of time (e.g. they played a wrong note as well as a correct one) - 5pts
Playing a wrong note only, or a note during a rest =? no points.
The points are then multiplied by a tempo factor and added to the user's displayed score. The user can then restart the game to achieve a higher score.