A (12TET major/minor) key tracker based on a pitch class profile of energy across FFT bins and matching this to templates for major and minor scales in all transpositions. It assumes a 440 Hz concert A reference. Output is the strength of the match to scales, e.g. maximal correlation with key profiles. Provides a measure of the level of key clarity, e.g. unambiguous key.
[fft] Audio input to track. This must have been pre-analysed by a 4096 size FFT. No other FFT sizes are valid except as noted below.
[sk] Number of seconds for the influence of a window on the final key decision to decay by 40dB (to 0.01 its original value).
[sk] Each frame, the chroma values are set to the previous value multiplied by the chromadecay. 0.0 will start each frame afresh with no memory.