Those of you who've known me for a while know I like to sing along to songs. You've also probably noticed that many of my favorite songs/artists tend to sing at a higher pitch than I do. Which invariably leads to some awkward singing as I try to hit that high note. Then I discovered that QuickTime Player's AV controls for realtime pitch shifting. A quick test showed that lower the pitch a class or two indeed made previously unsingable songs singable.
Unfortunately while QuickTime Player is nice it doesn't give me the functionality of iTunes (and associated apps like AudioScrobbler
or my lyric widget). Also, finding the source file in my music file can be annoying. Well with a little help of the interweb and AppleScript I was able to whip up a solution. I was able to make a script which takes the currently playing track in iTunes and continue playing it in QuickTime with the AV controls ready to shift pitch. The track keeps playing muted in iTunes so I get credit for playing the track on AudioScrobbler.
tell application "iTunes"
set my_track to location of current track
set my_seconds to player position
set my_volume to sound volume
set mute to true
tell application "QuickTime Player"
set my_movie to first movie
set ts to time scale of my_movie
set current time of my_movie to my_seconds * ts
set sound volume of my_movie to my_volume * 2.56
set show av controls window to true
I know it's not much, but I'm proud of myself none the less.