wave~
Description
wave~ reads from a portion of a buffer~ to produce a repeating waveform, given a signal input that goes between 0 and 1 (for example, using a phasor~) to define the position in the buffer. When the wave~ object is instantiated as mcs.wave~ its outputs are combined into a single multichannel output but otherwise it functions identically to wave~.
Examples

Arguments
buffer-name [symbol]
Obligatory. Names the buffer~ object whose sample memory is used by wave~ for its stored waveform. Note that if the underlying data in a buffer~ changes, the signal output of wave~ will change, since it does not copy the sample data in a buffer~. wave~ always uses the first channel of a multi-channel buffer~.
start-point [number]
After the buffer~ name argument, you can type in a value for the start and end points of the waveform as millisecond offset from the beginning of a buffer~ object's sample memory. By default, the start point is 0. If you want to set a non-zero start point but retain the sample end as the waveform end point, use only a single typed-in argument after the buffer~ name. The wave~ object uses the buffer~ sampling rate to determine loop points. If a is connected to the start point (middle) inlet, the initial waveform start point argument is ignored.
end-point [number]
After the start point argument, you can type in a value for the end point of the waveform, as a millisecond offsets from the beginning of a buffer~ object's sample memory. By default, the end point is the end of the sample. If a is connected to the end point (right) inlet, the initial waveform end point is ignored.
number-of-output-channels [int]
Sets the number of output channels, which determines the number of outlets that the wave~ object will have. If the buffer~ object being played by wave~ has more channels than the number of outputs of wave~, the extra channels are not played. If the buffer~ object has fewer channels, the extra wave~ signal outputs are 0.
Attributes
interp [int]
The interpolation modes are:
-
- No interpolation. Wavetable interpolation is disabled using the interp 0 message.
- High-quality linear interpolation (default)
- Low-quality linear interpolation. This mode uses the interpolation method found in MSP 1.x versions of the wave~ object. While this mode is faster than mode 1, it cannot play buffer~ objects of arbitrary length and produces more interpolation artifacts.
- Cosine interpolation
- Cubic interpolation
- Spline interpolation
- Hermite interpolation
Possible values:
0 = 'None'
( No interpotlation )
1 = 'Linear'
2 = 'Low-Quality'
3 = 'Cosine'
( Cosine interpolation )
4 = 'Cubic'
( Cubic interpolation )
5 = 'Spline'
( Spline interpolation )
6 = 'Hermite'
( Hermite interpolation )
interp_bias [float]
Set the bias parameter for Hermite interpolation
interp_tension [float]
Set the tension parameter for Hermite interpolation
Common Box Attributes
Messages
int
Arguments
float
Arguments
(mouse)
set
Arguments
start-point (millisecond-offset) [float]
end-point (millisecond-offset) [float]
signal
In middle inlet: The start of the waveform as a millisecond offset from the beginning of a buffer~ object's sample memory.
In right inlet: The end of the waveform as a millisecond offset from the beginning of a buffer~ object's sample memory.
Output
signal
The portion of the buffer~ specified by the wave~ object's start and end points is scanned by signal values ranging from 0 to 1 in the wave~ object's inlet, and the corresponding sample value from the buffer~ is sent out the wave~ object's outlet. If the signal received in wave's inlet is a repeating signal such as a sawtooth wave from a phasor~, the resulting output will be a waveform (excerpted from the buffer~) repeating at the frequency corresponding to the repetition of the input signal.
See Also
Name | Description |
---|---|
2d.wave~ | |
buffer~ | |
buffir~ | |
groove~ | |
phasor~ | |
play~ | |
sync~ | |
MSP Sampling Tutorial 4: Variable-length Wavetable | MSP Sampling Tutorial 4: Variable-length Wavetable |