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 <heue...@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@lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users