Skip to main content

A Python package for working with chord progressions

Project description

Chord Progressions

PyPI Latest Release

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 noteNumberToFrequency to use any periodic tuning ( see https://github.com/soul-lang/SOUL/pull/26/files)
  • [feature] implement is_partial_circular_match, chord_contained_in_type, and get_possible_types_of_chord
  • [maintainability] mk pitch_class refer to "C" and call 0 pitch_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

chord_progressions-0.37.1.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chord_progressions-0.37.1-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

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

Hashes for chord_progressions-0.37.1.tar.gz
Algorithm Hash digest
SHA256 ec822a93c5475f7587b11c09368eb611351d4a228cdb06a99b2c8d92a3d3fe6c
MD5 c0e214af234ab9744945cad386d0cfc4
BLAKE2b-256 42afffe38727f28dbac5287728619c41d55b91cbb60b3a27d6c7e1517fd018c5

See more details on using hashes here.

File details

Details for the file chord_progressions-0.37.1-py3-none-any.whl.

File metadata

File hashes

Hashes for chord_progressions-0.37.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1c4afaa2c76e13a4fb3696b076fad5d27f613542f18ca53e8a0fa0924a18cef
MD5 5b3c126ab32fdac035abb9a33b49c9e4
BLAKE2b-256 5a36c686ea135b75a6831db1827c002bb11e66a8468b01b9443437736a0beef3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page