55 lines
1.1 KiB
Text
55 lines
1.1 KiB
Text
class:: MultiTap
|
|
summary:: Multiple tap delay.
|
|
related:: Classes/Tap
|
|
categories:: UGens>Buffer, UGens>Delays>Buffer
|
|
|
|
|
|
Description::
|
|
|
|
This is a wrapper which creates a multiple tap delay line using
|
|
link::Classes/RecordBuf:: and link::Classes/PlayBuf:: .
|
|
|
|
note:: code::RecordBuf.ar:: and code::PlayBuf.ar:: operate block by block. If a delay time is greater than the buffer
|
|
size minus the server's block size, the write and read heads might interfere in unintended ways. Use a slightly larger
|
|
buffer if this happens. ::
|
|
|
|
classmethods::
|
|
|
|
method::ar
|
|
|
|
argument::timesArray
|
|
A Ref to an Array of delay times in seconds.
|
|
|
|
argument::levelsArray
|
|
A Ref to an Array of amplitudes.
|
|
|
|
argument::in
|
|
The input signal.
|
|
|
|
argument::mul
|
|
Output will be multiplied by this value.
|
|
|
|
argument::add
|
|
This value will be added to the output.
|
|
|
|
argument::bufnum
|
|
|
|
The number of the buffer to use for the delay. This must be at
|
|
least as long as the longest tap time.
|
|
|
|
|
|
Examples::
|
|
|
|
code::
|
|
|
|
s.boot;
|
|
b = Buffer.alloc(s, s.sampleRate);
|
|
(
|
|
{
|
|
MultiTap.ar(`[0.1, 0.2, 0.3, 0.4], `[0.1, 0.2, 0.4, 0.8],
|
|
Decay.ar(Dust.ar(2), 0.1, PinkNoise.ar), bufnum: b.bufnum)
|
|
}.play
|
|
)
|
|
|
|
::
|
|
|