[sdiy] Bach
Scott Nordlund
gsn10 at hotmail.com
Wed Apr 20 01:33:57 CEST 2011
> Hmm. Thank you, I've been wanting to experiment with nonlinearities, but I've been unable
> to determine myself nor find good information on where the nonlinearities are best placed.
> My guess would be the output of the integrators could be passed through a nonlinear
> transfer function - my assumption is the some of the "grossest" distortion would come from
> active components like OTAs. In the PolyDrum, I've got quite some extra clocks per drum
> that could be used for that. It's good to know that it's better than using samples.
I think some of the analog drum sounds with diodes for pitch bend are really not easy to
model accurately, since there are nonlinearities embedded in feedback loops. The circuits
are very simple but their behavior isn't. I just think a really crude approximation
sometimes works a lot better than you'd expect. Add a pitch envelope and tanh distortion.
It's not accurate but it might sound good enough.
There are other uses for nonlinearities too: a lot of drum machines used really simple
and nonlinear transistor VCAs to gate noise sources. This is fairly straightforward to
do, and it's important for an authentic sound since it changes the timbre of the noise as
it decays. The noise source can get more "crackly", so there's more variety between drum
hits.
> I'm curious about resonators, I found using an SVF was intuitive for me, whack the input
> and it rings out at Fc - but are there other (digital) ways? And are there other ways to
> "whack" the input (I've wanted to try a noise burst instead of just an rectangular pulse)?
Choice of input signal is very important for physical modeling. It seems simple but there's
really a lot to play with here. Piano models may use additively synthesized hammer strikes
with nonlinearities to add harmonics when the key is struck harder. A comb filter can
simulate plucking position on a string.
A nice way to make a resonator is a feedback delay network, basically a series of delays
with a unitary feedback matrix. They're most often used for reverb, so the designs usually
aim for maximum echo density and efficient implementation. But you can use rotation
matrices or whatever you want, as long as it's unitary. If you take a reverb-style FDN and
make the delays really short, it sounds sort of like a cymbal.
Davide Rocchesso suggests using 3-delay FDNs as sort of ubiquitous resonator/delay type
things, so I tried that. I've found several ways to work these in: as resonators that sort
of vaguely simulate the body of an acoustic instrument (though tuning them isn't exactly
trivial). Also they can be used as a swept filter effect, similar to a flanger but with a
more complicated distribution of peaks, or like a percussion instrument. You can also
make them allpass and chain them or use them inside feedback loops.
I have a decent demo of this already (actually an excerpt of the recording I posted
earlier). I'm using enveloped, randomly downsampled pink noise as input, triggered by
some Poisson process stuff, and I'm also randomizing the delay times and feedback
matrices. The recording starts with all parameters in an initialized state, and gradually
sets all the delays and coefficients, so you can hear it go from dry pulses to vaguely
acoustic resonated sounds. There are several of these FDNs and they're connected by
feedback loops (with some delay time modulation, if I remember...)
It's going through a fairly sophisticated reverb algorithm doing the best "room" sound
that I could muster. This isn't necessary for demo purposes but makes it more listenable
and doesn't really color the sound significantly.
http://www.4shared.com/audio/8Sk_DT7o/fdn3init.html
That description makes it sound overly complicated, but the basic sound of "short noise
pulses through a resonator" is very much there.
Oh, FIR formant filtering is also worth looking into. A lot of formant synthesis
algorithms work directly on the waveforms, but using an FIR filter on an impulse train
also correctly reproduces transient effects. There's an early patent on it (4108036)
that I found fairly illuminating.
More information about the Synth-diy
mailing list