We’ve done our best to make our website simple and easy to use, even though there is some complex technology behind Chordify. Our website is built using up to the minute web development techniques, like HTML5 audio etc.
Behind the scenes, we use the sonic annotator for extraction of audio features. These features consist of the downbeat positions and the tonal content of a piece of music. Next, a Haskell program HarmTrace then takes these features and computes the chords. For this to happen, HarmTrace uses a model of Western tonal harmony to aid in the chord selection. At beat positions where the audio matches a particular chord well, this chord is used in the final transcription. However, where there is uncertainty about the sounding chords at a specific position in the song, the HarmTrace harmony model will select the correct chords based on the rules of tonal harmony.
Chordify fosters open-source software. Not only do we use open-source software packages like GHC, PHP, SoX, sonic annotator and MongoDB,
but we also give back a large share of the in-house developed
technology to the music information retrieval research community via
open-source software projects like HarmTrace and scientific
publications. Here are some relevant scientific publications:
W. Bas de Haas. Music information retrieval based on tonal harmony. PhD thesis. Utrecht University, 2012.
W. Bas de Haas, José Pedro Magalhães, and Frans Wiering. Improving Audio Chord Transcription by Exploiting Harmonic and Metric Knowledge. In Proceedings of the 13th International Society for Music Information Retrieval Conference (ISMIR'12), pp. 295–300, FEUP Edições, 2012.
José Pedro Magalhães and W. Bas de Haas. Functional Modelling of Musical Harmony: an Experience Report. In Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming (ICFP'11), pp. 156–162, ACM, 2011.