SynthMaker

Stop iterations (and example)

Archive · 2011 5 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

lesobrod ·

Here it is Sin Osc with non-linear, naturall Attack and Decay without any sin or exp functions. I'm going to use it in some bell-like VST and I hope it will be greate! 😀 But there is a big problem. The core of Osc has an iteration process - smth like x[n] = a * x[n-1] + b * y[n-1] etc. The algorithm is stable; all variables finally tend to zero. But when they become a little enough (about 1e-10 in abs), CPU usage start increasing!! I think it's because such numbers need a lot of operations. But in fact, when amplitude becomes so low, all process must be simply stoped!

It seems something like this: x = (abs(x) < 0.000001)&0 + (abs(x) >= 0.000001)&x maybe helpful, but looks so ugly 😠

How totally stop a stream code process when some condition becomes TRUE? It helps to avoid very small numbers and set CPU = 0, when no note event comes and all real sound fade.

lesobrod ·

Maybe nobody understand me? 😊 When all links from Code module destroyed (by Ctrl + LeftMouse e.g.), Code process stops and reset. Is it possible to do it internally? Selector don't help ( link to selector works even another input choosen).

stw ·

lesobrod wrote: Maybe nobody understand me? 😊 When all links from Code module destroyed (by Ctrl + LeftMouse e.g.), Code process stops and reset. Is it possible to do it internally? Selector don't help ( link to selector works even another input choosen).

search for "clear" in the toolbox and you'll find a prim "ClearAudio".

lesobrod ·

Ok. But this reset all audio. In my project some Osc should stop in different time (as overtones of bell). By the other side, surprisingly, the Code continue working after ClearAudio. In overload case, 15-20 % CPU use. After ClearAudio: 3-4%. And after Remove Links and repair - 0%.

trogluddite ·

The problem you are having is called 'denormal numbers. If you search for 'denormal', there a quite a few posts with tips for eliminatng them.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.