|
From: Juan L. <co...@re...> - 2002-11-21 06:06:31
|
On Sat, 16 Nov 2002 10:43:36 -0000 "Paul Kellett" <pau...@ma...> wrote: > I'm replying to things in the digest - sorry I'm out of sync with everyone > else...! > > > Benno Senoner <be...@ga...> wrote: > > > > Regarding adding a let's say resonant LP filter to the sample output: > > I guess the coefficients need to be smoothed out in some way too, > > otherwise zipper noise will probably show up again. > > Filter cutoff is much less sensitive to zipper nose than amplitude, and > for typical sampler patches, updating the filter coefficients every 32 > or 64 samples is ok, with no interpolation. The only time this is a > problem is for fast, high-resonance filter "chirps", but it still sounds > acceptable, just not as good as an analog or virtual analog synth. > > I think for a sampler, this isnt something much to worry about, I'd just put focus on speed and quality instead of features :) > > What would a good tradeoff for achieving low-CPU usage zippernoise-free > > filter modulation would be ? (some kind of interpolation of precomputed > > coefficients ?) > > Use a state variable filter. Almost every other hardware and software > synth does, and you can adjust cutoff and resonance directly without > worrying about stability, or any heavy calculations. > > I think i dont understand the concept of zippernoise, isnt it the one that occurs when setting the resonance too high? In that case I dont see why should that be avoided, since it's common in any synth i've tried.. > > Steve Harris <S.W...@ec...> wrote: > > > > BTW do we know for sure than samplers use exponential envelopes? I guess > > we need linear ones too, but they are easy to implement. > > Decay and release should be exponential. It's nice to offer a choice of > linear or other curves (mostly useful for drum sounds) but for most > instruments, linear decay/release sounds bad - the fade out is too sudden. > But the ear is quite tolerant if the curves are only approximately > exponential. > > The problem with exponential release envelopes is that they take too much to fade, and that can leaves voices hanging and consuming CPU for large periods where they are not or almost not being heard. For this I think the out-of-voices-removing algorithm should be given good voice priority values to work with. And yes, exponential attack envelopes make it sound like the voices take some time to start, i noticed this in synths like the DX7. > > > get some recordings from samples of high freq sinewaves with envelopes. > > I think Frank N. has done this allready for the S2000, Frank are you on > > the list? > > It's better to use square waves, then the shape of the envelope (for > example if there are sharp corners between each stage) is not hidden by > the shape of the waveform. > Squares are so cool :) I use them to check the filter response and variation a lot. > > Benno Senoner <be...@ga...> wrote: > > > > It is probably the easiest to keep track of the previous pitch value > > and then simply interpolate linearly to the new value within a let's say > > 0.5 - 1 msec time frame. I think this would smooth out things nicely, > > right ? > > > > (Steve, others, do you agree ?) > > Agree. But a lot of the time, where the envelopes and any LFOs are > changing slowly, you may not even need to interpolate pitch and filter > cutoff, just step every 1ms. unless the LFO is timed _very_ fast (which usually beats the purpose of the L in it :) There is not any need to interpolate the pitch between resampling fragments, because you will definitively not notice it, just think that it never does any crazy jumps in the sample, simply speedsup/slowdown so there isnt really a way that artifacts can pop up. BTW! I've been covered with work lately, i need to find some time to finish up and upload a working skeleton program! Cheers Juan Linietsky |