Skip to main content

Time stretching

You can change the playback speed of an audio buffer independently, without creating an AudioContext, using the exported function changePlaybackSpeed.

changePlaybackSpeed

Changes the playback speed of an audio buffer.

ParameterTypeDescription
inputAudioBufferThe audio buffer whose playback speed you want to change.
playbackSpeednumberThe factor by which to change the playback speed. Values between [1.0, 2.0] speed up playback, values between [0.5, 1.0] slow it down.

Returns Promise<AudioBuffer>.

Example usage
const url = ... // url to an audio
const sampleRate = 48000

const buffer = await fetch(url)
.then((response) => response.arrayBuffer())
.then((arrayBuffer) => decodeAudioData(arrayBuffer, sampleRate))
.then((audioBuffer) => changePlaybackSpeed(audioBuffer, 1.25))
.catch((error) => {
console.error('Error decoding audio data source:', error);
return null;
});

We are Software Mansion.