Skip to content

A set of tools for musical composition and analysis written in python.

License

Notifications You must be signed in to change notification settings

rvalla/calpytools

Repository files navigation

logo

Cal Py Tools

This is a set of tools written in Python to work with pitch class sets, pitch matrices and other different ways to control musical discourse. Many tools you find here existed previously in other of my projects (sometimes written in other languages). You can find information about all of them in musicaltools.gitlab.io.

PCS()

A pitch class sets analyzer. The program has all the functions needed to get Forte's clasiffication for a pitch class set. All prime forms are loaded from a database saved at data/forte_prime_forms.csv. You can run pcs_cmd.py to use PCS() directly on the console. PCS() is also available in musiCal Bot.

Chain()

A constant pitch class set sequence generator. The program looks for different links (subsets) extracted from a certain pitch class set and tries to concatanete the desired number of these links. The algorithm looks for each link in all the different states of the proposed pitch class set. You can run chain_cmd.py to use Chain() directly on the console. Chain() is also available in musiCal Bot.

Matrix()

The Matrix() class is an implementation of pitch matrices. It stores a two dimensional matrix of musical notes in which each row and each column fullfill a constant pitch class set requirement. The class implements different functions to work with a Matrix() instance. The class is inspired in the matrices proposed by Robert Morris. Matrix() will be available in musiCal Bot.

m21Score()

A m21Score() object is a music21 Score object with some specific functions to make other tools here (for example Matrix()) sound.

Texture()

The class that extends m21Score() to create music from a Matrix() instance.

Counterpoint()

The class that extends m21Score() to create a counterpoint based on different modes.

Feel free to contact me by mail or reach me in telegram or mastodon.

About

A set of tools for musical composition and analysis written in python.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages