sorry, i was so busy experimenting that i did not took time to try your patch, i'll do it tomorrow.
Directly driving a wavetable with a modulated phase will produce aliasing for high pitch or heavy modulation.
Aliasing is what i am fighting.
My first goal here is to adapt an anti aliasing method I already used in JSFX plugin's.
Once I find the best way to implement it on the Axoloti I will certainly make different objects (oscillators and distortions).
So this evening, i experimented 2nd order differentiation with 32 bit integers, even with optimisations.
~ 1900 cycles, inaudible at high pitch aliasing but i had glitches in certain conditions (low frequency and deep phase modulation).
I tried using some 64bit integers (the STM32F4 has 32bx32b -> 64b mul and mulad) for the most critical sections of code. ~ 3000 cycles but it was not enough... again glitches when using slow and deep phase modulation.
So, for the moment, i won't try to use 2nd degree.
The first degree DPW is around 1200 cycles, I will try to use some oversampling.