[sdiy] vocoder filters

rburnett at richieburnett.co.uk rburnett at richieburnett.co.uk
Mon Sep 2 12:04:53 CEST 2019


Multi-rate processing is what made it possible to run 160 biquad filters 
simultaneously on my 30MHz dsPIC.  The filter bands for the top two 
octaves were run at the full sample rate, and then the bands for 
successively lower octaves were each run at half of the previous sample 
rate.  This gives a huge saving in CPU load across the full audio band, 
and it also lets you re-use the same sets of filter coefficients for the 
IIR filters at each new sample rate!  It was a bit of a pain on the 
synthesis side though because the outputs from all of the different 
filters running at different sample rates all had to be interpolated 
back up to the full output sample rate (>.<)  The thing that I found 
tricky was keeping track of all of the delays in the down-sampling and 
the up-sampling processes for each octave, so that the outputs from all 
of the filter bands were properly time-aligned when mixed together at 
the output!

Multi-rate DSP definitely can seem like a magic bullet.  It is amazing 
that it is more efficient doing all of the decimation, running things at 
multiple sample rates, and then interpolating and putting it all back 
together again, than it is to just run all of the filters at the full 
rate.  In fact multi-rate DSP can be the difference between something 
that is realisable on a given piece of hardware and something that is 
not realisable.

-Richie,

BTW, the talking piano video is terrifying!


On 2019-09-01 23:44, Bernard Arthur Hutchins, Jr wrote:
> The general set of vocoder problems mentioned here yield to a specific
> digital approach.
> 
> First, the need for MANY (topographically similar) filters with
> unknown or uncertain parameters is an obvious job for programming.
> 
> Second, obviously, the equivalent of filtering can be done by taking
> an FFT (analysis), custom weighting the frequency domain description
> (the dynamics) and inverting the thusly modified FFT (synthesis).
> 
> Thirdly, since the FFT frequencies are equally spaced in Hz (requiring
> huge FFT sizes) the FFT is NOT well-suited to the audio/speech
> problem. Instead, look at the well-studied approach of MULTI-RATE DSP
> where lower rates at lower frequencies are used.  (It’s magic).
> Things like “perfect-reconstruction filers”.  See: P.P.
> Vaidyanathan “Multirate Systems and Filter Banks” (Prentice-Hall,
> 1993) and N.J. Fliege, “Multirate Digital Signal Processing:
> Multirate Systems, Filter Banks, Wavelets” (Wiley 1994).
> 
> A simple introductfion: http://electronotes.netfirms.com/AN358.pdf
> 
> But first of all – What are you hoping to accomplish?
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy


More information about the Synth-diy mailing list