Apply time scaling to streaming audio
The audioTimeScaler
object performs audio time scale modification (TSM)
independently across each input channel.
To modify the time scale of streaming audio:
Create the audioTimeScaler
object and set its properties.
Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?.
creates an object,
aTS
= audioTimeScaleraTS
, that performs audio time scale modification independently
across each input channel over time.
sets the aTS
= audioTimeScaler(speedupFactor
)SpeedupFactor
property to
speedupFactor
.
sets each property aTS
= audioTimeScaler(___,'Name',Value
)Name
to the specified Value
.
Unspecified properties have default values.
aTS =
audioTimeScaler(1.2,'Window',sqrt(hann(1024,'periodic')),'OverlapLength',768)
creates an object, aTS
, that increases the tempo of audio by 1.2 times
its original speed using a periodic 1024-point Hann window and a 768-point
overlap.To use an object function, specify the
System object™ as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
audioTimeScaler
uses the same phase vocoder algorithm as stretchAudio
and is based on the
descriptions in [1] and [2].
[1] Driedger, Johnathan, and Meinard Müller. "A Review of Time-Scale Modification of Music Signals." Applied Sciences. Vol. 6, Issue 2, 2016.
[2] Driedger, Johnathan. "Time-Scale Modification Algorithms for Music Audio Signals." Master's thesis, Saarland University, 2011.