MusiComp is an implementation for automatic composition of music based
on a genetic algorithm with learned evaluation functions.
You can download the system here.
A documentation is not available in the moment. The source code is
available, please send me a mail
if you are interested.
If you use the system for academic work please cite as
@ARTICLE{Klinger2007,
AUTHOR = {Roman Klinger and G\"unter Rudolph},
TITLE = {{Automatic Composition of Music with Methods of Computational Intelligence}},
JOURNAL = {WSEAS Transactions in Information Science and Applications},
YEAR = {2007},
VOLUME = {4},
PAGES = {508--515},
NUMBER = {3},
MONTH = {March}
}
The program "MusiComp" was developed in my diploma thesis (master
thesis). The name of the thesis is
"Komposition von Musik
mit Methoden der Computational
Intelligence".
("Composition of Music with Methods of Computational Intelligence")
Download the thesis
Quick Start:
- Extract the MusiComp.tgz (under linux: tar xzf MusiComp.tgz)
- Start: java -jar MusiComp.jar
- If you get an exception, be sure you have a soundbank in
the correct path (look at the error message)
- In config.xml you can specify other methods for sound
generation
- Perhaps you have to stop every program that uses sound.
Under gnome: Turn the mixer on or off.
- Generate a simple Genetic Algorithm:
- Menu "GA" - Press "New Genetic Algorithm"
- In the dialog just press "OK"
- Back in the main window press the Button "Init". Now you should
see some individuals in the list. The first number is the fitness
(initialised with negative infinity), the next numbers are the
represenation of the melody in the array. Read my paper for
understanding it.
- Select one individual and press the "Play" Button (the green one on the right)
- You should hear something now. On the right you see the feature values for the individual.
- If you press "Evolve" now the genetic algorithm starts with
interactive evaluation. You can specify another evaluation function in
the drop down menu. You can use the ones defined using the entries in
the menu "Evaluation". The training set for Neural Networks and Decision Trees is not included, but I can send it to you.
- There are of course more sophisticated initialisation methods
then the one you used in this short quick start tutorial. For these you
can specify markov chains and patterns in the "GA" menu. Then edit the
selected GA and select the methods in the "Initialisation"-Tab.
- Have a look on the config files in the folder config.