SynthMaker

AGC CODE HELP

Archive · 2012 2 old posts

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

ivanschrago ·

Hi all

I've searched for AGC Code along the forum. I found nothing. Finaly I found something on google groups, that has to be ported to SM Code. I've no plan how to port that thing, cause I'm defenetly no programmer (for no, but still learning).

Can somebody help me out a little bit?

loop forever { /* Voltage controlled amplifier is just a multiplier here */ yout=yin*iout /* error */ err=spoint-abs(yout) /* Integrate */ iout1=iout iout=iout1+gain*err }

I've tried already , without positive result :/

trogluddite ·

Hi there, The code there, luckily, can be copied almost directly - I have had to make some educated guesses about what the variables are representing, but I'm pretty sure this is a good translation. The code will have three inputs - the incoming audio, the target volume level, and a control to set the speed of gain changes. Gain would be between 0 and 1, but I think you'll need pretty small numbers at the "gain" input to get usable times.

streamin yin; //Audio Input streamin spoint; //Target gain (I think) streamin gain; //Controls speed of gain changes

streamout yout; //Audio output

float iout,iout1,err; //Declare other variables

yout=yin*iout; err=spoint-abd(yout); iout1=iout; iout=iout1+gain*err;

For code that is just maths, like that one, the translation is usually fairly simple, you just need to understand those first few lines where "streamin" creates an input connector, "streamout" creates an output connector. Then you must declare a list of variables that you need to use ("float") - so that SM can plan how much memory is needed. And all code lines in SM must finish with a semi-colon ":".

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.