Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kaliv0/composer.app
https://github.com/kaliv0/composer.app
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/kaliv0/composer.app
- Owner: kaliv0
- License: mit
- Created: 2022-04-06T09:04:38.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-09T14:32:37.000Z (over 1 year ago)
- Last Synced: 2024-02-21T17:01:13.571Z (9 months ago)
- Language: JavaScript
- Size: 175 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Composer.App
A simple console application written in *JavaScript* that generates a chord progression in a given musical key.
The progression could be used for improvisation and educational purposes.===================================================
Composer.App supports the following functionalities:
- *_random-key-selector.js_* => chooses a random key to be constructed
- *_key-generator.js_* => creates the main scale of the given key
- *_chromatizer.js_* => appends the required chromatic signs for the chosen key signature
- *_chord-generator.js_* => generates all of the main chords in the tonality with their applied dominants
- *_progression-generator.js_* => creates a simple chord progression in the chosen key applying the traditional laws of tonal harmony
- *_colorizer.js_* => inserts applied dominants, ii-v 'movements' and appends final cadence
- *_tonal-mapper.js_* => maps the progression to specific chords in the particular key
- *_chord-mapper.js_* => maps the chord abbreviations to full representation of the chords
- *_dominant-mapper.js_* => reads dominant seventh chords and modifies them where necessary
- *_note-alterator.js_* => adds accidentals for raising or lowering chord tones
- *_randomizer.js_* => helper function for random selection of integers used throughout the application
- *_app.js_* => main entry point of the application===================================================
Example progression generated by the application:
which could be realized on the piano in the following manner: