multi-objective evolutionary music for algorithmic composition

MULTI-OBJECTIVE EVOLUTIONARY MUSIC FOR
ALGORITHMIC COMPOSITION OF PIANO
PHRASES
CHAN JOU MIN
FACULTY OF COMPUTING AND INFORMATICS
UNIVERSITI MALAYSIA SABAH
2015
ABSTRACT
Music composition is not an easy task. One needs to fully understand the music theory as
well as the music instruments in order to compose a nice piece. Composers often meet a
creativity bottleneck while composing. Thus, this research project uses a multi-objective
approach to evolve automatically generated short piano phrases. The encoding for the
algorithmic music composition is done using a Genetic Algorithm (GA). The initial music
phrase is generated by randomly putting music notes, here known as genes to make up a
complete chromosome. Music evaluation is often done by the human ear. However, by using
suitable fitness functions, we may be able to get a more precise music evaluation. Since it is
a multi-objective approach, a weighted-sum fitness is used. It is the combination of the
Zipf’s Law slope and music intervals’ value (MI). In order to ensure the fitness function is
working in the right way, user evaluations are varied out at the same time. A number of
experiments are conducted to identify the different parameters that affect the final results of
the evolved music phrase. Parameters such as number of generations and mutation rate are
tuned. The findings show that the proposed approach was able to generate short piano
phrases that in general were rated as satisfactory to good by a group of human evaluators.
Keywords: Multi-Objective, Algorithmic Music Composition, Zipf’s Law, Music Interval (MI)
CHAPTER 1
INTRODUCTION
1.1 Introduction
This chapter describes briefly about the entire paper on what the author is going to do and
achieve in the end.
1.2 Evolutionary Algorithm
Evolutionary algorithm (EA) is a subset of evolutionary computation in artificial intelligence,
a generic population-based optimization algorithm. Candidate solutions to the optimization
problem play the role of individual in population, and the fitness function determines the
quality of the solutions. A fitness function, also known as evaluation function, is a type of
objective function that is used to summarize, how close a given design solution is to
achieving the set of aims.
Evolutionary algorithms (EA) often perform well approximating solution to all types of
problem because they only involve techniques implementing mechanisms inspired by
biological evolution. It is quite interesting that both the field of computer and biology can
work together in areas of reproduction, mutation, recombination, natural selection and
survival of the fittest. Such algorithms pursue through great extent of data structures that
represent solution to the problem at hand, which might include the design of an efficient
aero engine, production of a beautiful image, production of a set of exam timetable or
composing a piece of music.
According to Charles Darwin’s theory of natural selection (Darwin 1859), evolutionary
change comes about because of the existence of variations in inheritable traits in every
generation. Those individuals, who survive, with a well-adapted combination of inheritable
characteristics, induce the next generation. The individuals fittest survive to pass on those
traits that help to make them fit in a given environment (Douglas, 2009).
There is a number of works involving the use of EAs in musical applications (see Peter M.
Todd 1999; Miranda 2003), just as there is in the visual arts and in design (Bentley 1999).
There are two areas that have attracted the most attention in music area, which are
composition and sound design. Traditionally, music score can be described as a message
from composer to an instrumentalist (pianist, guitarist and etc.) who interprets the score.
The most interesting application of Evolutionary Computation (EC) to music perhaps is for
the study of circumstances and mechanisms whereby musical compositions might originate
and evolve in artificially created worlds inhabited by musicians and listeners.
1.3 Music
Music is an art form of sound. Its common elements are pitch, which is a combination of
melody and harmony; rhythm and its associated concepts tempo, meter and articulation;
dynamics and the sonic quality of timbre and texture. The word music is derived from Greek
(mousike; ―art of the Muses‖) (Kennedy, 2006). Music can be divided into genres and
subgenres. Examples of genres are jazz, pop, rock, R&B and etc. To many people in many
cultures, music is an important part of their way of life. Through music, people can
communicate with each other even without natural language. Music has been changing from
periods of one another along the time. The earliest written secular music is of the Medieval
period, from the 12th century followed by Renaissance, Baroque, Classical, Early Romantic,
Romantic and last but not least, the Post ―Great War‖ Years. Johann Sebastian Bach,
Ludwig van Beethoven, Wolfgang Mozart, Joseph Haydn, Frederic Chopin, Franz Schubert,
Claude Debussy are examples of famous pianist in respective musical periods (Downs,
1992). J. S. Bach, a German composer and musician of
Baroque period. Beethoven, Mozart and Haydn belonged to the Classical and Early Romantic
period. Chopin and Schubert are famous musicians of the Romantic Periods and Debussy is
of the Modern musical period.
1.4 Automatic Composition of Music – Melomics
One of the examples of computational system for automatic composition of music is the
Melomics. This is a research project promoted by the University of Malaga, and is partially
funded by the Spanish Ministry of Economy and Competitiveness. According to Cr. Francisco
J. Vico, the PI of the Melomics project group, Iamus, a computer-composer is able to make
contemporary classical music. In programming Iamus, a biomimetic approach has been
followed, where each composition develops from its genome and composition evolve
towards an increasing complexity and beauty. Melomics is a fully automated music
generation and it has composed many nice rhythm and melody, which got acceptance all
around the world. However, that is not an end for algorithmic music composition, it is just
the beginning.
1.5 Problem Background
The person who writes music score is a composer. Composing music is like preparing a
meal. One must understand all the ingredients and utensils in order to prepare a nice and
edible meal. The same goes with composers. Composers are required to have deep
understanding of certain instruments they used in creating the score since the music score
are for more than one instrument. In other words, composers are always musicians, but
being a musician does not make you a composer. Due to the high level of technology in
today’s world, music composition is always a repetition of each other. Therefore, music
industry will face the creativity bottleneck in looking for new pattern of melody or rhythm.
Composers need to find out a suitable fitness function to evaluate the evolving music pieces.
However, evaluating music pieces can be very tough, compared to evaluation or art. This is
because evaluation of art can be very subjective. As for music, once it is
being played, the music rhythm can be either good or bad. Therefore, one need to identify a
suitable fitness function for the evaluation of evolving music pieces, and based on certain
aspects such as rhythm or melody.
1.6 Problem Statement
Music evaluation is often done by human. Whether the music is nice to hear, human is able
to differentiate that. However, to be more precise in the evaluation of music phrases or
songs, there must be at least a fitness function. Fitness function is used to measure and
evaluate the goodness of solutions. Here, the solution is the generated music. In this
project, what is the suitable fitness function to evaluate the goodness of evolved music
composition?
1.7 Research Hypothesis
The hypothesis of this project is that short piano phrases can be automatically generated
using multi-objective evolutionary optimization.
1.8 Research Objectives
The objectives of this research are listed as below:
1. To review, understand and implement an encoding system for automatically generating
short piano phrases.
2. To implement a multi-objective evolutionary optimization approach for generating piano
phrases.
3. To test, implement and deploy multi-objective evolutionary system and analyse feedback
from human on the quality of evolved phrases.
1.9 Brief Methodology
To generate short piano phrases, the author is using the jmusic engine to develop a simple
random music generator. The programming language used is Java language. To evolve the
randomly generated phrase, genetic algorithm (GA) in evolutionary computing is used. The
piano phrase is being encoded in character form of A to G with numbers 0 to 8 representing
the octaves. Musical notes are represented using N-grams and graph grammars. The music
evaluator to evaluate the goodness of solutions will be the Zipf’s Law and Music Interval
Value (MI value). Zipf’s Law is widely used to measure and evaluate the goodness of
musical composition whereas MI value is newly proposed in this project. The detailed
methodology used for this paper will be presented in Chapter 3.
1.10 Organization of the Report
Chapter 1 of this report presents the general information regarding this research. Problem
statement and background are stated as well as research hypothesis and research
objectives.
Chapter 2 are mainly reviews on existing papers in order to fully understand how this
research works. Taxonomy of algorithmic composition is also outlined. Recent works and
critical summary of similar works are presented too.
Chapter 3 presents the detailed process model and methods will be used throughout the
research work. Requirements for this research project are being discussed and the whole
evolutionary computation used is outlined.
Chapter 4 presents the system analysis and design. All genetic algorithm processes are
being shown in this chapter with diagrams. Classes and functions used are as well
presented.
Chapter 5 shows the implementation of the research project. The evolutionary algorithm
used is presented together with the experiment setups throughout this project.
Chapter 6 presents the results obtained from the planned experiments and the analysis for
each result. These results are presented separately according to the number of experiments
conducted. User evaluations are also being shown in this chapter.
Chapter 7 is the last chapter for this project, showing the overall conclusion and summary
for this research project. Limitations and future works are also being discussed.