SynthMaker

New 'Release' module...

Archive · 2005 9 old posts

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

Shifrin ·

Hi,

After playing around with custom envelope generators for a while now I've noticed the need for a module like the one shown below in order to force the release section of my custom envelope to play (I use the output of this module as a multiplier to my custom envelopes).

Does this approach use more CPU than a dedicated (inbuilt) 'Release' module would. All the module would need to do is produce an output of 1.0 as long as a note off hasn't been triggered or the note is being released for the given number of samples.

Make sense?!

It would just seem better and more efficient (to me) to have a simple inbuilt module for this purpose rather than have to rig up a full ADSR/Code Component!

Opinions?!

Cheers 🙂

Shif.

infuzion ·

Shifrin wrote: Opinions?!

Sure; your modlue would use less CPU when connected to Mono if you'd use streamin/out I think. 😉

Shifrin ·

Hehe indeed, I only use it for poly though 😉

I was just curious if an inbuilt module dedicated to this function would use any less CPU cycles than my current 'work-around' 🙂

Shif.

infuzion ·

Shifrin wrote: I was just curious if an inbuilt module dedicated to this function would use any less CPU cycles than my current 'work-around'

If anything, it will atleast reduce the file size; which is starting to affect how fast SM performs on my 256MB laptop. I also imagine that is would be less CPU since it won't calulate ADS part of the envelope.

BTW, IMHO, it would be better to keep it Steam; never know when you need if for a Pack4...

Shifrin ·

infuzion wrote: BTW, IMHO, it would be better to keep it Steam; never know when you need if for a Pack4...

Indeed, I sometimes forget to change the polyin/out I've got in my code (of which I've written a fair bit over the last several months) to streamin/out after they were introduced!

Thanks for the reminder 😀

BTW I got a new envelope working (Att/Hold/Dec) that should use a lot less CPU and also has variable slopes both concave and convex for the attack and decay stages. Needs a little more testing and to be extended to include sustain and release stages 😉

Shif.

infuzion ·

Shifrin wrote: BTW I got a new envelope working (Att/Hold/Dec) that should use a lot less CPU and also has variable slopes both concave and convex for the attack and decay stages. Needs a little more testing

You know I am game (checks inbox...)

Shifrin ·

infuzion wrote: You know I am game (checks inbox...)

Try checking again 😉

Shif.

malc ·

Hi Shif,

That envelope sounds very interesting, I'd happily take a look although I may have too much on my plate to do any testing 😉

I think that your workaround would take no more cpu than a dedicated release mechanism (be that a module or something in the code component). Jorge may want to rubber stamp this though.

It would still be better from a neatness point of view to have a dedicated mechanism for handling the release I think.

Malc.

Shifrin ·

malc wrote: That envelope sounds very interesting, I'd happily take a look although I may have too much on my plate to do any testing 😉

I'll probably post it up over the weekend, been modifying/optimisting it today. Essentially it uses the hop instruction to calculate the envelope point every 16 samples, and then linearly interpolates between these points at sample rate. So it should be pretty efficient, and seems to work pretty well now 🙂 Once I've nailed this env I'll do a full AHDSR version - then I want to make graphic editors for them 😉

malc wrote: It would still be better from a neatness point of view to have a dedicated mechanism for handling the release I think.

Indeed, I am all for neatness - having said that it's all wrapped up in a module anyways so if it's not going to be any faster having a dedicated module I'm not too fussed!

Cheers,

Shif.

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.