Just a quick proof of concept. Click the button to pause/unpause the music or restart the song once it's over. Here's how this works: I used ffmpeg and a line of ruby code to split the song into 0.5 second chunks. I then uploaded these into Scratch and made a script which loops through the entire song, playing one chunk after another. When the song is paused the script still knows which chunk it was on and it continues from that point when the song is resumed. Obviously this could be made better with shorter chunks however the smaller the chunks get the more likely the song will lag. btw the song is Viva La Vida by Coldplay. The code I used: (0..241).step(0.5) { |x| system "ffmpeg -ss #{x} -i VivaLaVida.wav -c copy -t 0.5 #{x}.wav"} 241 represents the number of seconds in the song and 0.5 the length of each interval.