Skip to main content

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.

Release files for dodecaphony 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dodecaphony 0.2.1
File Size Uploaded
dodecaphony-0.2.1.tar.gz 64.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dodecaphony 0.2.1
File Interpreter ABI Platform
dodecaphony-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 124.4 kB

Release files / dodecaphony-0.2.1.tar.gz

Download URL dodecaphony-0.2.1.tar.gz
Size 64.7 kB
Tags Source
SHA-256 checksum
How to use checksums
614d0ab12fb68d01f2c1b2aabb6bddba4d94b878dfc8d3005e018ba7290624af
BLAKE2b-256 checksum
How to use checksums
2570055b1f842e63930bba7fd6d42b5b09b00cd9166b89db10f492eae50a08ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release files / dodecaphony-0.2.1-py3-none-any.whl

Download URL dodecaphony-0.2.1-py3-none-any.whl
Size 59.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81859db72d81615f8d2aa128320f66ad40f8eabdc2c4ab7ae6efe9302c21dc6c
BLAKE2b-256 checksum
How to use checksums
f188d251f4bdcafc5bc51abcf79adcfa8aa371e88ec6b0c1ec69043fd42e9095
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page