chords

The (web) app for people without perfect pitch

Stars
9

Chords

Chords recognizes musical notes present in played audio. It runs on most modern desktop and mobile browsers.

Algorithm

To recognize notes, the following process is used:

  • The audio input is split into 4096 sample wide chunks.
  • Every 1/10 second, this buffer is transformed to a power spectrum
    in frequency space using fast Fourier Transform.
    Frequencies that do not correspond to musical notes are discarded.
  • A new analysis series is started whenever the total power in the spectrum more than doubles
    between consecutive spectra.
  • Whenever an analysis series is started, a Bayes Filter
    is used consecutively to determine which of the notes in the spectrum are being played and which
    are overtones or noise. (See here
    for a Jupyter Notebook with examples.)

Example Spectrum showing a C4 major. The chord is highlighted in red.

Credits

Chords is made by Tilman Roeder for the SWE Project Competition. Icons based on the In The Studio icon-set.

Related Projects