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

Reply via email to