Есть ли способ ограничить обнаружение аккордов music21 аккордами без косой черты?
Я работаю над сценарием, который принимает в качестве входных данных последовательность нот MIDI и выводит символ аккорда для использования в Impro-Visor, помощнике джазовой импровизации с открытым исходным кодом. Чтобы воспользоваться преимуществами большого словаря аккордов в Impro-Visor, я пытался добавить словарь аккордов в music21 — music21 сама будет обрабатывать высоту тона MIDI и интерпретацию наиболее распространенных аккордов — используя
harmony.addNewChordSymbol
метод, но система не предлагает новые аккорды при обнаружении аккордов. Например, если я попробую этот аккорд из документации модуля Harmony:
>>>harmony.addNewChordSymbol('BethChord', '1,3,-6,#9', ['MH', 'beth'])
>>>c = chord.Chord(['C3','D#3','E3','A-3'])
>>>print(harmony.chordSymbolFromChord(c))
'A-+/CaddD#'
Принимая во внимание, что я надеюсь в этом случае получить:
'Cbeth'
Music21 постоянно предлагает косые аккорды, подобные приведенным выше, а не любой аккорд, который я пытался добавить в словарь, предположительно потому, что тип аккорда слева от косой черты — в данном случае «+» — находится раньше в OrderedDict в гармония.ру. Есть ли способ заставить обнаружение аккорда предпочесть пользовательский тип аккорда этим косым аккордам (с которыми у меня нет никакого способа справиться)?