hi,
lately i did some research about the opportunity to add some fx to the pfm3,
the goal was to add some time domain fx in the timbre layer, instead of in the voices, to save cpu and allow some ram to be used.
So, with 2kb per timbre, interesting things can be done, like flangers, chorus, pitch shifter, frequency shifter...,
Even a delay can be done by dividing the sample rate by 4 : this give a 170ms lofi delay which may be quite usable with enough lowpass.
A small trick had to be done to do all of this, one must calculate the modulation matrix of the last played note, even after the note ended :
https://github.com/pvig/preenfm3/blob/fe19cdc612f00cf5129821376742faefc2a53d3f/firmware/Src/synth/Timbre.cpp#L775Something different from the existing filters is the behaviour of the filter gain param : with these new effects, it work like a dry / wet, which is better suited for this kind of effects.
Some raw audio snippets :
flanger, various kind of chorus, then the double pitch shifter fx (like on the eventide h3000) :
http://sndup.net/g5mjfrequency shifter, then the crunchy delay, then the pitch shifter :
http://sndup.net/wqhjCurrent effect list is :
Flanger, triphase chorus, dim d chorus, pitch shifter, harmonizer (double pitch shifter for large intervals), frequency shifter, widener (double pitch shifter suited for small intervals), lofi delay.
Further effects may be done, like oversampled filters, but for now i'm happy with this set
Edit :
I forgot to add the fact that i found a memory optimisation in the reverb section : by halving the sample rate of the predelay, 8 kb of ram can be saved.
It's barely noticable as the reverb input diffuser wash a bit that part of the signal anyway.
(fw bin attached)
Edit 2 :
i talked about kilobyte above, when i should have say kilo-float which is 4 time more kilo bytes.