The compose program provides a custom DSL for composing music with twelve-tone rows.
The composer composes by specifying integers 0 through 11 exactly once on each line.
Each line delimits a twelve-tone row and therefore any given line cannot contain more or less than 12 notes per line.
Files interpreted by the compose program have a file ending of .comp
.
Below is an example of valid input for one line:
0 1 6 2 10 9 4 7 3 8 11 5
An example input file has been included called music.comp
.
More examples of tone rows can be found below or try composing your own 🍎:
https://en.wikipedia.org/wiki/List_of_tone_rows_and_series
This program requires sbcl and lilypond to be installed on the system.
To build the project, clone this repo and run the build script in the root of the project directory:
./build
You can now open the PDF called output.pdf
.