Metadata-Version: 2.0
Name: twelve-tone
Version: 0.3.0
Summary: Twelve-tone matrix to generate dodecaphonic melodies
Home-page: https://github.com/accraze/python-twelve-tone
Author: Andy Craze
Author-email: accraze@gmail.com
License: BSD
Description-Content-Type: UNKNOWN
Keywords: music,composition,matrix,atonal,midi
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Utilities
Requires-Dist: click
Requires-Dist: miditime
Requires-Dist: numpy

========
Overview
========



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 license

Installation
============

::

    pip install 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


Changelog
=========

0.3.0 (2018-7-04)
-----------------------------------------

* cli: added random melody generator command

0.2.1 (2016-8-27)
-----------------------------------------

* build: added `miditime` to setup install requirements

0.2.0 (2016-8-27)
-----------------------------------------

* composer: Added save to MIDI capability

0.1.0 (2016-8-20)
-----------------------------------------

* First release on PyPI.


