I've been using Uberchord for a few years by now and it's just amazing. It's all about chords, rhythm and songs. This is no child's game, though, you actually learn how to play. The recognition works for most of my guitars and is borderline crazy, even showing me if I put a finger on the wrong fret. It won't let you just play anything and still pass. They have courses library (they call it learning path) and a pretty large catalog of popular songs. I wish they had solo training, but all in all, highly recommended.
Sibelius - Sibelius is a virtual score creation tool which allows composers to easily create new piano scores, developed by Avid.
Fretello - Duolingo for learning how to play guitar
MuseScore.org - Create, play back and print beautiful sheet music with free and easy to use music notation software MuseScore. For Windows, Mac and Linux.
Justin Guitar - Over 750 completely free guitar lessons!
Finale - Finale, the world standard for music notation software, lets you compose, arrange, notate, and print engraver-quality sheet music.
Guitar Trainer - For guitar, bass, banjo, mandolin, ukulele and cavaquinho