dodecaphony


Namedodecaphony JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/Nikolay-Lysenko/dodecaphony
SummaryAlgorithmic composition of twelve-tone fragments.
upload_time2024-02-23 14:11:58
maintainer
docs_urlNone
authorNikolay Lysenko
requires_python>=3.9
licenseMIT
keywords ai_music algorithmic_composition dodecaphony generative_art twelve_tone
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            [![Build Status](https://github.com/Nikolay-Lysenko/dodecaphony/actions/workflows/main.yml/badge.svg)](https://github.com/Nikolay-Lysenko/dodecaphony/actions/workflows/main.yml)
[![codecov](https://codecov.io/gh/Nikolay-Lysenko/dodecaphony/branch/master/graph/badge.svg)](https://codecov.io/gh/Nikolay-Lysenko/dodecaphony)
[![Maintainability](https://api.codeclimate.com/v1/badges/b83bc51361ac046bc7eb/maintainability)](https://codeclimate.com/github/Nikolay-Lysenko/dodecaphony/maintainability)
[![PyPI version](https://badge.fury.io/py/dodecaphony.svg)](https://pypi.org/project/dodecaphony/)

# Dodecaphony

## Overview

This is a configurable tool that generates twelve-tone fragments. The twelve-tone technique (also known as dodecaphony) is composition method that produces chromatic music which is usually atonal (although, not necessarily). One of the core properties of twelve-tone music is its global coherency achieved by deriving content from the same sequence of 12 unique pitch classes.

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 within individual directories containing:
* MIDI file;
* WAV file;
* Events file in [sinethesizer](https://github.com/Nikolay-Lysenko/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).

A demo piece compiled from various outputs of the tool is included in the repository as [MIDI file](https://github.com/Nikolay-Lysenko/dodecaphony/blob/master/docs/demos/demo_1.mid). There, velocities and control changes are set manually, however.

## Installation

To install a stable version, run:
```bash
pip install dodecaphony
```

## Usage

To create a new musical fragment, run:
```bash
python -m dodecaphony [-c path_to_config]
```

[Default config](https://github.com/Nikolay-Lysenko/dodecaphony/blob/master/dodecaphony/configs/default_config.yml) is used if `-c` argument is not passed. Advanced usage will be covered in a special guide, but right now you can read the source code — it is structured and has built-in documentation.

If you are on Mac OS, please check that [parallelism is enabled](https://stackoverflow.com/questions/50168647/multiprocessing-causes-python-to-crash-and-gives-an-error-may-have-been-in-progr).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Nikolay-Lysenko/dodecaphony",
    "name": "dodecaphony",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "ai_music,algorithmic_composition,dodecaphony,generative_art,twelve_tone",
    "author": "Nikolay Lysenko",
    "author_email": "nikolay-lysenco@yandex.ru",
    "download_url": "https://files.pythonhosted.org/packages/9c/cd/30f89f0d309e61606d2e098184472ba6ff59c2c15a7c331dd2eb2c5aa5cd/dodecaphony-0.1.5.tar.gz",
    "platform": null,
    "description": "[![Build Status](https://github.com/Nikolay-Lysenko/dodecaphony/actions/workflows/main.yml/badge.svg)](https://github.com/Nikolay-Lysenko/dodecaphony/actions/workflows/main.yml)\n[![codecov](https://codecov.io/gh/Nikolay-Lysenko/dodecaphony/branch/master/graph/badge.svg)](https://codecov.io/gh/Nikolay-Lysenko/dodecaphony)\n[![Maintainability](https://api.codeclimate.com/v1/badges/b83bc51361ac046bc7eb/maintainability)](https://codeclimate.com/github/Nikolay-Lysenko/dodecaphony/maintainability)\n[![PyPI version](https://badge.fury.io/py/dodecaphony.svg)](https://pypi.org/project/dodecaphony/)\n\n# Dodecaphony\n\n## Overview\n\nThis is a configurable tool that generates twelve-tone fragments. The twelve-tone technique (also known as dodecaphony) is composition method that produces chromatic music which is usually atonal (although, not necessarily). One of the core properties of twelve-tone music is its global coherency achieved by deriving content from the same sequence of 12 unique pitch classes.\n\nEach 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 within individual directories containing:\n* MIDI file;\n* WAV file;\n* Events file in [sinethesizer](https://github.com/Nikolay-Lysenko/sinethesizer) TSV format;\n* PDF file with sheet music and its Lilypond source;\n* YAML file that can be copied to a config for a derivative fragment;\n* Text file with meta information (such as path to config and evaluation scores).\n\nA demo piece compiled from various outputs of the tool is included in the repository as [MIDI file](https://github.com/Nikolay-Lysenko/dodecaphony/blob/master/docs/demos/demo_1.mid). There, velocities and control changes are set manually, however.\n\n## Installation\n\nTo install a stable version, run:\n```bash\npip install dodecaphony\n```\n\n## Usage\n\nTo create a new musical fragment, run:\n```bash\npython -m dodecaphony [-c path_to_config]\n```\n\n[Default config](https://github.com/Nikolay-Lysenko/dodecaphony/blob/master/dodecaphony/configs/default_config.yml) is used if `-c` argument is not passed. Advanced usage will be covered in a special guide, but right now you can read the source code \u2014 it is structured and has built-in documentation.\n\nIf you are on Mac OS, please check that [parallelism is enabled](https://stackoverflow.com/questions/50168647/multiprocessing-causes-python-to-crash-and-gives-an-error-may-have-been-in-progr).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Algorithmic composition of twelve-tone fragments.",
    "version": "0.1.5",
    "project_urls": {
        "Homepage": "https://github.com/Nikolay-Lysenko/dodecaphony"
    },
    "split_keywords": [
        "ai_music",
        "algorithmic_composition",
        "dodecaphony",
        "generative_art",
        "twelve_tone"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "afdc364bfbf4d8240976ea2084d00e40f1001855337440c8cf01544715da9b81",
                "md5": "5a019fde62a701658d17b4ed573c35d0",
                "sha256": "204afef640c2de673114a816895ce066314c14de23cd158bd5c943ca1f48e5a9"
            },
            "downloads": -1,
            "filename": "dodecaphony-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5a019fde62a701658d17b4ed573c35d0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 38597,
            "upload_time": "2024-02-23T14:11:55",
            "upload_time_iso_8601": "2024-02-23T14:11:55.338354Z",
            "url": "https://files.pythonhosted.org/packages/af/dc/364bfbf4d8240976ea2084d00e40f1001855337440c8cf01544715da9b81/dodecaphony-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ccd30f89f0d309e61606d2e098184472ba6ff59c2c15a7c331dd2eb2c5aa5cd",
                "md5": "ee61d1f42fcd28f57a7b93402d17c7d9",
                "sha256": "327f56d595233eecb47d88afaa2e0fe2cbd1801d288bcab627cbf1a9d716d6dc"
            },
            "downloads": -1,
            "filename": "dodecaphony-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "ee61d1f42fcd28f57a7b93402d17c7d9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 47882,
            "upload_time": "2024-02-23T14:11:58",
            "upload_time_iso_8601": "2024-02-23T14:11:58.114147Z",
            "url": "https://files.pythonhosted.org/packages/9c/cd/30f89f0d309e61606d2e098184472ba6ff59c2c15a7c331dd2eb2c5aa5cd/dodecaphony-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-23 14:11:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Nikolay-Lysenko",
    "github_project": "dodecaphony",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "lcname": "dodecaphony"
}
        
Elapsed time: 0.19532s