fractional-octave frequency smoothing

Eamonn Doyle's icon

Hi list;

I have some audio fft data stored as jitter matrices, and would like to be able to smooth it to some arbitrary bandwidth, e.g. 1/3rd octave or whatever.

So I suppose I need to either use a smoothing kernel that gets wider as I move from low to high frequency, or perhaps first convert to a log frequency representation, and then do the smoothing?

I'd be very interested to hear of anyone doing such things in jitter.

Best,
Eamonn

projects's icon

Hi Eamonn,

When you say "smooth it", I am assuming you mean transform the data
somehow into 1.3 octave representations rather than the FFTs linear
frequency distribution... correct? I think using a kernel with
variable width should give the same results as converting to a log
frequency representation and using a kernel of fixed width.

The linearity of freq bins is one of the big weaknesses of the FFT.
Wavelet transforms are promising in this regard. A while ago I
completed some preliminary work to make this technology available in
Max, but I haven't finished the project. I'm hoping it will be
included in a future version of the jitter.

Ben

Peter Castine's icon

On 30-Mar-2006, at 1:50, Ben Nevile wrote:
> The linearity of freq bins is one of the big weaknesses of the FFT.

Coming a little late to this thread, but I recall now that I worked
around this "weakness" by grouping FFT bins into (approx.) 1/3rd
octave groups and handling the groups as a unit. It worked fairly
well in my Spectral Mutation object, lp.frim~.

Credit where credit is due: I got the idea from talking with Tom Erbe
and Larry Polansky, chatting about our various implementations of
mutation algorithms.

The algorithm I used for grouping bins might be more procedural-
language friendly than Max-friendly, but I suppose it could be done
with patch cords. FTR, lp.frim~ supports octave division from one to
fifteen "virtual bins" per octave (as well as plain vanilla FFT
linear bins).

-- Peter

-------------- http://www.bek.no/~pcastine/Litter/ -------------
Peter Castine +--> Litter Power & Litter Bundle for Jitter

iCE: Sequencing, Recording & |home | chez nous|
Interface Building for |bei uns | i nostri|
Max/MSP Extremely cool http://www.castine.de
http://www.dspaudio.com/