From the original SynthMaker forum (2004–2014), with its members’ names and dates.
kirkagur ·
Hi all
i have an example that i don't understand
if someone can explain to me what`s happen there i will be grateful .
at first look
its looks like there is no aliasing in the code "osc" and this is good....
but
the osc is out of tune ...
why is this happens?
oddson ·
I think the fact that your resetting to zero means you're ignoring the amount you've gone over 1 by. Since there's not an exact integer for each pitch you will skew the frequencies downwards if you ignore the fractional value. Also, you're not resetting when t==1 so you end up going one cycle too many even on MIDI=69 where there is an exact integer.
Try this for reset code instead: [EDIT t>=1]
t= t - (t>=1) & 1.0 ;
P.S. - I'm pretty sure you are aliasing as there's nothing there to prevent it. The Ramp primitive also aliases as it's not meant to be a sound generator but an index generator.
aliasant ·
It is a nice sounding ramp except that "little" problem.
Oddsons trick seems to fix it but now it sounds exactly like the original ramp. Not as good as it did before..... except that it is now in tune...
Wrote something here? To have a post removed or your name hidden, write to [email protected].