Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/accraze/python-twelve-tone
:notes: 12-tone matrix to generate dodecaphonic melodies :notes:
https://github.com/accraze/python-twelve-tone
matrix midi music-composition music-generation numpy twelve-tone
Last synced: 18 days ago
JSON representation
:notes: 12-tone matrix to generate dodecaphonic melodies :notes:
- Host: GitHub
- URL: https://github.com/accraze/python-twelve-tone
- Owner: accraze
- License: bsd-2-clause
- Created: 2016-08-19T04:06:28.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-08-30T16:13:20.000Z (about 3 years ago)
- Last Synced: 2024-08-09T21:46:31.318Z (3 months ago)
- Topics: matrix, midi, music-composition, music-generation, numpy, twelve-tone
- Language: Python
- Homepage: https://pypi.python.org/pypi/twelve-tone
- Size: 70.3 KB
- Stars: 71
- Watchers: 6
- Forks: 5
- Open Issues: 10
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
========
Overview
========.. start-badges
.. list-table::
:stub-columns: 1* - docs
- |docs|
* - tests
- |travis| |codecov|
* - package
- |version| |wheel| |supported-versions|.. |docs| image:: https://readthedocs.org/projects/python-twelve-tone/badge/?style=flat
:target: https://readthedocs.org/projects/python-twelve-tone
:alt: Documentation Status.. |travis| image:: https://travis-ci.org/accraze/python-twelve-tone.svg?branch=master
:alt: Travis-CI Build Status
:target: https://travis-ci.org/accraze/python-twelve-tone.. |codecov| image:: https://codecov.io/github/accraze/python-twelve-tone/coverage.svg?branch=master
:alt: Coverage Status
:target: https://codecov.io/github/accraze/python-twelve-tone.. |version| image:: https://img.shields.io/pypi/v/twelve-tone.svg?style=flat
:alt: PyPI Package latest release
:target: https://pypi.python.org/pypi/twelve-tone.. |wheel| image:: https://img.shields.io/pypi/wheel/twelve-tone.svg?style=flat
:alt: PyPI Wheel
:target: https://pypi.python.org/pypi/twelve-tone.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/twelve-tone.svg?style=flat
:alt: Supported versions
:target: https://pypi.python.org/pypi/twelve-tone.. end-badges
Twelve-tone matrix to generate dodecaphonic melodies.
.. image:: https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Schoenberg_-_Piano_Piece_op.33a_tone_row.png/640px-Schoenberg_-_Piano_Piece_op.33a_tone_row.png
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 licenseInstallation
============::
pip install twelve-tone
The `GuixRUs `_ channel also provides ``twelve-tone``.
Quick Start
===========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`.Documentation
=============https://python-twelve-tone.readthedocs.io/
Development
===========To run the all tests run::
tox
Note, to combine the coverage data from all the tox environments run:
.. list-table::
:widths: 10 90
:stub-columns: 1- - Windows
- ::set PYTEST_ADDOPTS=--cov-append
tox- - Other
- ::PYTEST_ADDOPTS=--cov-append tox