Submit (via email) a tentative project proposal, including: team member names, brief description of project (a paragraph or so), the main technical challenges, milestones/tasks to accomplish this, the primary obstacles/concerns, how you propose to evaluate the outcome.
Use the phone as a feedback device which will tell you if the notes you are playing on an instrument are on pitch. Visual or haptic feedback could get more or less intense depending how far you are off the correct note. Could also be used to check if you are playing in time with a metronome. Might be best to load music you will play into phone as midi files.
If we loaded a pre-defined music score using midi - and displayed this on the screen which scrolls as you play. You would need to tell it how fast you are going to play the music - usually expressed as beats per minute. It then would measure the pitch correctness as well as rhythmic accuracy using visual feedback - but often music needs to speed up and slow down in sections to make it more expressive. If we strapped the phone onto a piece of headgear which positions it about 10 inches in front of your eyes. you could use head movements to either speed up or slow down the music - which is quite natural - many musicians move their heads or their feet in time to music when performing anyway.
- Real-time processing of the audio input to recognize the frequency of a note.
- Different instruments have a range of timbre with transient harmonics which can dominate the fundamental frequency momentarily - the challenge will be to decide on an optimal time window to use for the pitch recognition.
- Real-time feedback display
- If time permits, inferring rhythm from a trace of accelerometer inputs so that the user can control performance speed.
The real-time pitch recognition software can be compared against some more accurate non-real time pitch recognition on a standard PC. The non-real time recognition software will use a recording of the musical performance which was being used by the N900 to evaluate the pitch in real-time.