RNBO Objects & Operators groove~
Open Help

groove~

Variable-rate looping sample playback of a sized buffer

Description

The groove~ object is a variable-rate, looping, sample-playback object which references the audio information stored in a buffer~ object having the same name.

Arguments

buffername [symbol]

Names the buffer~ object containing the sample to be used by groove~ for playback.

channels [number]

Optional

A second argument may specify the number of output channels. The default number of channels is 1. If the buffer~ being played has fewer channels than the number of groove~ output channels, the extra channels output a zero signal. If the buffer~ has more channels and is a multiple of 2 or 4, channels are mixed.

Inlets

rate [bang, auto]

Defines the sample increment for playback of a sound from a buffer~ . A sample increment of 0 stops playback. A sample increment of 1 plays the sample at normal speed. A sample increment of -1 plays the sample backwards at normal speed. A sample increment of 2 plays the sample at twice the normal speed. A sample increment of 0.5 plays the sample at half the normal speed. The sample increment can change over time for vibrato or other types of speed effects. The groove~ object uses the buffer~ sampling rate to determine playback speed.

begin [auto]

Sets the sample playback start position in milliseconds.

end [auto]

Sets the sample playback end position in milliseconds.

Outlets

out [signal]

The sample output.

sync [signal]

Outputs the current playback location samples, phase (0..1), or milliseconds depending on the syncmode attribute. Location is relative to the synctype attribute, which either scales the sync output to the current loop range or keeps it in the range of the buffer's length.

Fixed Attributes

These attributes must be set in the object box and determine the behavior of the object at runtime.

buffername [symbol]

Names the buffer~ object containing the sample to be used by groove~ for playback.

channels [number] (default: 1)

A second argument may specify the number of output channels. The default number of channels is 1. If the buffer~ being played has fewer channels than the number of groove~ output channels, the extra channels output a zero signal. If the buffer~ has more channels and is a multiple of 2 or 4, channels are mixed.

syncmode [enum] (default: phase)

Determines if the sync outlet reports phase (0..1), samples or milliseconds. Possible values:

0 = 'phase'
1 = 'samples'
2 = 'ms'

synctype [enum] (default: relative)

Set the sync signal to be relative to the loop length or absolute to the clip length. Possible values:

0 = 'relative'
1 = 'absolute'

Dynamic Attributes

These attributes can be modified in the code during execution using the set object

begin [auto]

Sets the sample playback start position in milliseconds.

buffer [number] (default: 0)

If multiple buffer names are declared to be used, this sets the currently active buffer using an index [0 based].

crossfade [number] (default: 0)

Enable an attempted crossfade on loop jumpback. The fade depends on available sample material (ms).

end [auto]

Sets the sample playback end position in milliseconds.

loop [number] (default: 1)

The word loop, followed by a `0` or `1`, disables/enables looping.

rate [bang, auto]

Defines the sample increment for playback of a sound from a buffer~ . A sample increment of 0 stops playback. A sample increment of 1 plays the sample at normal speed. A sample increment of -1 plays the sample backwards at normal speed. A sample increment of 2 plays the sample at twice the normal speed. A sample increment of 0.5 plays the sample at half the normal speed. The sample increment can change over time for vibrato or other types of speed effects. The groove~ object uses the buffer~ sampling rate to determine playback speed.

stop [bang]

Stops the playback of the buffer.

See Also

Name Description
buffer~ A data buffer for holding audio (or potentially some other) data.
wave~ Linear interpolated multi-channel lookup of a buffer.
poke~ Write a sample into an audio buffer.
lookup~ Index a buffer object using a signal, for waveshaping.