SynthMaker

parabolic saturator

Archive · 2005 18 old posts

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

ik ·

Hmmmm .... my first code....😠 Parabolic saturator for 'overdrive effect':

the code: ---------------------------------------------------------------------------- polyin In; polyout out;

float temp1; float temp2; float temp3;

temp1=In>=0&In+In<0&-1*In; temp2=In>=0&1+In<0&-1; temp3=In*(1-temp1/4); out=temp1>=2&temp2+temp1<2&temp3;

//parabolic saturator ----------------------------------------------------------------------------- and the file: http://www.mindspring.com/~ikaldor/par_saturator.osm ik.

malc ·

Great stuff ik!

Malc.

Shifrin ·

Thanks very much ik! It's getting lile Christmas every day here now with new things being posted all the time 😀

Shif.

KLG ·

Thanks! I'm an absolute beginner and this code looks like something I may be able to understand...

Anyone mind explaining the last line of the code? Is it equivalent to "If temp1>=2 then out=temp2 else out=temp3"? Why use 2? Isn't the range of the polyin limited to -1 to 1?

Tom7777 ·

Thanks

stefan ·

KLG wrote: Thanks! I'm an absolute beginner and this code looks like something I may be able to understand...

Anyone mind explaining the last line of the code? Is it equivalent to "If temp1>=2 then out=temp2 else out=temp3"? Why use 2? Isn't the range of the polyin limited to -1 to 1?

yep.

KLG ·

stefancrs wrote: KLG wrote: Thanks! I'm an absolute beginner and this code looks like something I may be able to understand...

Anyone mind explaining the last line of the code? Is it equivalent to "If temp1>=2 then out=temp2 else out=temp3"? Why use 2? Isn't the range of the polyin limited to -1 to 1?

yep.

Thx stefancrs. Then in what occasion would temp1 be bigger than 2? I know it should be something very simple... but I just can't get it...

malc ·

Hi KLG,

Welcome to the forum!

Stefan beat me to it 🙂 As he said you are spot on with your interpretation of the last line of code.

KLG wrote: Isn't the range of the polyin limited to -1 to 1?

There is no range limit for Poly data as such. The built in oscillators will output signals in the range -1 to 1 but if you play two notes at the same time and add them you'll get a potential range of -2 to 2.

There's no built in limiting to SynthMaker, this is left open so that you have full control over what happens in your synths and effects.

[EDIT] You posted again while I was posting but I think this covers your question, if not let me know and I'll try and beat Stefan to it this time 😉

lalo ·

great stuff istvan!

KLG ·

malc wrote: [EDIT] You posted again while I was posting but I think this covers your question, if not let me know and I'll try and beat Stefan to it this time 😉

Thx marc, I get it now!

ik ·

Hi! Thanks for the feeback! ... I don't want to pretend I understand the 'heart' of the code ... 😉 It was ported from SynC Modular, here is the original "code":

[The original was made by 'Dr.SynC' (now with NI to develop Reactor 5 ) 😠] ik.

Tom7777 ·

Thanks Ik, great work, it has been very interesting comparing the two versions to see the differences between the two. Thanks for all your examples 🙂

unkargherth ·

A "code-only" version, with some added goodies

And here is the link to schematic

EDIT: here iis the code for those having problems with the links

polyin in; polyin sat; polyin thres; polyin depth; polyout out; float tmp0,tmp1,tmp2,tmp3;

// multiply in by sat level ( 0..1) tmp0=5*sat*in;

//take the absolute value tmp1=(tmp0>=0)&tmp0+(tmp0<0)&(-1*tmp0); tmp2=(tmp0>=0)&thres+(tmp0<0)&(-1*thres);

tmp3=tmp0*(1-tmp1/4)*thres;

out=(tmp1>=2)&tmp2+(tmp1<2)&tmp3;

out=depth*out+(1-depth)*in;

Shifrin ·

Link doesn't seem to work for me, neither does the screenshot...

I'm interested in the 'goodies' 😉

Shif.

stefan ·

Shifrin wrote: Link doesn't seem to work for me, neither does the screenshot...

I'm interested in the 'goodies' 😉

Shif.

That's weird, both work here.

Shifrin ·

Really odd, can't get to www.terra.es either, from Firefox or IE. Maybe jorge or malc could host it? I want the goodies 🙂

Shif.

malc ·

No problem:

[old link]

Shifrin ·

Cheers malc, got it now 😀

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.