Abstract
The thesis is focused on a problem of generating music by a computer, music being random but not very different from one created by a human, following particular harmony rules and not overgoing into disharmony. Basic terms from music theory are introduced, then the developed algorithm is described, both generally and in a relation to the Haskell implementation. The program is compared to similar software and a possible future development is suggested.
Program
MusGen is a program generating random songs. User can specify some parameters of a demanded output, e.g. scale, tempo or a minimal duration in measures. The output is a song in MIDI format, which can be easily converted into a sheet music in PDF format.
Use
Linux
Help: $ ./musgen -?
Generating a song (with example parameters): $ ./musgen -k62 -smajor -b3 -t130 -m4 -ipop
Converting MIDI into a sheet music in PDF: $ ./midi2pdf.sh song.midi
Windows
You need to use the command line (cmd.exe
).
Help: musgen -?
Generating a song (with example parameters): musgen -k62 -smajor -b3 -t130 -m4 -ipop
Files
Presentation (only in Czech)