Parse and analyse chords


Keywords
chords, music, parse, notation, analysis, sheet, notes, scales, keys, transpose, chord-progression, harmonic-analysis, roman-numerals, theory, transpose-chords
License
MIT
Install
pip install chordparser==0.4.1

Documentation

chordparser

Build status Documentation status Coverage Downloads Downloads Open in Colab

chordparser is a Python 3 package that provides a musical framework to analyse chords. Chord notation can be parsed into Chords, which can then be analysed against other chords or the key of the song. This allows for harmonic analysis in chord sheets and helps musicians understand why and how chord progressions work.

Quick demo:

>>> import chordparser
>>> cp = chordparser.Parser()

>>> new_chord = cp.create_chord("C7add4/E")
>>> new_chord.notes
(E note, C note, F note, G note, Bâ™­ note)

>>> new_chord.transpose_simple(6)
F♯7add4/A♯ chord
>>> new_chord.notes
(A♯ note, F♯ note, B note, C♯ note, E note)

>>> e_scale = cp.create_scale("E", "major")
>>> cp.to_roman(new_chord, e_scale)
II65 roman chord

>>> e_fifth = cp.create_diatonic(e_scale, 5)
>>> e_fifth
B chord
>>> cp.analyse_secondary(new_chord, e_fifth, e_scale)
"V65/V"

Features

  • Create and manipulate notes, keys, scales and chords easily
  • Parse complex chord notations
  • Transpose musical classes easily and accurately
  • Automatically generate notes for scales and chords from notation
  • Generate roman numeral notation from chords
  • Analyse chord-scale relationships

Installation

To install chordparser, run this command in your terminal:

$ pip install chordparser

Usage

Check out the Colab notebook, which runs through a working example to showcase chordparser's functions and help you get started on using it.

The full documentation can be found here.

Contribute

Support

If you are having issues, please let me know at: titusongyl@gmail.com

Authors

Development Lead

License

The project is licensed under the MIT license.