FM synthesis, Antialiasing + a tutorial ad

Olli Niemitalo oniemita at
Thu Oct 15 09:58:04 EDT 1998

On Thu, 15 Oct 1998, P-Tar wrote:

> >I'd use doubled samplerate in the FM part and then downsample the
> >signal to the intended samplerate, using a halfband lowpass filter to
> >remove the above sr/2 frequencies. This pushes the limits where shit
> >happens to -1..1, compared to your -1/2..1/2.

I thought about it some more and noticed that instead of -1..1 the limits
with doubled samplerate are -3/2..3/2, which is even better! 

> Yeah - but in this case you'll eat up twice as much cpu. 

Yup, plus the filter... Anyway, a FIR implementation of the halfband
lowpass filter is very fast, because every second tap is zero.

I have written a very amateur, plain-text-with-ascii-pictures sound DSP
tutorial, you might want to check out the formula for that filter from the 
last chapter. Here's the address:

Hey you audio dsp wannabees out there, you can check out the tutorial too!
This is the first time i "advertise" it to this many ppl, hehehe, a kinda
publishment :)

> Generating an alias-free signal directly at the sample rate 
> would have been much elegant :). 

I have a feeling that there is no ideal + low cost solution for this
problem, only compromises, but hey, i might be wrong!

> Do most commercial softsynths use a similar double samplerate trick ?

Dunno.. I "invented" it for a wavetable softsynth i'll make, but i don't
know if anyone else is using it.

> If you are interested in FM synths you could give a try to the
> early version of my dx7 emulator 

A funny coincident: I already have that DOS Dixie thing of yours :) It may
be that i've bumped to you on IRC (Nick: yehar). BTW, i'm also doing an FM
thingy, an Adlib (YM3812) emulator. If anyone has the 100% correct
waveforms (right amplitude bit depth and all) and would share it, i'd be
very grateful!


More information about the music-dsp mailing list