eMusicTheory.com practice: java-based online drills. Greg is perpetually after me to relearn to read music so I can pick up the melodies from his lead sheets, and he’s so, so right.
So far I’m finding Garageband is not as well suited to my needs as the old free version of ProTools. I’m (at the moment, anyway) just disinterested in the midi stuff, although the audio fidelity of many of the instruments is quite astounding.
I should link to these two methods to get around the irritating lack of midi importability. I have actually long used the quirky but powerful Harmony Assistant and Melody Assistant to learn parts by ear. The great strengths of these programs are unfortunately hidden behind a complex and confusing interface.
The programs import an unbelievable number of music notation formats and – and for me, as a non-reader, this is key – can convert a lead sheet into tab for any given stringed intrument. You can even customize the tuning of the intrument and get tab based on that. Since there are so many midi files floating around the internet, this software would make a good companion to Garageband, without a doubt.