Time Stretching

Description

change the speed of audio in real time without changing pitch

SampleSumo's time stretching technology can be used to change the tempo/speed of an audio source without altering the pitch of the material. This can be done in real time or offline. The time stretching factor may also vary over time and can be changed while processing.
The library handles both mono and stereo audio sources and has various options to balance the CPU usage and quality of the stretched audio. The API for the library is very simple and requires very little time to integrate the technology into your project.

Features

  • tempo/speed changes without changing pitch
  • real-time operation
  • mono and stereo file support
  • time-varying time-stretching
  • multi-platform (Windows, macOS, iOS)
  • CPU load / quality balancing options
  • pull and push modes available
  • packaged in a well-documented SDK

Licensing

The TS library is available as a C/C++ library with documentation, development guide and extensive example code. We currently support Windows, macOS and iOS (let us know if you would like to use it on other platforms).

Contact us for more details, pricing info or an evaluation license to get you started.

Examples

Full music

This example is a fixed-factor (fixed percentage) time stretch.
Sound example taken from Biodiesel Family by snowflake

20% slower 10% slower original 10% faster 20% faster

Solo voice

This example is a fixed-factor (fixed percentage) time stretch.
Sound example taken from Ophelia's Song by Musetta.

20% slower 10% slower original 10% faster 20% faster

Shuffle adjustment

In this example, we used time-varying time stretching to change the temporal feeling of a loop. By varying the time stretching factor over the duration of one beat we can change the loop to have a "shuffled" feeling to it.
Sound example taken from Rezzo_4.wav by Flick3r.

original variation 1 variation 2

Applications and use cases

  • synchronization of audio/video streams
  • slowing down music for transcription or learning purposes
  • slowing down/speeding up speech for transcription purposes
  • integration in DAW's, audio editors or other music/audio apps