HANCOC: Harmonically Adding New Chords On Composition
HANCOC, the short for Harmonically Adding New Chords On Composition is a python tool that takes a Music XML file (a computer file format that stores musical score) as input and outputs the same file with chord notations added. These chord notations are being generated by a machine learning model based on the melody in the score.
The blog post about it is here:
https://wallylay.wordpress.com/2018/09/03/user-guide-to-hancoc-harmonic…
Also, the zip file is the same as the one in the GitHub repository. Downloading it here should be more convenient.
Attachment | Size |
---|---|
HANCOC-master.zip | 30.58 KB |
Comments
Sound like the Chord Identifier plugin https://musescore.org/en/project/chord-identifier-musescore-23
In reply to Sound like the Chord… by mike320
It might look similar, and the working process has some parallel, but this is for single-note melody. Therefore, it requires knowledge of harmonics, and that's why I use machine learning. If you already have multiple notes, the algorithm is way easier because we all know that a measure with D, F#, and A notes probably goes by Dmaj. This task I'm doing is different from simply identifying, but adding. With only the single-note melody as the input, this is more subjective at times, and there has only been one research paper in the history of human race published regarding this task by Seoul University in October 2017. I started working on this in June 2017, so both are unprecedented innovations.
In reply to It might look similar, and… by 張旋
Very interesting on several fronts. Several people have asked to have harmony automatically added to their scores in MuseScore. Perhaps this work could be adapted to make this possible in either the actual program or as a plugin.
In reply to Very interesting on several… by mike320
I will do some further development. We'll see. Thanks for the feedback!
In reply to It might look similar, and… by 張旋
It would be great if you could provide a webservice that accept a MusicXML file and send back a MusicXML file with chordnames. We could then write a plugin for MuseScore, similar to the ABC converter plugin, that can automate saving the score to MusicXML, sending it to your webservice and opening the resulting MusicXML.
This setting would lower the barrier for user to try your algorithm and you could see what kind of melodies are being sent and maybe what chordnames are expected.
In reply to It would be great if you… by [DELETED] 5
Definitely! I'm now learning django to implement a web app that can make the whole thing more user-friendly. It's also super great that you actually want to cooperate with me, and I can't appreciate it enough!
In reply to It would be great if you… by [DELETED] 5
Hi! I've finished a Flask web app, but have not yet deployed it. Can I mail the folder to you or anything like that?