pouët.net

Clicky vs your mom

category: general [glöplog]
 
So I'm working on the software synth and I have this neat fm-synth in it. I've found that changing the fm-synths configuration while in sustain sound pretty awesome. Problem is I get a 'click' sound half the time because the waveform has an ugly cut in it. You know what I'm talking about? So I'm wondering how I should go about solving this. It's waveform is a little too complex to figure out how much to shift the phase until there is no click, so I don't think I'm going to do that. I think what I'll do is store the last sample out and when the synth's configuration is changed clear a counter that will be used to blend from the last sample since the change and the new waveform. Still, I think that's a little too complex. Does anyone have any nice tips for getting rid of or avoiding the "clickies"
added on the 2009-07-14 00:24:47 by sigflup sigflup
fade down the amplitude to the operator disappearing and fade up the new operator appearing, in a short time? (just a random idea)
added on the 2009-07-14 00:38:02 by blala blala
generally, just avoid changing values drastically from one sample to another. a 100-sample interpolation is usually good enough.
added on the 2009-07-14 00:39:39 by Gargaj Gargaj
gargaj, he wants to change the synth topology, not the parameters...
added on the 2009-07-14 00:43:06 by blala blala
Random ideas (from somebody who's never touched any synth code):

- add a filter to remove the worst of the click. You'll probably lose high-end, and it won't be perfect, but it's better than a loud click.

- interpolate between old/new states like gargaj said

- hold the new waveform until the amplitude + direction of the old waveform roughly matches the start of the new one
added on the 2009-07-14 00:49:05 by psonice psonice
ahh, hold a wave form. That's interesting idea... hmm. I don't think I'll do that but I'll certainly keep that idea in mind, that's interesting

gargaj, 100-sample interpolation is usually good? Ok, thanks
added on the 2009-07-14 00:58:00 by sigflup sigflup
ok.. yeah that works. I'm interpolating 50 samples and I find, for my use, that's enough. Adds a little bit of code but overall not too much
added on the 2009-07-14 02:13:06 by sigflup sigflup
go fekk a demo about it

login