Comparison of audio stretch techniques
July 2024
This is a comparison of currently available audio time- and pitch- stretch implementations. Please be aware that the audio files and data here may contain errors, be unrepresentative of the implementations tested or become outdated.
Implementations
Each implementation tested using its best quality settings.
audacity | Audacity 3.4 new time stretch, "high quality" for pitch adjust |
---|---|
bungee | Bungee v2.0.18 |
bungeepro | Bungee Pro v1.1.12 |
elastique | Elastique 3.4.5 SDK Demo - pro |
paulstretch | As included with Audacity 3.1.3 |
rubberband | Rubber Band 3.3.0 with options -r3 --ignore-clipping |
signalsmith | Signalsmith Stretch 27a5835 |
sonic | Sonic 8694c59 |
soundtouch | SoundStretch v2.3.1 |
superpowered | Superpowered Web Audio SDK V2.6.6 |
this browser | This browser's built-in audio stretch via audio tag's playbackRate property |
Listening
A comparison of audio stretch algorithms using short music and speech samples. Headphones or good quality speakers will help to hear properly all the differences.
Empty table cells correspond to time or pitch stretch values unsupported by that implementation.
speed adjustment | pitch adjustment | |||||
---|---|---|---|---|---|---|
×0.25 | ×0.56 | ×0.83 | ×1.5 | -1 | +1 | |
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from "BugaBlue" by U.S. Army Blues, CC-BY |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from an instructional LP by Bent Lorentzen, "An Introduction to Electronic Music", via Owen Green |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from Beethoven's Piano Sonata No. 14, recorded by Bernd Krueger, CC-BY-SA via audiotsm |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from "Out Of It" by Brad Sucks, CC-BY-SA via audiotsm |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from TSMtoolbox , released under a MIT license |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from "Wild Mountain Thyme" by Sláinte, CC-BY-SA 3.0 |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from "Cloud Rider" by Brett Baker, CC-BY 4.0 |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from "Out Of It" by Brad Sucks, CC-BY-SA via audiotsm |
||||||
audacity |
|
|
|
|
|
|
bungee |
|
|
|
|
|
|
bungeepro |
|
|
|
|
|
|
elastique |
|
|
|
|
|
|
paulstretch |
|
|
|
|
|
|
rubberband |
|
|
|
|
|
|
signalsmith |
|
|
|
|
|
|
sonic |
|
|
|
|
|
|
soundtouch |
|
|
|
|
|
|
superpowered |
|
|
|
|
|
|
this browser |
|
|
|
|
||
original | ||||||
excerpt from "Yesterday" by Kellee Maize (Prod. by ID Labs), CC-BY |
Tonal response
A test with selected synthetic sinusoidal and square tones.
The numbers in this table show:
- frequency error in cents (hundredth semitone units); should be close to zero
- amplitude of the expected tone in dB; should be close to zero
- noise amplitude in dB; ideally large negative
speed adjustment | pitch adjustment | |||||
---|---|---|---|---|---|---|
×0.25 | ×0.56 | ×0.83 | ×1.5 | -1 | +1 | |
audacity |
+0.0
-0.5
-55.5
|
+0.0
-0.5
-52.0
|
+0.0
-0.5
-68.8
|
-0.1
-0.6
-40.0
|
-0.0
-0.0
-88.2
|
-0.0
-0.0
-88.1
|
bungee |
-0.0
+0.0
-54.0
|
+0.0
+0.0
-52.2
|
+0.0
+0.0
-53.6
|
+0.0
+0.0
-51.3
|
+0.0
-0.0
-51.6
|
+0.0
-0.0
-51.6
|
bungeepro |
+0.0
+0.0
-64.4
|
-0.0
-0.0
-88.8
|
-0.0
+0.0
-89.0
|
-0.0
-0.0
-96.8
|
-0.0
+0.0
-89.1
|
-0.0
+0.0
-90.9
|
elastique |
-0.0
+0.0
-88.4
|
+0.3
-0.0
-34.8
|
-1.0
-0.0
-38.8
|
-1.4
-0.0
-34.6
|
-8.1
-0.0
-47.0
|
-1.4
-0.1
-44.2
|
paulstretch |
-0.2
-21.4
-4.9
|
+0.2
-20.4
-5.3
|
+0.1
-14.1
-4.4
|
|
|
|
rubberband |
+0.7
-0.8
-14.6
|
+0.0
+0.0
-36.9
|
-0.0
-0.0
-50.5
|
+0.0
+0.0
-44.2
|
-0.0
-0.0
-51.9
|
+0.0
+0.0
-58.6
|
signalsmith |
-0.0
-0.0
-53.7
|
+0.0
+0.0
-47.2
|
+0.0
-0.0
-52.4
|
-0.0
+0.0
-64.4
|
-0.0
-0.1
-62.0
|
+0.9
-0.2
-60.1
|
sonic |
-0.4
-0.0
-42.5
|
-0.2
-0.0
-45.9
|
-0.2
-0.0
-45.2
|
+0.2
-0.0
-46.8
|
|
|
soundtouch |
-0.2
+0.0
-47.0
|
-0.0
+0.0
-97.9
|
-0.1
+0.0
-43.3
|
+0.8
-0.0
-34.6
|
-0.0
-0.0
-53.6
|
-0.7
-0.0
-36.0
|
superpowered |
|
-0.0
+0.0
-56.2
|
+0.7
+0.2
-15.2
|
-0.0
-1.5
-66.9
|
-0.1
-2.2
-44.8
|
+0.6
-2.5
-40.1
|
this browser |
|
|
|
|
||
original | ||||||
|
||||||
audacity |
+0.0
-0.5
-49.9
|
-0.2
-0.5
-49.4
|
-0.1
-0.5
-58.8
|
-0.2
-0.5
-52.2
|
-0.0
-0.0
-56.9
|
+0.0
-0.0
-56.9
|
bungee |
+0.0
+0.1
-52.9
|
-0.1
+0.0
-55.4
|
-0.0
+0.0
-54.3
|
-0.1
+0.0
-53.8
|
-0.1
+0.0
-55.4
|
-0.0
-0.0
-55.4
|
bungeepro |
+0.0
-0.0
-68.0
|
-0.0
+0.0
-94.5
|
-0.0
+0.0
-92.2
|
-0.1
+0.0
-56.0
|
+0.0
-0.0
-71.9
|
-0.0
-0.0
-92.6
|
elastique |
-0.0
+0.0
-97.4
|
-0.9
-0.0
-74.5
|
-1.1
+0.0
-64.8
|
-0.2
-0.0
-72.2
|
-8.1
-0.0
-86.0
|
-1.4
-0.0
-77.1
|
paulstretch |
+0.5
-25.5
-4.8
|
+0.0
-18.7
-4.3
|
+1.6
-21.7
-4.5
|
|
|
|
rubberband |
+0.0
-0.0
-55.2
|
+0.0
-0.0
-67.5
|
+0.0
+0.0
-68.5
|
+0.0
-0.0
-72.7
|
+0.0
-0.0
-68.6
|
+0.0
-0.0
-72.4
|
signalsmith |
-0.4
-0.0
-43.6
|
+0.0
-0.0
-51.4
|
+0.0
+0.0
-64.9
|
+0.0
-0.0
-65.3
|
+0.7
-0.1
-55.5
|
+4.0
-0.1
-57.8
|
sonic |
-0.4
-0.0
-57.9
|
-0.2
-0.0
-61.9
|
+0.0
-0.0
-96.2
|
+0.3
-0.0
-62.4
|
|
|
soundtouch |
-0.6
-0.0
-50.9
|
-0.0
-0.0
-97.6
|
-0.4
-0.0
-59.7
|
-0.8
-0.0
-53.5
|
+0.3
+0.0
-59.6
|
+0.4
+0.0
-55.1
|
superpowered |
|
-0.5
+0.0
-45.2
|
-0.5
-0.0
-52.7
|
+73.2
-1.4
-17.8
|
+0.0
-16.7
-4.3
|
+84.8
-6.1
-8.7
|
this browser |
|
|
|
|
||
original | ||||||
|
||||||
audacity |
+0.5
-0.6
-39.7
|
-0.9
-0.6
-38.7
|
+0.4
-0.5
-46.8
|
+0.2
-0.5
-48.6
|
+0.2
-0.0
-72.3
|
+0.2
-0.0
-72.1
|
bungee |
+1.0
+0.1
-48.3
|
-1.0
+0.0
-42.2
|
+0.9
+0.0
-51.7
|
+0.3
+0.1
-45.8
|
-0.4
+0.0
-54.6
|
+0.3
-0.0
-53.3
|
bungeepro |
+0.0
+0.0
-70.3
|
+0.0
+0.0
-73.0
|
-0.0
+0.0
-86.8
|
+0.5
+0.1
-47.9
|
-0.0
+0.0
-60.3
|
-0.0
-0.0
-76.8
|
elastique |
+0.0
+0.0
-91.0
|
-0.9
-0.0
-72.7
|
-1.1
+0.0
-69.8
|
-0.2
-0.0
-77.1
|
-8.1
+0.0
-77.0
|
-1.4
-0.0
-76.8
|
paulstretch |
+0.0
-21.9
-3.9
|
-4.7
-18.9
-4.6
|
+0.2
-29.7
-5.1
|
|
|
|
rubberband |
-0.7
+0.0
-55.6
|
-0.2
-0.0
-66.5
|
+0.0
-0.0
-72.1
|
+0.0
+0.0
-76.4
|
-0.0
+0.0
-68.0
|
+0.0
+0.0
-69.3
|
signalsmith |
-9.2
+0.3
-35.1
|
+0.7
-0.0
-54.0
|
-0.2
+0.0
-65.5
|
-0.4
+0.0
-59.8
|
+26.5
-0.2
-52.8
|
+22.6
-0.2
-54.7
|
sonic |
+91.4
-0.1
-20.4
|
+62.5
-0.1
-25.4
|
+5.4
-0.0
-34.2
|
-82.8
-0.1
-27.5
|
|
|
soundtouch |
-18.1
-0.0
-34.7
|
+0.0
-0.0
-93.8
|
+4.7
-0.0
-38.0
|
-0.0
-0.0
-69.9
|
-13.2
-0.0
-32.9
|
-2.0
+0.0
-44.3
|
superpowered |
|
+20.3
-0.0
-35.2
|
-2.4
-0.0
-48.5
|
-290.5
-1.5
-16.8
|
-3.6
-2.6
-42.8
|
-1.6
-0.3
-50.3
|
this browser |
|
|
|
|
||
original | ||||||
|
||||||
audacity |
+0.0
-3.5
-5.3
|
+0.0
-1.1
-9.8
|
+0.0
-3.0
-4.4
|
+0.2
-3.3
-5.0
|
+0.0
-0.5
-9.4
|
+0.0
-0.6
-9.2
|
bungee |
+0.0
-1.5
-4.9
|
+0.0
-2.4
-3.5
|
+0.0
-2.1
-4.1
|
+0.0
-1.4
-5.6
|
+0.0
-1.3
-5.9
|
+0.0
-0.5
-9.8
|
bungeepro |
+0.0
-0.0
-24.8
|
+0.0
-0.0
-28.6
|
+0.0
-0.0
-31.5
|
+0.0
-0.0
-24.1
|
+0.0
-0.0
-28.8
|
+0.2
-0.0
-26.0
|
elastique |
+0.0
-4.1
-2.2
|
+0.0
-0.9
-7.3
|
+0.0
-0.2
-12.9
|
+0.0
-0.2
-13.7
|
+0.2
-1.0
-13.6
|
+0.0
-0.2
-13.1
|
paulstretch |
+0.5
-27.2
-4.2
|
+0.0
-24.4
-4.4
|
+0.2
-31.0
-4.0
|
|
|
|
rubberband |
+0.0
-3.6
-3.4
|
+0.0
-1.8
-4.8
|
+0.0
-0.6
-8.9
|
+0.0
-0.8
-7.8
|
+0.2
-0.1
-15.8
|
+0.0
-0.1
-15.3
|
signalsmith |
+0.0
-1.8
-8.2
|
+0.0
-2.1
-4.6
|
+0.0
-2.1
-4.6
|
+0.0
-0.1
-16.7
|
+0.2
-2.9
-3.5
|
+0.2
-2.6
-4.1
|
sonic |
+0.0
-0.0
-26.9
|
+0.2
-0.0
-29.5
|
+0.2
-0.0
-55.0
|
+0.2
-0.0
-34.1
|
|
|
soundtouch |
+0.0
-0.0
-32.3
|
+0.2
-0.0
-75.7
|
+0.2
-0.0
-75.7
|
+0.2
-0.0
-52.1
|
+0.0
-0.0
-28.5
|
+0.0
-0.0
-22.2
|
superpowered |
|
+0.0
-0.0
-25.7
|
+0.0
-0.2
-13.7
|
+0.0
-0.2
-15.9
|
+0.2
-2.5
-10.7
|
+0.0
-0.8
-14.3
|
this browser |
|
|
|
|
||
original | ||||||
|
||||||
audacity |
+0.0
-3.5
-5.3
|
+0.0
-1.5
-7.7
|
+0.0
-2.3
-5.4
|
+0.0
-2.4
-5.4
|
+0.0
-2.1
-4.2
|
+0.0
-2.7
-3.5
|
bungee |
+0.0
-0.2
-11.5
|
+0.0
-0.5
-8.9
|
+0.0
-2.4
-3.8
|
+0.0
-1.4
-5.5
|
+0.0
-1.5
-5.3
|
+0.0
-0.8
-8.0
|
bungeepro |
+0.0
-0.0
-24.5
|
+0.0
-0.0
-23.4
|
+0.0
-0.0
-27.3
|
+0.0
+0.0
-28.7
|
+0.0
-0.0
-22.0
|
+0.0
-0.0
-30.2
|
elastique |
+0.0
-1.6
-5.3
|
+0.0
-0.2
-14.9
|
+0.2
-0.1
-17.1
|
+0.2
-0.1
-17.2
|
+0.0
-0.1
-17.7
|
+0.0
-0.2
-17.4
|
paulstretch |
+0.2
-26.3
-4.5
|
+0.0
-25.4
-4.4
|
+0.0
-29.7
-4.9
|
|
|
|
rubberband |
+0.0
-2.0
-4.4
|
+0.0
-2.2
-4.2
|
+0.0
-0.7
-8.5
|
+0.0
-0.9
-7.4
|
+0.0
-0.2
-14.6
|
+0.0
-0.2
-13.7
|
signalsmith |
+0.0
-1.4
-8.1
|
+0.0
-1.8
-4.6
|
+0.0
-2.0
-4.9
|
+0.0
-1.9
-4.5
|
+0.0
-1.1
-7.1
|
+0.0
-0.7
-9.5
|
sonic |
+0.0
-11.6
-1.0
|
+0.0
-5.6
-2.5
|
+0.0
-0.8
-9.7
|
+0.0
-6.5
-2.6
|
|
|
soundtouch |
+0.0
-0.0
-79.1
|
+0.0
-0.0
-44.9
|
+0.0
-0.0
-65.7
|
+0.0
-0.0
-23.7
|
+0.0
-0.0
-25.6
|
+0.0
-0.0
-31.7
|
superpowered |
|
+0.2
-0.2
-18.1
|
+0.0
-0.6
-12.9
|
+0.0
-0.2
-16.6
|
+0.0
-8.3
-6.4
|
+0.0
-5.5
-6.5
|
this browser |
|
|
|
|
||
original | ||||||
|
Frequency and transient response
Quantative analysis of frequency response at various settings, response at the low end of the audio spectrum and how implementations handle transients. The transient analysis is based on a comparison of input and output transient locations of music and speech signals.