SynthMaker

single sample value

Archive · 2012 4 old posts

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

rocko ·

Hi,

I'm trying to build a "by sample" feedforward function. Something like this:

y[n] = a0*x[n]+a1*x[n-1]

Where: y is output n is sample, [n-1] is last past sample, etc. x is input a0,a1 are function co-effcients.

How can I do this in synthmaker? I mean SM takes the audio data as stream. Can I control it sample-by-sample? Do I need to build a "memory holder" for that, or is there a written module for past values?

Thanks a million !

stw ·

rocko wrote: Hi,

I'm trying to build a "by sample" feedforward function. Something like this:

y[n] = a0*x[n]+a1*x[n-1]

Where: y is output n is sample, [n-1] is last past sample, etc. x is input a0,a1 are function co-effcients.

How can I do this in synthmaker? I mean SM takes the audio data as stream. Can I control it sample-by-sample? Do I need to build a "memory holder" for that, or is there a written module for past values?

Thanks a million !

Sure you can control it sample by sample. You just have to hold the last input in a variable and take it over to the next cycle. Your code could look like this:

y=a0*in+a1*temp; temp=in;

In that case the actual input is hold in temp and can be accessed at the next cycle when it will be actually one sample behind. You can also implement further variables to hold earlier samples. You'll find that handling in many filter codes. E.g. at Moog filter from the toolbox.

rocko ·

Thanks !

Great answer.

So - is this correct?

Yn=a0*in+a1*n1+a2*n2; n2=n1; n1=in;

The code calculates it all sample by sample and each sample is at "word_bit" length? (16, 24, etc.)

I'll look up the moog filter soon.

stw ·

rocko wrote: Thanks !

Great answer.

So - is this correct?

Yn=a0*in+a1*n1+a2*n2; n2=n1; n1=in;

The code calculates it all sample by sample and each sample is at "word_bit" length? (16, 24, etc.)

Yes your code is correct. All stream modules (e.g code/asmbox or any stream primitive) are calculated samplewise. SM calculates with 32bit floats. There's another interesting thread about bit depths here: Gauging bit depth.

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.