Oh, it also might be of interest that the IVL algorithm isn’t FFT-based. I think their harmonizers sound better than the rest, so maybe FFT isn’t the best way to go.
Oh, it also might be of interest that the IVL algorithm isn’t FFT-based. I think their harmonizers sound better than the rest, so maybe FFT isn’t the best way to go.
If you look at the code of (phone/voice) codecs GSM/Speex/Opus you can see that you can estimate the spectral envelope (or the configuration of a physical tube model for the vocal tract) in time domain with linear prediction coefficients (LPC).
And it is simple, e.g. the often used Levinson-Durbin algorithm is just 22 lines of C code. It is an interesting exercise to build your own vocoder from scratch that fits in a single screen page.
Many of the code snippets I have seen (which likely have already processed your voice) are just translations of the Fortran code of the book "Linear Prediction of Speech" by Markel and Gray (1976).
Has anyone got more details?