Am 28.10.2018 um 18:05 schrieb Scott Cotton:
- you need two up to 200 tap FIR filters for a spectral envelope
on an ERB scale (or similar) at this FFT size (you can
precalculate this
offline though)
Could you explain more about this? What exactly are you doing with
ERB and offline calculation of
spectral envelopes?
I am not using ERB at the moment I was thinking ahead how to do it more
properly.
What I do at the moment is filter the amplitude spectrum with a
moving average FIR filter, I am using 5 bins average on the lower bands
and 40 bins on the highest bands, (for an FFT size of 1024 at 22050
sample rate)
blending between filter lengths dependeing on the log 2 of the bin number.
In other words, I double the moving average filter each octave.
I filter forwards and backwards through the bins.
This is my spectral envelope, wich I use to whiten the original signal
(devide the original spectrums amplitudes with the smoothed spectrums
amplitudes)
and then use a shifted version of the avaraged spectrum to imprint the
corrected formants
(mulitplying, like vocoding) on the whitened spectrum.
To do this more properly, I assume that the averaging filters should be
based on an ERB scale
though what I do is somewhar similar. Then you would need to average
abou 200 samples
for the highest ERB bands.
My idea was to use the phase vocoder in a sample slicer, so that you can
stretch
and pitch shift samples slices, with reconstructed formants.
For this youd could precalculate the forward FFT, the spectral
envelopes, and the phase
differences/frequencies, so you only have the latency and CPU of the
inverse transform.
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp