Polyphonic music transcription does not currently appear to be a solved problem.

How about the inverse of a small portion of the problem. Are there any kind of spectral characteristics (from an STFT) that can be used to eliminate some musical chords from the probability space? (e.g. this snippet of sound most likely does not contain any C# chord, or any kind of diminished minor chord, or this is a single note not a chord, etc.)

Assume the audio snippet is more-or-less stationary (transient attack removed, etc.), and that overtones for most or all individual notes are very likely present. (And this question is not about inverted chords.)

  • 3
    $\begingroup$ It might help future users (and answerers) if you could provide classical/seminal/important references to serve as an introduction to the topic. $\endgroup$ Sep 8, 2011 at 2:13

2 Answers 2


The problem of polyphonic music transcription has received a huge amount of attention in the research community in recent years and I would go as far as to say that for single instrument polyphonies (piano, guitar etc...) the results are very good. Here are a few papers/authors who have looked at this problem deeply. Derry Fitzgerald has done a lot in the area, a lot of his NMF work on source separation produces accurate transcriptions. Anssi Klapuri has looked even more specifically at the problem of chord detection within multi instrument polyphonies. And finally, although not published, Mikel Gainza has developed very accurate chord transcription algorithms for commercial music soon to be released in a guitar based software product Riffstation. The publications in the linkes here should give you a good idea of how the Polyphonic music transcription landscape currently lies.


Are there any kind of spectral characteristics (from an STFT) ... this is a single note not a chord, etc.)

Well, for this, the STFT will only contain a fundamental frequency component and other frequencies that are close to harmonics of it (not exact, though, because of inharmonicity). Find the peaks in the spectrum and see if the higher frequencies are close to integer multiples of the lowest frequency present. If there are non-harmonic frequencies present, then it's not a single tone.

(But what about instruments with a missing fundamental, or fundamentally inharmonic things like bells? What about two instruments perfectly in tune playing an octave apart, so their partials mostly line up with each other? Do you want to detect that as a single note or two notes?)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.