From the original SynthMaker forum (2004–2014), with its members’ names and dates.
infuzion ·
Right now, I'm looking how to stop the clicking of re-triggering the Multi Stage Envelope. When the MSE reaches high values, then restarts, the reset to 0 causes a click. Happened also with the old ADSR, but now it doesn't click. Funny thing is, if you use the MSE, then switch to the ADSR, you'll get the same clicking there. Let the note die out completely, or reset the audio stream, and the clicking will stop in the ADSR. I wonder if it has something to do with the Gate system?
file
Any help stopping the clicks would be great.
TIA
Andrew J ·
Seems like if you play legato, you don't get a click because it just adds new voice. If you play staccato, then it re-uses the current voice and a click results. I guess the ideal would be to use a new voice if the current one hasn't gone through to the end of the release stage.
Failing that, you'd need to try and terminate the first sound at a zero crossing if possible. Problem is that you don't know when a zero crossing is going to be the last one before a new note is played on the same voice.
infuzion ·
Well, I think the old SM ADSR from like 1.0.1 had the same clicking, and now it is solved. I'm not sure if they do some sort of quick but not too fast "release" in the env so they can force the old note into a zero crossing like you say it needs, or it was something with the note-release management system... if we know how the old ADSR was solved, then it is likely this one can be solved the same way.
infuzion ·
Still need help here please 🙂
infuzion ·
anyone home here? 😇
oddson ·
I'm not sure what you can do to fix this other than a low-pass on the envelope generator before it goes into the VCA module. Something with a fairly low cut-off should be safe enough as an envelope should really only change at sub-sonic rate. So an alpha in the 0.003 range in a standard low-pass should do the trick by avoiding audible content while still keeping the envelope reasonably responsive.
streamin in;
streamout out;
out = 0.003 * in + 0.997 * out;
Anyone know any better?
Edit... on second thought that might not work at all. It might click (or thump) on the attack of the new note as the old one's envelope transitions to the new. :S
Wrote something here? To have a post removed or your name hidden, write to [email protected].