EvoComposer: An Evolutionary Algorithm for 4-voice Music Compositions
Evolutionary Algorithms mimic evolutionary behaviors in order to solve problems. They have been successfully applied in many areas and appear to have a special relationship with creative problems; such a relationship, over the last two decades, has resulted in a long list of applications, including several in the field of music. In this paper we provide an evolutionary algorithm able to compose music. More specifically we consider the following 4-voice harmonization problem: one of the 4 voices
... (which are bass, tenor, alto and soprano) is given as input and the composer has to write the other 3 voices in order to have a complete 4-voice piece of music with a 4-note chord for each input note. Solving such a problem means finding appropriate chords to use for each input note and also find a placement of the notes within each chord so that melodic concerns are addressed. Such a problem is known as the unfigured harmonization problem. The proposed algorithm for the unfigured harmonization problem, named EvoComposer, uses a novel representation of the solutions in terms of chromosomes (that allows to handle both harmonic and non-harmonic tones), specialized operators (that exploit musical information to improve the quality of the produced individuals) and a novel hybrid multi-objective evaluation function (based on an original statistical analysis of a large corpus of Bach's music). Moreover EvoComposer is the first Evolutionary Algorithm for this specific problem. EvoComposer is a multi-objective evolutionary algorithm, based on the well-known NSGA-II strategy, and takes into consideration two objectives: the harmonic objective, that is finding appropriate chords, and the melodic objective, that is finding appropriate melodic lines. The composing process is totally automatic, without any human intervention. We also provide an evaluation study showing that EvoComposer outperforms other meta-heuristics by producing better solutions in terms of both well-known measures of performance, such as hypervolume, ∆ index, coverage of two sets, and standard measures of music creativity. We conjecture that a similar approach can be useful also for similar musical problems.