timesquash
timesquash(
@duration 1
@timeunit 2
@timeblock 4096
@mode 1
@xfade 4096
@xfadecurve 0
@xfadetype 1
@glbleed 4
@glnumiter 10
@glrandomize 0
@glrect 1
@batchsize 1
@batchinterrupt 0
@energy 2
@forwardenergy 1
@forwardenergyembed 1
@forwardenergytype 1
@framesize 2048
@hopsize 1024
@phasehandling 2
@regularization 0.01
@wintype 'sqrthann' 'sqrthann'
) -> llll
Generates an audio process operation for applying timesquash time compression to a buffer. This removes time from a sample by shifting portions of the spectrogram while preserving the relevant content.
Arguments
@duration
[int/float]: Target duration, based on@timeunit
. (default:1
).@timeunit
[int]: Time unit for@duration
. (default:2
).0
: Milliseconds1
: Samples2
: Duration ratio3
: Milliseconds difference4
: Samples difference
@timeblock
[int]: Duration of each time block to be removed. (default:4096
).@mode
[int]: Working mode. (default:1
).0
: Frequency domain1
: Time domain
@xfade
[int/float]: Duration of the crossfade, in samples. (default:4096
).@xfadecurve
[int/float]: Curve parameter for the crossfade. (default:0
).@xfadetype
[int]: Cross fade type. (default:1
).0
: Linear1
: Sine2
: Curve3
: S-curve
@glbleed
[int]: Number of frames of invalidation for the Griffin-Lim algorithm, when@phasehandling
is2
. (default:4
).@glnumiter
[int]: Number of Griffin-Lim iterations, when@phasehandling
is2
. (default:10
).@glrandomize
[int]: Randomize the phases of the regions subject to the Griffin-Lim algorithm, when@phasehandling
is2
. (default:0
).0
: Off1
: On
@glrect
[int]: Invalidate whole rectangular regions whose phases are recomputed via the Griffin-Lim algorithm, when@phasehandling
is2
. (default:1
).0
: Off1
: On
@batchsize
[int]: Number of seams processed in batch. (default:1
).@batchinterrupt
[int]: Interrupt batch when crossing. (default:0
).@energy
[int]: Energy function used for computing seams. (default:2
).0
: Magnitude1
: Gradient magnitude2
: Sobel
@forwardenergy
[int/float]: Amount of forward energy contribution. (default:1
).@forwardenergyembed
[int]: Embed forward energy in cumulative matrix. (default:1
).0
: Off1
: On
@forwardenergytype
[int]: Forward energy type. (default:1
).0
: Gradient L1 norm1
: Energy L2 norm
@framesize
[int]: Window size, in samples (default:2048
).@hopsize
[int]: Hop size, in samples (default:1024
).@phasehandling
[int]: Phase handling mode. (default:2
).0
: Keep1
: Compensate2
: Griffin-Lim
@regularization
[int/float]: How much energy of a bin smears on the ones above and below, between 0 and 1. (default:0.01
).@wintype
[list/symbol]: Window type. (default:'sqrthann' 'sqrthann'
).'rectangular'
'triangular'
'sine'
'hann'
'hamming'
'blackman'
'nuttall'
'blackmannuttall'
'blackmanharris'
'gaussian'
'sqrthann'
'sqrthamming'
Output
Timesquash operation [llll]
Usage
timesquash
is meant to be used with the process
function:
$buffer = importaudio('singing.wav'); ## input buffer
$op = timesquash(@duration 0.5); ## processing operation
$buffer = $buffer.process($op); ## apply processing
$buffer.view('after timesquash process')