Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matdombrock/generativemidi
A project for making generative music with JS
https://github.com/matdombrock/generativemidi
Last synced: 7 days ago
JSON representation
A project for making generative music with JS
- Host: GitHub
- URL: https://github.com/matdombrock/generativemidi
- Owner: matdombrock
- Created: 2022-01-07T14:59:59.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-01-08T12:13:51.000Z (almost 3 years ago)
- Last Synced: 2024-11-07T04:44:34.408Z (about 2 months ago)
- Language: JavaScript
- Size: 7.81 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Generative MIDI
A project for making generative music with JS.
## Running
```
node index
```
Config file defaults to `./config.json`.## Example `config.js`
```
{
"name":"sample",// Name of the file
"sequence_length":4206,// How many notes to generate
"mode":"chromatic",// What mode to use [major, minor, chromatic]
"offset":0, // Use this to change the key (semitones)
"interval_weights":[1,8,1,1,1,1,1], // Weighted probability of each interval being selected
"ch_interval_weights":[1,1,1,1,1,1,1,1,1,1,1],// Weighted probability of each interval being selected (for chromatic)
"octave_weights":[0,0,0,0,16,4,0,0,0,0,0],// Weighted probability of each octave being selected
"sequence_probability":[100,100,0,100],// Absolute % probability of each note in the sequence being played
"sequence_velocity":[10,20,30,40,50,60,70,80,90,"?"],// Automate velocity. "?" uses random velocity
"sequence_duration":[6,6,6,5,5], // Automate duration. "?" uses random duration
"overall_probability":100,// Overall chance of playing a note (absolute %)
"duration_min":7,
"duration_max":7,
"velocity_min":20,
"velocity_max":100,
"output_dir":"./output",
"generate_json":true // Generate a JSON file containing a copy of the config when generating midi
}
```## TODO
Change the way octaves work when generating notes
Cleanup