Chord ID and Roman numeral analysis



  • Identifies harmony and adds Chord symbol or Roman Numeral Analysis Text objects, reads chord symbols and adds color to notes, and more. Does not convert chord symbols into notes, musescore has realize chord function buildin already.
    • Forked from AniMikatamon's Chord Identifier (Pop & Jazz) version 3.4, improved performance on complex and long scores, fixed bugs, added options.
    • Uses existing chord symbols, and harmonic pedal markers (hyphen and brackets, to "glue together" broken chords or alberti bass). Does not read roman numerals yet.
    • "Pedal tones are chord tones" ON recommended for scores featuring ground bass.
    • Colors notes under an existing triangle chord symbol as Major 7th chord, as interpreted by the ExpandChordSymbols plugin, rather than using musescore's default interpretation.
    • Lists tones: the bass is at the bottom, others are unordered.
    • Issue: Does not understand upbeat, downbeat or accent.
    • Issue: "Existing symbols: Remove" options do not remove Staff text objects, that may have been created using the "Object for inversion" option.
    • Issue: Wrong analysis on unpitched instruments such as drumset, you need to exclude them manually.
  • Conventional roman numeral analysis in line with ABRSM (not affiliated) theory exam syllabus.
    • Extended Roman (ER) notation: uses both capital and small numerals.
    • Optional a,b,c,d inversion notation.
    • Uses diatonic major and minor scale (see diagram below): III rather than bIII is mediant in minor (eg Eb chord of C minor); "7" does not always mean the chord quality "dominant 7": I7 rather than IMaj7 is tonic seventh in major (eg I7 contains natural B in C major).
    • Colors notes without jazz influence (see screenshot below): does not use colors of 6th 9th 11th 13th.
    • Some Roman Numeral Analysis Text Object such as eg 7b5 are not vertically aligned because unsupported by the default font Campania: try options other than "Object for inversion : Default".
    • Does not automatically respell enharmonic chords. eg. truthfully suggest ivo7.
    • Bass note is not prioritized: will suggest a chord that fits most notes even if the bass note is a non chord tone.
    • Won't explain to your teacher why you work out (incorrect) harmonic analysis as quickly as a dumb Musescore plugin. Prolonged usage may hinder harmony brain development.
    • Issue: Placement of "Object for inversion: Staff text object" may not align with the roman numeral, don't forget to proofread!
  • Keyboard shortcut keys (Musescore 3 only)
    • Press ENTER to start, ESCAPE to cancel.
    • Press TAB to navigate, SPACE to press a button.
    • "Repeat with latest settings" and other actions for quick editing harmonic pedal brackets, can be assigned with keyboard shortcuts.
  • Features removed or not planned:
    • Removed superscript inversion notation.
    • No plan to add automatic key detection (Manual key selection is available now).


Download, install, enable plugin and setup shortcut: musescore 3 how-to, musescore 4 how-to
Note: The docked version is not supported by Musescore 4 yet, please use the windowed version. Make sure the keyboard shortcut is not assigned in Preference>Shortcuts already.

Download quickstart: quickstart20230904A-1.pdf or quickstart20230904A.mscz
Download rna_diatonic: rna_diatonic20230904A-1.pdf or rna_diatonic20230904A.mscz


Feedback, latest dev version, and extras for developers

Old versions

version 20230908A and earlier: No RNA secondary, neapolitan and augmented sixths options. Wrong RNA: missing 7 when using abc inversion option.
version 20230904A and earlier: No bracket actions
version 20230827A and earlier: Does not understand the bracket harmonic pedal markers. Less GUI options: eg removing existing note colors option. "Existing symbols: Remove" does not remove Figured bass objects. RNA in minor key: raised root note use natural sign rather than sharp sign. Color tones on-off option bug. Some notes skipped when "Pedal tones are chord tones" ON.
version 20230818A and earlier: Missing jazz chord entries 7sus and 7susb9. Non optimal chord suggestion on some incomplete chords. Does not colorize single notes, unisons, octaves etc. Does not understand '-' text. Less GUI options: eg write vertical inversion using staff text object or figured bass object. Non optimal root of enharmonic chords: diminshed seventh chord and augmented triad. Docked plugin init height bug. Wrong inversion if bass note is NCT: always root pos. RNA notes coloring stopped if harmony unchanged. RNA diatonic 7 bug. Wrong RNA: 7#5, mMaj7(b5). Altered non root note in RNA notated with accidental before the numeral.
version 20230327A and earlier: Created wrong horizontal layout of RNA inversions 65,43,42
version 20230302A and earlier: Wrong notation of altered 7th chords: CEGBb analysed wrongly as I7 of C Major. Does not color notes using exisiting symbol. Some 7 chords do not display.
version 20230301A and earlier: Used the half diminshed 7th jazz symbol not understood by musescore
version 20230224A and earlier: RNA had jazz influence. Always replace symbols. No option symbol color or location. Only non-scrollable windowed plugin. No enharmonic chord option.
version 230222E and earlier: Used the wrong / unorthodox major key RNA in analysis in minor key, for example bIII .

License and credits

GPLv2 (ExpandChordSymbols is MIT). Edit the code, have fun, no need to ask for permission. Glad to share a link to your improved plugin on this page, just let me know.
See credits inside .qml Thank you devs of predecessor plugins and all helpers!

Issue Tracker

API compatibility
Plugin categories
Chord symbols