yes. i want my osc to be able to accept FM and very fast envelopes. very fast envelopes clearly have spectral components in the audible range and therefore color the sound with modulation-sidebands. thats also a reason, why i generate my envelopes at sample-rate and update everything (also filter coefficients) at sample-rate. taken to the extreme: the faster an evelope gets, the more it approaches an impulse function which contains all frequencies with the same amplitude.Borogove wrote:Assuming you blend between wavetables as the pitch changes instead of doing a hard cut between them, you can select some compromise blocksize (32 or 64 samples) to select the table -- as long as your pitch modulation doesn't get very deep and very fast, you'll rarely have any audible aliasing. If the modulation is too fast for that to work, then you actually have FM
that's true. unfortunately. is there a simple solution? ....mmmhhh......oversampling.....mmmhhh....jaaaa...don't know anything better at the moment.Borogove wrote:Strictly speaking, the spectrum generated by FM or PM always has unlimited harmonics of nonzero amplitude, so aliasing is guaranteed regardless of what wavetable you select.
predicting an FM-spectrum???!!! wouldn't this require to evaluate a whole bunch of bessel-functions? at sample rate?!...i mean, the essence of FM is varying the FM index and maybe also the frequency ratio over time (-> again with envelopes, which should be updated at sample-rate (imo)). directly evaluating the bessel-functions is obviously brute force. but is there a simpler way to predict an FM-spectrum? i mean, i didn't think much about it yet.Borogove wrote:The only way I can think of to avoid it is to synthesize one cycle of the modulated FM signal (either with brute force in the time domain or using Urs's IFFT strategy from the predicted spectrum) and use that as the wavetable; this doesn't allow you to have inharmonic partials. (It's also essentially equivalent to MadBrain's suggestion, now that I think about it.) So in fact if you want completely alias free FM, you may as well go straight to additive synthesis.
at the moment i accept the aliasing in FM as i don't know really what i can do about it besides oversampling (which i don't want to do, at least not in my current synth project "aggressor" - which has FM but is not meant to be a FM-expert)Borogove wrote:If instead you decide you can accept some aliasing in your FM, then pick a wavetable that is an acceptable compromise between aggressive brightness (more partials, more aliasing) and mellow dullness (fewer partials, less aliasing)


