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~.
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~.
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.
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.
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.
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
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 )
Set the bias parameter for Hermite interpolation
Set the tension parameter for Hermite interpolation
Common Box Attributes
start-point (millisecond-offset) [float]
end-point (millisecond-offset) [float]
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.
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.
|MSP Sampling Tutorial 4: Variable-length Wavetable||MSP Sampling Tutorial 4: Variable-length Wavetable|