Time Stretching & Pitch Shifting with the Web Audio API: Where are we at?
Audio time stretching and pitch shifting are operations that all major commercial and/or open source Digital Audio Workstations, DJ Mixing Software and Live Coding Suites offer. These operations allow users to change the duration of audio files while maintaining the pitch and vice-versa. Such operations enable DJs to speed up or slow down songs in order to mix them by aligning the beats. Unfortunately, there are few (and experimental) client-side JavaScript implementations of these two operations. In this paper, we review the current state of the art for client-side implementations of time stretching and pitch shifting, their limitations, and describe new implementations for two well-known algorithms: (1) Phase Vocoder with Identity Phase Lock and (2) a modified version of Overlap & Add. Additionally, we discuss some issues related to the Web Audio API (WAA) and frequency-based audio processing regarding latency and audio quality in pitch shifting and time stretching towards raising awareness about possible changes in the WAA.
@inproceedings{2016_48,
abstract = {Audio time stretching and pitch shifting are operations that all major commercial and/or open source Digital Audio Workstations, DJ Mixing Software and Live Coding Suites offer. These operations allow users to change the duration of audio files while maintaining the pitch and vice-versa. Such operations enable DJs to speed up or slow down songs in order to mix them by aligning the beats. Unfortunately, there are few (and experimental) client-side JavaScript implementations of these two operations. In this paper, we review the current state of the art for client-side implementations of time stretching and pitch shifting, their limitations, and describe new implementations for two well-known algorithms: (1) Phase Vocoder with Identity Phase Lock and (2) a modified version of Overlap & Add. Additionally, we discuss some issues related to the Web Audio API (WAA) and frequency-based audio processing regarding latency and audio quality in pitch shifting and time stretching towards raising awareness about possible changes in the WAA.},
address = {Atlanta, GA, USA},
author = {Dias, Bruno and Davies, Matthew E P and Matos, David M and Pinto, H Sofia},
booktitle = {Proceedings of the International Web Audio Conference},
editor = {Freeman, Jason and Lerch, Alexander and Paradis, Matthew},
month = {April},
pages = {},
publisher = {Georgia Tech},
series = {WAC '16},
title = {Time Stretching & Pitch Shifting with the Web Audio API: Where are we at?},
year = {2016},
ISSN = {2663-5844}
}