Parse and analyse chords
Project description
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
Issue Tracker: github.com/titus-ong/chordparser/issues
Source Code: github.com/titus-ong/chordparser
Support
If you are having issues, please let me know at: titusongyl@gmail.com
License
The project is licensed under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chordparser-0.4.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27abff827a1acdfe9cda817cbb064e3c6f03b5c66479e487c668a18d896b4908 |
|
MD5 | 446a9f84bd2e058d143de1d190b0d4e0 |
|
BLAKE2b-256 | c6f026d98d88c91d5fb5f1a5752a001c7305195e98a243bff144899a2ec8e122 |