Skip to content

mus.spectrum

Olivier Lartillot edited this page Jan 28, 2020 · 10 revisions

This operator is a specialisation of the auditory modelling operator aud.spectrum focused on music-theory.

Resonance curve

mus.spectrum(…,'Resonance',r) multiplies the spectrum curve with a resonance curve that emphasizes pulsations that are more easily perceived. Two resonance curves are available:

  • r = 'ToiviainenSnyder' (Toiviainen & Snyder 2003), default choice if 'Resonance' keyword used. Designed for onset detection (cf. mus.tempo),
  • r = 'Fluctuation' : corresponds to the fluctuation strength curve (Fastl 1982) used when calling aud.spectrum(..., 'Resonance').

Spectrum decomposition into cents

mus.spectrum(…,'Cents') distribute frequencies along cents. Each octave is decomposed into 1200 bins equally distant in the logarithmic representation. The frequency axis is hence expressed in MIDI-cents unit: to each pitch of the equal temperament is associated the corresponding MIDI pitch standard value multiply by 100 (69100=6900 for A4=440Hz, 70100=7000 for B4, etc.).

It has to be noticed that this decomposition requires a frequency resolution that gets higher for lower frequencies: a cent-distribution starting from infinitely low frequency (near 0 Hz would require an infinite frequency resolution). Hence by default, the cent-decomposition is defined only for the frequency range suitable for the frequency resolution initially associated to the given spectrum representation. Two levers are available here:

If a minimal frequency range for the spectrum representation has been set (using the 'Min' parameter), the frequency resolution of the spectrum is automatically set in order to meet that particular requirement.

https://miningsuite.googlecode.com/svn/wiki/SigSpectrum_ex5.png

sig.spectrum('ragtime','Cents','Min',100)

By increasing the frequency resolution of the spectrum (for instance by using the 'Res' or 'MinRes' parameters), the frequency range will be increased accordingly.

  • mus.spectrum(…,'Collapsed') collapses the cent-spectrum into one octave. In the resulting spectrum, the abscissa contains in total 1200 bins, representing the 1200 cents of one octave, and each bin contains the energy related to one position of one octave and of all the multiple of this octave.

Flowchart Interconnections

Same as in sig.spectrum.

Accessible Output

Same as aud.spectrum, plus:

  • 'Scale' also mentions whether the frequency scale has been redistributed into cents ('cents') and collapsed ('cents (collapsed)')
Clone this wiki locally