A Python package for working with chord progressions
Project description
Chord Progressions
A library for working with chord progressions.
Installation
pip install chord-progressions
Usage
See documentation at https://p3zo.github.io/chord-progressions/.
Development
Configuration for local development with Docker is provided. Run make build to build the container, make shell to
get a shell inside of it for ad-hoc usage, and make test to run all unit tests inside the container. See
the Makefile for all available actions.
To upgrade the version and trigger a new release, use bump-my-version bump minor chord_progressions/__init__.py.
The documentation uses Material for MkDocs to build a static site from
Markdown files. Use mkdocs serve to start a live preview server of the site that automatically rebuilds upon saving.
Build the site with mkdocs build and deploy with mkdocs gh-deploy.
TODO
Analysis
- [feature] get key for progression
- [feature] get functional names for chords given key
- [feature] extend interval class vectors to "polychord content" vectors
I/O
- [performance]
extract.midi_harman.segment_and_label()is slow for many consecutive segments. test that a maximum of six segment evaluations occur per note
Misc
- [feature] Generalize
noteNumberToFrequencyto use any periodic tuning ( see https://github.com/soul-lang/SOUL/pull/26/files) - [feature] implement
is_partial_circular_match,chord_contained_in_type, andget_possible_types_of_chord - [maintainability] mk
pitch_classrefer to "C" and call 0pitch_class_ix - [maintainability] pass midi note numbers everywhere as "notes" and include note names as "noteNames"
- [maintainability] test the merging of chord types
- [maintainability] github action to build & deploy docs
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chord_progressions-0.37.1.tar.gz.
File metadata
- Download URL: chord_progressions-0.37.1.tar.gz
- Upload date:
- Size: 29.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec822a93c5475f7587b11c09368eb611351d4a228cdb06a99b2c8d92a3d3fe6c
|
|
| MD5 |
c0e214af234ab9744945cad386d0cfc4
|
|
| BLAKE2b-256 |
42afffe38727f28dbac5287728619c41d55b91cbb60b3a27d6c7e1517fd018c5
|
File details
Details for the file chord_progressions-0.37.1-py3-none-any.whl.
File metadata
- Download URL: chord_progressions-0.37.1-py3-none-any.whl
- Upload date:
- Size: 29.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1c4afaa2c76e13a4fb3696b076fad5d27f613542f18ca53e8a0fa0924a18cef
|
|
| MD5 |
5b3c126ab32fdac035abb9a33b49c9e4
|
|
| BLAKE2b-256 |
5a36c686ea135b75a6831db1827c002bb11e66a8468b01b9443437736a0beef3
|