I'm currently involved in a project which involves taking a MIDI keyboard and streaming the the data into a GUI based on the ABC musical notation (an easy to read notation used by traditional and folk musicians). I chose to use C# by recommendation and so far, having had a fair bit of help, have been able to achieve streaming the data onto a stave.
The next part of this project is to change the first octave of a keyboard into an editing suit so that it can make amendments to a musical score in real time (e.g. clear score, move back/forward by one space, delete note, add vibrato etc). I don't think this should be a big problem, however I may need a little help with some of these things.
The biggest problem I am faced with is recognizing chords from the MIDI input. I thought about using a sequencer, but don't really understand how to get this to work. If anyone has any other ideas and coding suggestions on how I could tackle this problem, I would appreciate it very much, am at my wits end. If you would like to see any parts of the code so far, let me know.

Many Thanks