more advanced wavetable playback?
-
So it seems to me - unless I am reading it wrong - the wavetable synthesizer in the module tree basically only supports gain modulation, pitch modulation, and table index modulation. There aren't any mod destinations for table phase/voice phase, or anything more advanced that you'd see in something like Serum or Pigments.
And furthermore, the LFO modulator in the module tree is always monophonic and applies to all current voices of any sound generator. Am I understanding that right???
So how would I buiild something a little more advanced? ScriptNode and custom c++ nodes for Wavetable playback??
-
You're asking for quite a lot of trouble if you want to do it yourself! WT synthesis is math heavy
-
@griffinboy So if I don't go that way, I'm more or less just stuck with the basic index interpolation offered by the wavetable synth module you reckon??
I don't really understand the underlying DSP principles behind wavetable synthesis to be honest, so I guess it is biting off more than I can chew.
-
You need to understand either advanced filter design or FFT in order to make a good wavetable engine
-
@griffinboy To what degree? I understand how to put together a basic biquad, and I understand hermite interpolation. I know the basics of running an STFT across a signal and breaking it up into frames, windowing the signal, and retrieving magnitude and phase data for each window. But that's about it!
-
To avoid aliasing you need to be able to control which harmonics are present in the signal either using FFT or a Filter. You'll need to be able to do upsampling in good quality which is why filter design is important I'm not talking about biquads, rather FIR filters. If you can process a signal with FFT in C++ and back again, and you can use FIR filters to do oversampling then you should be able to do a WT engine.
Here is a good resource