splitbuf
splitbuf(
@buffer ? ## llll (required)
@split 100
@mode 0
@overlap 1
@partials 1
) -> llll
Splits a buffer into multiple segments. Based on the split mode, it segments the buffer based on segment duration, number of segment, or split points.
Arguments
@buffer ?
[llll]: buffer to segment. (required)@split
[int/float/list]: split value, based on split mode. (default:100
).@mode
[int]: segmentation mode (default:0
).0
: segment duration.1
: number of segments.2
: split points.
@overlap
[int/float]: overlap factor. Ignored if@mode
is2
. (default:1
).@partials
[int]: when@mode < 2
, always include trailing buffer. (default:1
).0
: off1
: on
Output
list of segmented buffers. [llll]
Usage
$buf = importaudio('singing.wav');
$segdur = 250;
$segments = $buf.splitbuf(@split $segdur); ## split into 200 ms segments;
$onset = 0;
for $seg in rev($segments) do (
$seg.transcribe(@onset $onset);
$onset += $segdur
);
render(@play 1)