rubberband
rubberband(
@stretching 1
@pitchshift 0
@pitchunit 0
@timeunit 2
@envtimeunit 2
@blocksize 1024
@fftwin 1
@phase 0
@pitchmode 2
@formants 0
@smoothing 0
@stretchmode 0
@detector 0
@transients 2
) -> llll
Generates an audio process operation for applying rubberband pitch-shifting/time-stretching to a buffer.
Arguments
@stretching
[int/float/llll]: stretching amount, as single number or envelope. (default:1
).@pitchshift
[int/float/llll]: pitch shifting amount, as single number or envelope. (default:0
).@pitchunit
[int]: unit for@pitchshift
. (default:0
).0
: cents1
: MIDI2
: Hertz3
: frequency ratio
@timeunit
[int]: time unit for@stretching
. (default:2
).0
: milliseconds1
: samples2
: duration ratio3
: milliseconds difference4
: samples difference
@envtimeunit
[int]: time unit for@stretching
envelope. (default:2
).0
: milliseconds1
: samples2
: duration ratio3
: milliseconds difference4
: samples difference
@blocksize
[int]: size for granular processes, such as envelopes, in samples. (default:1024
).@fftwin
[int]: FFT window type. (default:1
).0
: short1
: standard2
: long
@phase
[int]: phase adjustment mode. (default:0
).0
: elastic1
: precise
@pitchmode
[int]: pitch shift mode. (default:2
).0
: high speed1
: high quality2
: high consistency
@formants
[int]: formant processing. (default:0
).0
: off1
: on
@smoothing
[int]: time-domain smoothing. (default:0
).0
: off1
: on
@stretchmode
[int]: stretch mode. (default:0
).0
: elastic1
: precise
@detector
[int]: transient detection algorithm. (default:0
).0
: compound1
: percussive2
: soft
@transients
[int]: transient type. (default:2
).0
: crisp1
: mixed2
: smooth
Output
rubberband operation [llll]
Usage
rubberband
is meant to be used with the process
function:
$buffer = importaudio('singing.wav'); ## input buffer
$op = rubberband(); ## processing operation
$buffer = $buffer.process($op); ## apply processing
$buffer.inspect('after rubberband process')