Wednesday, February 24, 2016
For the record: PV_HainsworthFoote
This post is probably of very limited interest unless you came here via a search! This is to set the record straight on a function called PV_HainsworthFoote, which someone kindly but erroneously half-named for me.
So I was browsing the Supercollider audio synthesis language documentation and was somewhat surprised to find my name on a function PV_HainsworthFoote.
This function detects audio onsets (typically the start of notes) in a spectral representation of audio. It does this by looking at the difference in the short-term DFT of a signal. Evidently the author read Stephen Hainsworth's Ph.D. thesis which on page 51 attributes the following distance measure to me:
![Foote & Uchihashi 2001 [117]
used the principle of audio self-similarity to examine rhythmic
structure. The assumption was that within the space of a single
sub-beat, the sound is approximately constant and therefore the
spectrum will have high similarity. They therefore defined a
similarity measure as the normalised scalar product of two spectra,
DFoote(n) = h|Xn|,|Xn−1|i ||Xn|| × ||Xn−1||. This produced a two
dimensional plot of similarity between any two frames of the audio
signal, which was then autocorrelatively analysed for tempo
hypotheses.](./hainsworthP51.png)
This was taken from my paper The Beat Spectrum: a New Approach to Rhythm Analysis, where I describe it as follows (in slightly different notation):

While it's flattering to have this named after me, it is really not my invention: it is nothing more than the cosine similarity which is, or should be, rather well-known. The cosine similarity measures how similar two points in space are by the cosine of the angle between the two vectors from the origin ending at the points.
I am pleased, however, to have the chance to re-read the Beat Spectrum paper (PDF here) which was always one of my favorites and I think has stood the test of time.