I've played around with an open source program called Jalmus that's helped me. It doesn't really do what you're looking for though, it scrolls notes on the staff and you need to hit them. It does notes, chords, rhythms, etc.