Signal Processing and Communications Laboratory

Department of Engineering

Computer Music Transcription - a brief introduction to our work

Below is a waveform from a solo flute recording:

And a corresponding computer pitch transcription (see Godsill and Davy, ICASSP 2002 ):

flute pitch estimation

This is a relatively simple task for single instruments playing one note at a time.

We are concerned with the more challenging case of several or many notes playing simultaneously. We will wish to answer some or all of the following questions:

  • How many notes are playing at a given time?
  • What are their pitches?
  • What instruments are playing, and what timbre are they using?

We employ a harmonic modelling approach in which each note in a chord is modelled using a harmonic complex:

harmonic model formula

This leads to a complex parameter and model selection task, for which we employ Bayesian Monte Carlo computational techniques. These are iterative, and successively refine the current `estimate' of the musical parameters.

Take for example a 4-note chord (here repeated many times). We now perform iterative Monte Carlo sampling to refine our estimate of the fundamental frequencies of each note in the chord, finally reaching the true pitches of the 4 notes:

4-note Monte Carlo

(Listen to the successive estimates of the chord)

Here's also a 2-note extract (commit.wav):

First the `ground truth', transcribed by human listener:

ground truth - commit

And the computer transcription of the same extract - note the accurate tracking of vibrato and other performance artefacts:

estimated - commit

Finally, extraction of the melody line from a complex jazz piece:

parker freq store

and the extracted melody.

For more information, see Davy and Godsill. Bayesian Statistics VII. Oxford University Press, 2003.