harmony-analyser is a set of visual tools for music harmony analysis of WAV/MIDI input, powered by JHarmonyAnalyser library

The difference we bring is the approach based on music theory, chord and chroma distances. JHarmonyAnalyser uses recent music theory models to extract musical meaning and distances between chords and chroma vectors. We aim to develop open-source music player, which is musician / musicologist-friendly and aid recent music information retrieval tasks.

harmony-analyser tools and JHarmonyAnalyser library are licenced under the GNU GPL License.

Tools are compatible with GPL Licensed Vamp plugins which can be used for additional analysis.

To contribute, please follow our guideline in GitHub repository.


2019-09-24 The Ph.D. thesis regarding harmony-analyser work is finally done & defended! The thesis "Cover Song Identification using Music Harmony Features, Model and Complexity Analysis" is available on the university website and was well-received by the jury at Charles university. Ladislav Marsik is ready to continue the research outside the university now, as an open-source initiative. The goals are now set to make the app more portable, and/or available online.

2019-06-26 Our harmony-analyser research won the Special award of the Joseph Fourier Prize competition 2019. We were awarded 50,000 core hours on the ANSELM supercomputer. Thank you French Embassy of Czech Republic and Atos for the opportunity to present this research infront of the jury.

2019-05-01 The research topic was selected as a contestant for Charles University on the Joseph Fourier Prize competition 2019 (organized by French Embassy and Atos), an excerpt of the recently submitted PhD thesis "Cover Song Identification using Music Harmony Features, Model and Complexity Analysis" will be presented by Ladislav Marsik.

2018-12-10 A new journal article has just been published in the Volume 12/4 (December) of the International Journal of Semantic Computing! Its main contribution is the Cover Song Identification on our Kara1k dataset within the KaraMIR project of three universities. Our last year's IEEE Best Paper nominee was selected to form the basis of this extended article.

2018-01-19 Kara1k dataset publication is now available in IEEE Xplore library.

2017-12-19 Kara1k dataset with our harmony-analyser features is now fully available! Our work was awarded a Honorable Mention by the chairs for 6 best papers on IEEE ISM 2017 in Taichung, Taiwan. Please see the conference poster and presentation to get a grasp on how to utilize these features and dataset for your own research.

2017-10-01 harmony-analyser was used to extract features for the new Kara1k dataset along other feature extraction tools such as Marsyas, YAAFE or Essentia. The dataset and results will be presented on IEEE ISM 2017 conference in Taichung, Taiwan. This dataset was built thanks to a partnership with Recisio's KaraFun karaoke application.

2017-06-13 We travel to Poland to present first results of our harmony analysis on Cover Song Identification task, as a part of CISIM 2017 conference. Paper published in Springer LNCS series.

2017-05-09 A little article by the Charles University (in Czech language) written about the recent ACM SRC competition, where the harmony-analyser project was presented by Ladislav Marsik.

2017-04-21 Our contribution was awarded a 1st place in ACM SIGAPP SAC 2017 Student Research Competition! We presented a poster, oral presentation and a live demo of our tools to the SRC judges. We advanced to the ACM SRC Grand Finale for all the SRC Winners. Research abstract soon to appear in the ACM Digital Library.

2017-04-11 We presented how to use our tools on DATESO 2017 conference. Paper or presentation for download.

2016-12-16 We were on 2016 Joint WOCMAT - IRCAM Forum Conference in Taiwan! Check out the contribution paper or presentation.

2016-12-07 Preparing the new GUI for version 1.2 - see sneak peak in the screenshots.

2016-09-19 Version 1.1 is now available (new Chroma distances and visualizations).


Please choose from the releases below:

harmony-analyser tools

Latest Stable: 2016-09-19 ha-executable-1.1.jar (GUI - Executable JAR) (download and run using

java -jar ha-executable-1.1.jar
console command)

Latest Beta (may not run in all environments): ha-executable-1.2-beta.jar (GUI - Executable JAR)

Latest Beta Script: ha-script-1.2-beta.jar (CLI script)


  1. Added Chroma Complexity analysis, evaluating transitions between subsequent chromas:
    • Simple: only activation changes between chromas
    • Tonal: Focusing on activation changes between non-key tones, common key being calculated for 2 chromas
  2. Added visualizations for all recent high-level plugins (Chordino, Transition Complexity, Chroma Complexity) in the new Visualization Tool tab
Show previous releases Hide previous releases

2016-08-11 ha-executable-1.0.jar (GUI - Executable JAR)


In this version, 2 basic types of analysis are supported:
  1. Chord transition analysis: Using your MIDI keyboard, capture chords, see their names and structure and evaluate their transition
  2. Audio analysis: Analyse WAV files in a given folder. Supported analysis include:
    • low-level VAMP plugin (NNLS Chroma) analysis
    • high-level VAMP plugin (Chordino) analysis
    • and high-level Transition Complexity analysis, based on theory described in this paper, taking the low-level analysis as an input
Show previous releases Hide previous releases

Screenshots of available tools

Chord transition tool

Audio analysis tool

Visualization tool


GitHub: https://github.com/lacimarsik/harmony-analyser
e-mail: marsik@ksi.mff.cuni.cz

Ladislav Maršík
Department of Software Engineering, Faculty of Mathematics and Physics, Charles University
Malostranské nám. 25, 118 00 Prague, Czech Republic


This software has been funded by the Charles University, projects GA UK No. 708314, GA UK No. 1580317, SVV-2014-260100, SVV-2016-260331 and SVV 260451.