Twelve-tone matrix to generate dodecaphonic melodies.
Following a process created by the composer Arnold Schoenberg, this library computes a matrix to create twelve-tone serialism melodies which compose each of the 12 semitones of the chromatic scale with equal importance.
- Save your compositions to MIDI
- Free software: BSD license
pip install twelve-tone
You can quickly generate a random twelve-tone melody with the CLI
$ twelve-tone ['C# / Db', 'A# / Bb', 'F', 'D', 'G# / Ab', 'D# / Eb', 'F# / Gb', 'A', 'C', 'G', 'B', 'E']
Or you can use the following methods in a script:
>>> from twelve_tone.composer import Composer >>> c = Composer() >>> c.compose() >>> c.get_melody() ['C# / Db', 'A# / Bb', 'F', 'D', 'G# / Ab', 'D# / Eb', 'F# / Gb', 'A', 'C', 'G', 'B', 'E']
After you have composed a matrix of tone rows, you can save the composition to MIDI:
>>> c.compose() >>> c.save_to_midi(filename='TWELVE_TONE.mid')
The new MIDI file will be created in your current working directory. If you do not specify a filename for your file, it will default to example.mid.
To run the all tests run:
Note, to combine the coverage data from all the tox environments run:
set PYTEST_ADDOPTS=--cov-append tox