https://github.com/Nikolay-Lysenko/geniartor
Generation of musical phrases that receive maximum score according to configurable evaluational criteria.
https://github.com/Nikolay-Lysenko/geniartor
ai-music algorithmic-composition generative-art python-in-music
Last synced: 3 months ago
JSON representation
Generation of musical phrases that receive maximum score according to configurable evaluational criteria.
- Host: GitHub
- URL: https://github.com/Nikolay-Lysenko/geniartor
- Owner: Nikolay-Lysenko
- License: mit
- Created: 2020-06-13T08:34:50.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-17T20:53:56.000Z (almost 2 years ago)
- Last Synced: 2024-11-06T04:40:41.243Z (11 months ago)
- Topics: ai-music, algorithmic-composition, generative-art, python-in-music
- Language: Python
- Homepage:
- Size: 102 KB
- Stars: 12
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/Nikolay-Lysenko/geniartor/actions/workflows/main.yml)
[](https://codecov.io/gh/Nikolay-Lysenko/geniartor)
[](https://codeclimate.com/github/Nikolay-Lysenko/geniartor/maintainability)
[](https://badge.fury.io/py/geniartor)# Geniartor
## Overview
This is a configurable tool that generates musical phrases or even short pieces.
Here, the process of composition is framed as follows: Variable Neighborhood Search ([VNS](https://en.wikipedia.org/wiki/Variable_neighborhood_search)) is applied to maximize user-defined weighted sum of evaluational criteria.
Each run of the tool results in creation of a directory that contains:
* 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.Sample outputs produced by the tool are uploaded to a [cloud storage](https://www.dropbox.com/sh/j77p82870u3691p/AABGQWGRhA1pRyPfh79Lgdyma?dl=0).
## Installation
To install a stable version, run:
```bash
pip install geniartor
```## Usage
To create a new musical phrase, run:
```bash
python -m geniartor \
[-c path_to_config] \
[-n number_of_search_passes]
```Both arguments are optional. [Default config](https://github.com/Nikolay-Lysenko/geniartor/blob/master/geniartor/configs/default_config.yml) is used if `-c` argument is not passed. Similarly, `-n` option has a reasonable default too.
Advanced usage is covered in a [guide](https://github.com/Nikolay-Lysenko/geniartor/blob/master/docs/user_guide.md).