STATUS:
The status of this application is in design and development. Being a new project, there is much to do.
Please see the section below CHANGELOG for a list of changes
The current release is version 0.7
PREREQUISITE:
The application named "MusicalSkillCoach.jar" is a java application and needs the latest java runtime environment (version 6) to work.
You may obtain a copy of the latest java runtime environment by downloading an installing the Sun "Java Runtime Environment" (JRE) located here:
http://www.java.com/en/download/index.jsp
With the JRE installed, running the Musical Skill Coach should simply require double clicking on the jar file.
USAGE:
At the moment, it it barely functional for sight reading notes and for analyzing timing.
If you have a midi keyboard you can hook up to your computer, make sure it is connected and turned on before you run the application.
After it starts, all the midi devices the system recognized should appear in the selection box.
Select the midi keyboard from the selection box.
If all went well (it does with my keyboard), pressing keys on the keyboard will show as being pressed in the application,
and pressing keys in the application will get the midi keyboard to play that note.
If you have no midi keyboard available, it is still usable with the graphic version of the keyboard, although timing is fairly unusable and is intended for use with a midi keyboard.
Select the "sight reading" tab to read the musical notation and select the correct note on the keyboard.
To start, press the 'middle c' key on the keyboard
The correct note selected will cause the computer to choose a new note at random.
An incorrect note will not.
As you practice your sight reading, it will update your accuracy and statistics on the right.
To stop and/or to reset the stats, select the timing tab and re-select the sight reading tab.
Select the "Timing" tab to practice your timing. Any note pressed will register as a key pressed, although the notes presented are for the C Scale (Thumb, index, middle, Thumb -- cross under, index, middle, ring, pinkie and back down)
Unless you have an actual midi keyboard, this tab is fairly useless.
At the moment, it is locked in at 60 beats/min
When you press a key, it calculates the time as being either up to 1/2 beat early or a 1/2 beat late and registers it in one of 100 timing "slots"
The timing slots to the left of the red line (up to 1/2 of the entire beat) means you're early
The timing slots to the right of the red line (the other 1/2 of the beat) means your're late
The objective is to make sure you're as close to the red line as possible.
LEGAL STUFF:
This application is an open source project under the GNU GPLv3 license and is free for use by any individual who may find it useful.
Being under the GNU General Public License version 3, the author retains all intellectual property rights as determined by said license.
The intended audience (the user) is a music professional and/or a music student.
The purpose of this application serves several purposes:
1) To satisfy my own (the application's author) personal desire to learn to play and improve my ability to play the piano
2) To assist other students learn to play their musical instruments (other instruments where technically feasible)
3) To assist music instructors to evaluate their students' abilities and help identify their limitations
Other audiences may include computer science professionals wishing to make use of some of the functionality in this application, provided they adhere to the GNU GPLv3 license
The source code to the application is provided and contains the following copyright notice:
Musical Skill Coach - An interactive midi device friendly program to help music students improve their skills
Copyright (C) 2011 Paul-Emile Gaudet
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
TODO:
Lots and lots of stuff such as:
- Still need to design and implement a half decent way of displaying notes and entire sheet music
- The sight reading tab needs to have a better way to pick notes so they are not just random, but have some basic flow as well
- timing tab need to be more than just keeping the beat... it needs mixes of whole, 1/2, 1/4, 1/8, 1/6, dotted notes and rests
- Design the app to support different instruments such as flute, recorder, xylophone, etc
- be nice to network multiple apps so several people can practice together?
practice tab in particular needs the following:
- new music score tutor mode (gives the finger positions and waits for you to press the correct keys before moving on to the next)
- advance the sheet music as you're playing
- provide a more advanced practice mode where it's either metronome or no feedback at all while you play
- come up with a way to analyze your performance and provide a report for things like
- missed notes
- extra notes
- timing, or lack of
- pauses
- note velocities (e.g. playing a loud note too softly, etc)
CHANGELOG:
0.7
- now you can pick the number of keys of your music keyboard
- started to implement keys/chords/scales selection and reflect scales in the timing tab
- Added the first 8 bars of Beethoven's "Moonlight Sonata"
- Started working on the practice tab, is still far from finshed and the rendition of the music score leaves a heck
of a lot to be desired.
Paul.G.
0.6
- various backend changes
- change timing to include 1/8 notes
- fix a possible hang if no sight reading octaves were selected
Paul.G.
0.5
- Added note identification by letter
- Added octave selector for note identification
- Put basic menu in place
Paul.G
0.4
- fix the problem of double processing midi events (one down and one up) that was messing up the stats
Paul.G.
0.3
- clean up the presentation and display the clef for the bass/treble staffs
- add sight reading statistics
- various backend changes
Paul.G.
0.2
Besides the sight reading tab, I added another one to practice my timing.
Paul.G.