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]
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 stops playback. A sample increment of 1 plays the sample at normal speed. A sample increment of plays the sample backwards at normal speed. A sample increment of plays the sample at twice the normal speed. A sample increment of 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
attribute. Location is relative to the 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 stops playback. A sample increment of 1 plays the sample at normal speed. A sample increment of plays the sample backwards at normal speed. A sample increment of plays the sample at twice the normal speed. A sample increment of 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. |