Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 2 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 4 years ago)
- Default Branch: master
- Last Pushed: 2023-10-17T20:53:56.000Z (12 months ago)
- Last Synced: 2024-07-23T08:28:26.158Z (2 months ago)
- Topics: ai-music, algorithmic-composition, generative-art, python-in-music
- Language: Python
- Homepage:
- Size: 102 KB
- Stars: 10
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://github.com/Nikolay-Lysenko/geniartor/actions/workflows/main.yml/badge.svg)](https://github.com/Nikolay-Lysenko/geniartor/actions/workflows/main.yml)
[![codecov](https://codecov.io/gh/Nikolay-Lysenko/geniartor/branch/master/graph/badge.svg)](https://codecov.io/gh/Nikolay-Lysenko/geniartor)
[![Maintainability](https://api.codeclimate.com/v1/badges/a5131738e1b284fab9f9/maintainability)](https://codeclimate.com/github/Nikolay-Lysenko/geniartor/maintainability)
[![PyPI version](https://badge.fury.io/py/geniartor.svg)](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).