Skip to main content

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 is 2. (default: 1).
  • @partials [int]: when @mode < 2, always include trailing buffer. (default: 1).
    • 0: off
    • 1: 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)