DSPRelated.com
Forums

wavetable synth & anti-aliasing

Started by mudskipper February 12, 2007
hello, 

i'm trying to program a wavetable-based synth in c++. I have some
waveforms and different envelopes for them and want to switch between
settings while playing. I use a 4096 samples buffer. My question is, how
do i now implement anti-aliasing? I thought of multiplying envelope &
waveform, and then lowpass and the resample with linear interpolation at a
lower sample rate. Is it right, that this has to be done, everytime I
change a note or change the setting for waveform /envelope or pulse width?
can anybody recommend a (phase linear) antialiasing filter? i would think a
-24dB filter is not enough.

thanks for any suggestions

tom


i did some research and it seems i need some kind of Crochi�re/Simth &
Gosset interpolator. Is there a source for the coeffcients for the filter
table?

tom

On Feb 12, 7:32 pm, "mudskipper" <tomacm...@freenet.de> wrote:
> i did some research and it seems i need some kind of Crochi=E8re/Simth & > Gosset interpolator. Is there a source for the coeffcients for the filter > table?
dunno what kind of tools you have. (MATLAB, maybe?) probably for your purposes, a windowed sinc() function would be okay. a Kaiser window would be best but a Hamming window, which is easier to compute, might be good enough. for a primer on the theory, maybe take a look at: http://groups.google.com/group/comp.dsp/msg/e9b6488aef1e2580?fwc=3D1 r b-j
mudskipper wrote:
> i did some research and it seems i need some kind of Crochi&#4294967295;re/Simth & > Gosset interpolator. Is there a source for the coeffcients for the filter > table? > > tom >
Julius O. Smith's site has a fairly detailed description of how to compute the filter coefficients. http://ccrma-www.stanford.edu/~jos/resample/ If that isn't enough info, then a good place to start is looking at an implementation of the algorithm. libsamplerate implements this algorithm, and will show fairly well how to implement the algorithm in the way you need it. Regards Marc