[chuck-users] multi-tap delay vs multi-delay

Mario Buoninfante mario.buoninfante at gmail.com
Tue Jan 7 03:58:35 EST 2020


Hi Michael,

I'm not sure what would be the difference with your implementation, but I'd
do something like that, where basically the various delays are in series:

Impulse impulse => dac;
impulse => DelayL tap_1 => dac.left;
tap_1 => DelayL tap_2 => dac.right;
tap_1 => Gain fback_1 => tap_1;
tap_2 => Gain fback_2 => tap_1;

0.2 => fback_1.gain => fback_2.gain; // this needs to be <= (1 /
nr_of_delay_lines)
second => tap_1.max => tap_2.max;
400::ms => dur d_1;
600::ms => dur d_2; // this should always be bigger than d_1
tap_1.delay(d_1);
tap_2.delay(d_2 - d_1);

for(0 => int c; c < 5; c++)
{
    impulse.next(1);
    <<< "NEXT" >>>;
    second => now;
}
5::second => now;

I think the idea with multitap delays is to have one delay line and
multiple taps placed in that delay line.
I don't think in ChucK there are UGens that allow you to do that, so
probably the closest implementation to that would be the one I wrote above,
where delay lines are in series.
Of course there are more elegant way to then implement this :)

Cheers,
Mario

On Tue, 7 Jan 2020 at 03:29, Michael Heuer <heuermh at gmail.com> wrote:

> Hello,
>
> Does anyone have an implementation of a multi-tap delay in ChucK?  I use
> what may better be called a multi-delay, where all multiple delays with
> different delay lengths are arranged in parallel
>
>     /*
>
>       inlet --> _pre --> _echo1 --> _post --> _boost --> wet
>                 ^  |                 ^ |
>                 |  |                 | |
>                 |  +----> _echo2 ----+ |
>                 |  |                 | |
>                 |  +----> _echo3 ----+ |
>                 |  |                 | |
>                 |  +----> _echo4 ----+ |
>                 |                      |
>                 +------- feedback -----+
>      */
>
> I can't get my head around it exactly, but it feels like this is different
> than a true multi-tap delay, where one has a loop of the longest delay time
> and then multiple taps within that delay time.
>
> I've been wanting lately to do something similar to these
>
> "Volante takes this into account with a Spacing control that’s adjustable
> between Even, Triplet, Golden Ratio (for dense, non-overlapping echoes),
> and Silver Ratio (for non-overlapping repeats biased toward the quarter
> note). And the Spacing control is continuously variable, allowing you to
> morph between its settings in real time."
>
> and
>
> "3.3.3 Taps
>
> The number of delay taps, from 1 to 64. The Taps control affects the Tap
> Delay Block in the signal flow diagram.
>
>>
> 3.3.5 Spread
>
> The rhythmic spacing of the Taps. More negative values will group taps
> towards the beginning, for a ”slowing-down” feeling. More positive values
> will group taps towards the end for a ”speeding-up” delay sound.
> Specifically, a 0 value will result in constant spacing, while values
> between 0 and +/- 50 have linearly increasing/decreasing tap spacing, and
> values between +/- 51 and +/- 100 have exponentially increasing/decreasing
> tap spacing. The Spread control affects the Tap Delay Block in the signal
> flow diagram."
>
> Thanks in advance!
>
>    michael
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200107/de9b4a7c/attachment.html>


More information about the chuck-users mailing list