Hi,
I have just finished putting together a few externals for my own use, and in the spirit of sharing etc I thought I'd make them available to everybody else. They can be found in my puredata corner at <www.puredata.org/members/jb/>. The work includes:
fton - a slight modification to my old spectonote external for outputting note name, octave class and cent deviation from a frequency input.
fct~ - an implementation of the Fast Discrete Cosine Transform algorithm by Sherlock and Monro
ifct~ - the inverse of the above
flib - This is really just the early beginnings of a modular library of externals aimed at simplifying feature extraction in PD. So far it includes:
* mspec~ - magnitude (or power) spectrum from rfft~
* pspec~ - phase spectrum from rfft~
* peak~ - peak detection (and frequency estimation) from mspec~
* sc~ - calculate spectral centroid from peak~
* ss~ - spectral smoothness
* trist~ - spectral tristimulus (x,y,z)
* irreg~ - spectral irregularity
* sfm~ - spectral flatness measure
mspec~, pspec~ and peak~ work entirely in the signal domain. All of the other objects take signal domain inputs and generate message domain output. I intend to add tools for calculating MFCC (incorporating fct~ above) and a few other goodies in the not too distant future.
At the moment the Makefiles and binaries are Linux only. I do intend on making this available on other platforms though.
It would be nice if someone other than me found this work useful, but at any rate, comments, suggestions, bug reports and error reports are very welcome.
Kind Regards,
Jamie