This application requires a modern web browser supporting web audio to run.
This application does not currently work properly on iOS devices because Apple limits the types of files that can be opened using mobile safari to images.
TimeStretch Player is a free online audio player that allows you to loop, speed up, slow down and pitch shift sections of an audio file.
This makes it a great tool for practicing or transcribing music.
To get started open a audio file. The supported file types depend on your browser but mp3 and ogg should generally work. You can do this by clicking on 'Open Track' or dragging and dropping a file onto the page. On Android you need to select an App that can provide an audio file for instance google drive.
After you have selected the file time stretch player will need a few seconds to process it. Once it's done it will display you the waveform of the track. You are now ready.
To play the track you can simply press the play button or hit the space key on your keyboard. To jump to a specific location either drag the yellow play head with your mouse or click on location in the wave form.
To change the speed of the playback without affecting the pitch simply turn the stretch dial. The more stretch, the slower the playback will be.
If you want to shift the pitch of the track turn the pitch dial. This will change the pitch in semitone increments. For finer adjustments you can use the tune dial which changes the pitch in cents.
To loop a region of the track enable loop mode by clicking on the loop () button. To select the start and endpoints of the loop you can drag the handles at the edge of the waveform display. Another way to select the loop endpoints is to use the [ and ] buttons which will set the endpoint to the current playback position.
The player will remember the settings you used for every file. This is helpful for practicing but if you don't like this behavior you can also turn it off in the settings.
|Set loop start||s|
|Set loop end||e|
|Rewind n seconds||1..9|
What file types are supported?
That depends on your browser. MP3 seems to be decoded by most browsers. Support for MP4, and OGG depends on the browser. FLAC seems to be generally unsupported. There is a table that lists the supported by file types on developer.mozilla.org.
What other similar software can you recommend?
I also wrote a similar tool for linux called play it slowly.
I get a DECODING ERROR what does this mean?
It means that your browser could not decode the audio file selected, likely because the file type or codec is not supported.
Why does the player stutter when it is running in the background?
Browsers throttle websites that are running in the background to try to save power. This can interfere with playback.
Which browsers/devices are supported/recommended?
If you are using Android I suggest chrome, firefox seems to be too slow on Android.
Safari on a mac works too but is in my expirience more buggy.
Safari on iOS does not allow you to open audio files so while it might work in theory it's practically useless.
Internet Explorer is not supported.
Are my songs uploaded to your server?
No! I respect your privacy. All of your songs stay on your computer.
Can I use this app offline?
Yes you can if you are using a modern web browser like firefox or chrome.
Offline mode is enabled. You can open this application even if you are offline.Offline mode is not working with your current setup.
Can I download the timestreched audio?
Yes you can do that using the save menu item in the top bar.
These papers inspired the design of the algorithms that power TimeStretch Player. But it's not using an exact implementation of either.
Improved phase vocoder time-scale modification of audio.
Jean Laroche and Mark Dolson
In IEEE Transactions on Speech and Audio Processing, Volume 7, pp. 323–332.
PhaVoRIT: A Phase Vocoder for Real-Time Interactive Time-Stretching
Thorsten Karrer, Eric Lee, and Jan Borchers
This software was built using the following open source components. I want to thank all of their authors for making my life easier, and projects like this possible.