SREGen is a project I decided to undertake when I started to play the piano more often again, and realized that I am a horrible sight reader. Ultimately, I hope that SREGen would be able to successfully generate sight reading exercises whose difficulty can be controlled, and at the same time, sound musical by following the rules set by music theory.
Note: This program generates .ly files; compilation into .pdf files requires an existing installation of Lilypond (installer can be downloaded here).
Example 1 (generates an A♯ natural minor scale):
SREGen -s ais -t nminor
Example 2 (generates a B♭ major scale):
SREGen -t major -s bes
The following arguments can be specified in any order.
-s <scale root>
(required) Specifies the root of the scale. The suffix
-es represents a flat, and the suffix -is represents a sharp.
-t major | nminor | hminor | mminor
(required) Specifies the tonality of
the scale (whether the generated scale will be a major, natural minor,
harmonic minor, or a melodic minor scale).
Usage instructions coming soon
Usage instructions coming soon
About to add seventh chords and secondary chords [postponed!]
Currently making a melody generator.
- Internal representation of notes and scales
- Writing voices onto a pdf file
- Internal representation of other musical concepts (chords, progressions)
- Creation of genetic algorithm template
- Harmony generation
- Bass line generation
- Two-part music
- Four-part music generation
- Ornamentation
- Construction of complex music from four-part music (stretch)