Skip to main content

Algorithmic composition of modern classical music in the twelve-tone technique

Project description

Build Status codecov Maintainability PyPI version

Dodecaphony

Overview

This is a configurable tool that generates music written in the twelve-tone technique. In short, this means that the output pieces are based on different principles than the vast majority of classical and popular music. If you have never listened to the twelve-tone works, you may find them not ear-pleasant, but, given enough experience, you can change your mind. Twelve-tone music is logic-oriented and has many symmetries, so it is a good choice for combinatorial optimization.

Each run of the tool results in creation of a fragment which can be used as a part of a larger composition. These fragments are stored in separate directories containing:

  • MIDI file
  • WAV file
  • Events file in sinethesizer TSV format
  • PDF file with sheet music and its Lilypond source
  • YAML file that can be copied to a config for a derivative fragment
  • Text file with meta information (such as path to config and evaluation scores)

With this tool, I released a 26-minutes album on Spotify and many other streaming platforms. However, main melodies for the album were written manually by myself and a lot of hard work was done with configs, but, nevertheless, the package really helped to generate background melodies. To read more about the album, please visit its official page.

Installation

To install a stable version, run:

pip install dodecaphony

Usage

To create a new musical fragment, run:

python -m dodecaphony [-c path_to_config]

Default config is used if -c argument is not passed. To create your own config, please look at this example with detailed explanations. Also, you can read the source code — it is structured and has built-in documentation.

If you are on macOS, please make sure that parallelism is enabled.

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

dodecaphony-0.2.1.tar.gz (64.7 kB view details)

Uploaded Source

Built Distribution

dodecaphony-0.2.1-py3-none-any.whl (59.8 kB view details)

Uploaded Python 3

File details

Details for the file dodecaphony-0.2.1.tar.gz.

File metadata

  • Download URL: dodecaphony-0.2.1.tar.gz
  • Upload date:
  • Size: 64.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for dodecaphony-0.2.1.tar.gz
Algorithm Hash digest
SHA256 614d0ab12fb68d01f2c1b2aabb6bddba4d94b878dfc8d3005e018ba7290624af
MD5 3c36268410859f84554426c4ea73cd24
BLAKE2b-256 2570055b1f842e63930bba7fd6d42b5b09b00cd9166b89db10f492eae50a08ee

See more details on using hashes here.

File details

Details for the file dodecaphony-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: dodecaphony-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 59.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for dodecaphony-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 81859db72d81615f8d2aa128320f66ad40f8eabdc2c4ab7ae6efe9302c21dc6c
MD5 fe9cf4a49ff0357413b9210624635067
BLAKE2b-256 f188d251f4bdcafc5bc51abcf79adcfa8aa371e88ec6b0c1ec69043fd42e9095

See more details on using hashes here.

Supported by

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