I am trying to extract raw PCM samples from an MP3 in the iPod Library so that I can play the song and manipulate the pitch, tempo, and apply sound effects (such as filters)
For the song duration, I believe you can simply query the song Asset thusly:
float songTimeInSeconds = CMTimeGetSeconds(songAsset.duration); int songMinutes = (int)(songTimeInSeconds/60.); int songSeconds = (int)(songTimeInSeconds - 60.0*songMinutes);