# What kind of logarithmic function will translate Play Speed to Octave Change?

I'm using a music speed changer to slow down given music to determine the exact the notes used so I can play the same notes (by ear) on my instrument of choice.

If this were a traditional tape or record player, slowing down the play speed would also lower the frequency (pitch) of the notes played. Effectively transposing the audio to a lower key.

To prevent this, the music speed changer will alter the track, cutting and pasting tiny sections of sound to extend them, so that the pitch does not need to be lowered. (by frequency stretching) Unfortunately, when the program does this, there are uncomfortable clicking sounds, especially where there is a lot of natural vibrato.

At times, I want to hear undistorted sound, and just tolerate the lower pitch.
If I set play speed to 50% then the octave change is naturally -1.
If I choose octave change of -0.5, then play speed needs to be roughly 70% to match.

How can I calculate the exact play speed needed to match the an arbitrary octave/pitch change? There has to be a simple `log` base 2 function I can use, but I don't see how to make it work.

• BTW, “cutting and pasting tiny sections of sound”... that's really not a good way to do pitch-preserving time-stretching. There a libraries that do this in much more sophisticated ways. Elastique works excellently (e.g. used in Reaper), and the free librubberband is also quite neat. They certainly don't produce “uncomfortable clicking sounds”. However, I can confirm that authentic vari-speed shifting still gives the best results for this kind of task. Commented Sep 7, 2016 at 23:22
• I agree that repeating small sections of the sound file is not a good way to do time-stretching. If I found an app for Android that uses one of the more sophisticated methods (no clicking sounds) that would be great. Commented Sep 8, 2016 at 13:24
• What is vari-speed shifting? Commented Sep 8, 2016 at 13:24
• Vari-speed is if you just change the replay rate, including the natural effect this has on pitch. As for Android... I have no clue about that, but pretty sure such an app exists. Can't be all too difficult to wrap Rubberband into an android app. Commented Sep 8, 2016 at 18:20