The parallel multi-delay and multi-tap single delay line are identical in function. Delays are linear so they can be factored any way you like and as long as the impulse response is the same, it’s a duck. I use the multi delay version myself. Wastes memory, but who cares.
Prc Sent from my iPhone > On Jan 7, 2020, at 9:00 AM, chuck-users-requ...@lists.cs.princeton.edu wrote: > > Send chuck-users mailing list submissions to > chuck-users@lists.cs.princeton.edu > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > or, via email, send a message with subject or body 'help' to > chuck-users-requ...@lists.cs.princeton.edu > > You can reach the person managing the list at > chuck-users-ow...@lists.cs.princeton.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of chuck-users digest..." > > > Today's Topics: > > 1. multi-tap delay vs multi-delay (Michael Heuer) > 2. Re: multi-tap delay vs multi-delay (Mario Buoninfante) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 6 Jan 2020 21:28:58 -0600 > From: Michael Heuer <heue...@gmail.com> > To: ChucK Users Mailing List <chuck-users@lists.cs.princeton.edu> > Subject: [chuck-users] multi-tap delay vs multi-delay > Message-ID: <116aff29-82d2-43b4-9ab2-9e0db657a...@gmail.com> > Content-Type: text/plain; charset="utf-8" > > 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 > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200106/80431b7d/attachment-0001.html> > > ------------------------------ > > Message: 2 > Date: Tue, 7 Jan 2020 08:58:35 +0000 > From: Mario Buoninfante <mario.buoninfa...@gmail.com> > To: ChucK Users Mailing List <chuck-users@lists.cs.princeton.edu> > Subject: Re: [chuck-users] multi-tap delay vs multi-delay > Message-ID: > <CAHs=m8qg1ykpzjrxi_ym_qfpwdkjbvz4punpvkq9hpceu37...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > 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 >> > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200107/de9b4a7c/attachment-0001.html> > > ------------------------------ > > _______________________________________________ > chuck-users mailing list > chuck-users@lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > End of chuck-users Digest, Vol 173, Issue 4 > ******************************************* _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users