audioTimeScaler
Apply time scaling to streaming audio
Description
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?
Creation
Syntax
Description
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.
Example: 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.
Properties
Usage
Syntax
Description
Input Arguments
Output Arguments
Object Functions
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)
Examples
Algorithms
audioTimeScaler
uses the same phase vocoder algorithm as stretchAudio
and is based on the
descriptions in [1] and [2].
References
[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.
Extended Capabilities
Version History
Introduced in R2019b