I am looking for some advice in regards to down-sampling buffers of audio in a plugin.
Basically I want to downsample the contents of the
processBlock function’s incoming audio buffer into another “down sampled” buffer. I want to do this as the plugin involves various feature extraction/analysis routines which compute different characteristics (spectral centroid, mfcc’s etc.) on the current buffer. I would like to down-sample as a reduction step prior to feature extraction. The plugin is mainly targeted to analysing vocals/beat-box performances so the the bandwith of interest is narrower than that of 44100hz sample rate etc.
The plugin also synthesises different sounds in response to certain feature analysis techniques so audio will be output at standard host sample rates (44100hz and up), hence the wish to down-sample to a separate buffer for analysis.
I am aware some libraries exist such as libsamplerate etc.
I’m interested in other approaches though. For example I know using an FIR lowpass filter and then decimating is one approach.
Does anyone have experience of implementing down-sampling using the LarangeInterpolator class or similar ? Any advice appreciated.
This is a little beyond my DSP knowledge at the moment so I may just need to get my head into some textbooks. Idealy I’d like something I can use/implement with minimal hassle as this is an academic project and the down-sampling stage is not the project focus.