I am not sure this is the best page for my question, but since it is related to a module I want to create...
I am looking for an algorithm to identify "left hand chords" on MIDI input for a module I am writing. The basic idea is quite simple : when a chord is found on the MIDI input, the module has to find the key note and the kind of chord.
For example, if the module receives C-E-G notes, it provides "C Major" on its outputs (I have an output giving the key number from 1 to 12) and dedicated outputs for Major, Minor, Seventh, etc...
I have found some algortihms on the web (like PyChoReLib or Carol Krumhansl algorithm) but they look like incredibly complex for this task. Such work is done on MIDI keyboards since a long, long time and I really doubt that machines made in the 70's were able to run such complex algorithms.
My first idea was to find "MIDI distances" between notes and identify the chords based on this, but I am facing the classical "major vs. minor" issues (C Major being also A Minor...). One of the biggest issue is to deal with all possible inversions.
Does anybody have an idea of what could be the algorithm hidding behind this ?
Thanks
BenoitStatistics: Posted by imodularsynth — 17 Dec 2018, 06:53
]]>