Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kaliv0/composer.app


https://github.com/kaliv0/composer.app

Last synced: 10 days ago
JSON representation

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: