I would like an application created so that it can detect musical notes and chords from a single musical instrument played through a microphone, such as a piano, and then determine what notes, chords, pitch, duration and rhythm were played. I would prefer it to be developed in .NET but don't mind it being done in Objective C.
For example, if I played the note C on a piano the application will detect that I played C and at what pitch and duration i.e. if it was a crochet, minim, quaver etc. The application will then display the note I played.