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].