PlayBuf

object PlayBuf extends ProductReader[PlayBuf]

A UGen to play back samples from a buffer in memory.

PlayBuf provides a kind of high-level interface to sample-playback, whereas BufRd represents a kind of lower-level access. While BufRd has a random-access-pointer in the form of a phase input, PlayBuf advances the phase automatically based on a given playback speed. PlayBuf uses cubic interpolation.

See also
Companion
class
trait Product
trait Mirror
trait ProductReader[PlayBuf]
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def ar(numChannels: Int, buf: GE, speed: GE, trig: GE, offset: GE, loop: GE, doneAction: GE): PlayBuf
Value Params
buf

the identifier of the buffer to use

doneAction

what to do when the play head reaches the buffer end. This is only effective when loop is zero.

loop

1 to loop after the play head reaches the buffer end, 0 to not loop. This can be modulated.

numChannels

the number of channels that the buffer will be. Since this is a constant, a change in number of channels of the underlying bus must be reflected by creating different SynthDefs. If a buffer identifier is used of a buffer that has a different numChannels then specified in the PlayBuf, it will fail silently.

offset

sample frame to start playback. This is read when a trigger occurs. It may be fractional.

speed

1 advances the play head by the server's sample rate each second. So 2 means doubling speed (and pitch), and 0.5 means half speed (and half pitch). Negative numbers can be used for backwards playback. If the underlying buffer represents a sound at a different sample rate, the rate should be multiplied by BufRateScale.kr(buf) to obtain the correct speed.

trig

a trigger which causes a jump to the given offset . A trigger occurs when a signal changes from non-positive to positive (e.g. <= 0 to > 0).

def kr(numChannels: Int, buf: GE, speed: GE, trig: GE, offset: GE, loop: GE, doneAction: GE): PlayBuf
Value Params
buf

the identifier of the buffer to use

doneAction

what to do when the play head reaches the buffer end. This is only effective when loop is zero.

loop

1 to loop after the play head reaches the buffer end, 0 to not loop. This can be modulated.

numChannels

the number of channels that the buffer will be. Since this is a constant, a change in number of channels of the underlying bus must be reflected by creating different SynthDefs. If a buffer identifier is used of a buffer that has a different numChannels then specified in the PlayBuf, it will fail silently.

offset

sample frame to start playback. This is read when a trigger occurs. It may be fractional.

speed

1 advances the play head by the server's sample rate each second. So 2 means doubling speed (and pitch), and 0.5 means half speed (and half pitch). Negative numbers can be used for backwards playback. If the underlying buffer represents a sound at a different sample rate, the rate should be multiplied by BufRateScale.kr(buf) to obtain the correct speed.

trig

a trigger which causes a jump to the given offset . A trigger occurs when a signal changes from non-positive to positive (e.g. <= 0 to > 0).

def read(in: RefMapIn, key: String, arity: Int): PlayBuf