[chuck-users] feedback loop

Tomtom tomtom at herbesfolles.org
Sat Oct 1 05:41:35 EDT 2011


Hi Kassen,

> What's odd here (at least to me) is that it still builds, despite the
> .8 factor in the loop. I have one theory about the cause; with a
> length of 200::ms the feedback of the delay will have a period of (1 /
> 200::ms = ) 5Hz (plus one sample for the feedback). The signal used
> (being 250 Hz) is a exact multiple of that. I think that would mean
> that the output at peaks would build up to 1 (for the original signal)
> plus .8 of a peak for the first iteration, plus .8 * .8 for the
> second, plus .8 ^ 3 for the third, etc. That would be a finite number,
> but might be above ChucK's headroom.

If I change the delay to 123::ms for example, I get pretty much the same
result.

> This, BTW, is also exactly what I experienced with some of the
> build-in reverbs; as those are based on networks of delay with
> feedback they'll heavily amplify the signal at some frequencies.
> That's not much of a issue with natural sounds like voice that
> fluctuate all the time, but often is with synthetic sounds that stay
> at the same frequency for a longer time.

Right ! If I remove the reverb, I get a simple echo effect, thus the 0.8
gain works as expected. So the reverb must act as a strong amplifier,
even with low parameters. This problem you describe with reverbs +
synthetic sound totally makes sense here.

> BTW, unrelated to this issue, but rather exciting to me is that you wrote
> this;
> 
> class MyDelay extends Delay
> {
>        1::second => max;
> }
> 
> ...and that worked! It's correct, the language specs imply that it should
> work, but for ages it didn't and the resultant class couldn't be chucked to
> a input. Apparently now this works for you, which makes me wonder what
> version of ChucK is being used here and how long it's been out. Did I miss a
> memo? That's rather exciting.

I'm using chuck 1.2.1.3 (dracula). As for this part of my code, I didn't
think it would work either. Reading the doc, I was like "what? But I've
never derived from a UGen before! And ChucK don't really have
constructors right ?" But obviously everything went better than expected
...

Tom


More information about the chuck-users mailing list