On Mon, 2007-08-27 at 11:35 +0200, Fons Adriaensen wrote: > On Mon, Aug 27, 2007 at 12:32:26AM +0100, Gordon JC Pearce wrote: > > > Something I've been wondering about recently is this - if you implement > > a digital filter, how do you maintain stability when it's pushed into > > self-oscillation? Most "real" synths seem to put out a slightly clipped > > sinewave when in self-oscillation. Might it be as simple as an atan() > > clipper in the feedback loop? > > Yes. > > You can use atanf(), tanh(), x / sqrtf (1 + x * x), ... >
So that would hold it around unity gain, maintaining the oscillation without going hugely offscale? I did briefly consider a simple "compressor" in the feedback loop with a shortish (a few cycle's worth) time constant, the idea being for it to work like the lightbulb or thermistor in a Wien Bridge oscillator. Gordon _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/mailman/listinfo.cgi/linux-audio-dev
