Since the invention of the computer, both computer scientists and artists have been considering the use of computers for the production of artifacts. Music is one of the arts that has most benefited from such a possibility. Computer music is as old as the computer itself: the ILLIAC suite described in Hiller and Isaacson (1958) is the first piece of music composed by a digital computer. The field of computer music encompasses many aspects across music and computer science, including sound synthesis, real-time performances, digital instruments, music notation software, and much more. In this article, we are concerned with the aspect of automatic music composition; that is, we focus our attention on the problem of composing music by means of a computer program. Computer-assisted composition is an active area of musical, technical, and humanistic research. The user interaction that computer-assisted music composition systems offer ranges from marginal help to fully automated systems. In this work we focus on algorithmic music composition, that is, the production of music through an algorithm that takes an input and, without any human intervention, produces new music. As an historical note, we remark that even “automatic composers” dating back to well before the computer era can be considered algorithmic.
In the design of a music composition algorithm we need to take into account the fact that music composition is a process that must satisfy a set of functional (music theory/ harmonization rules, genre-stylistic restrictions) and aesthetic (preferred patterns, style, motifs, etc.) goals. The functional goals are related to the specific music genre that the composition follows (classic, jazz, pop, etc.) and can be coded as formal constraints (e.g., parallel fifths are not allowed in classical music). The aesthetic goals are related to specific composers, and sometimes can violate functional goals. For example, despite the fact that parallel fifths are forbidden in classical music, Bach sometimes deliberately used this type of voices movement in his compositions. Automatic composition of music could be seen, assuming the existence of a precisely defined evaluation metric, as a combinatorial problem that consists in placing a finite number of notes in a finite grid (the music sheet). Unfortunately (or fortunately?) such a metric does not exist, but we can exploit harmonic and melodic rules to evaluate a piece of music. Combinatorial problems often are characterized by an immense search space: many algorithms that work quite well in other settings, are not helpful since exploring the search space would take too long a time. Moreover, providing clever ways in order to guide an algorithm toward a good solution, can be difficult due to the nature of the problem. In fact, a small perturbation can lead to a wrong part of the search space completely disorienting the algorithm. Adding heuristics that can improve the efficiency by restricting the exploration in significantly smaller search spaces.
Apart from locating a single optimum solution in a complex search space, an algorithm designed to solve creativity problems has an even greater task to undertake: to locate multiple solutions where “optimum” can be represented by terms like “interesting,” “satisfying,” and so on. In most traditional problems of physics or mathematics, this would make no sense, but from the aesthetics point of view, one single, unique, and global optimum might not exist; Bentley (2000) states the following: “The goal is to identify new and interesting solutions, normally more than one is desirable, and these solutions must be good. However, finding global optima may be undesirable, impractical, or even impossible.” In this context, evolutionary computation (EC), and specifically evolutionary algorithms (EA), appear to work quite well and present an opportunity to explore extremely large search spaces in order to locate multiple optimal solutions related to the problem domain, while combining exploration and optimization. According to Goldberg (2002), this is achieved primarily by a continual innovation, as the result of the evolutionary operators (selection, crossover, mutation) and their impact on the population.
The last decade has seen impressive advances in artificial intelligence (AI). Research studies have produced powerful applications that have a wide practical impact. Machine creativity is a recent trend in AI: it allows the design of improved engineering solutions at a lower cost. In this context, EC is likely to play a central role. Agood recent survey of problems solved with evolutionary creativity is provided by Lehman et al. (2018). We refer the reader to such a survey for further references. All these successful applications of evolutionary creativity suggest that the approach can be useful also for “artistic” problems, as, for example, problems in the field of music.
We have proposed several Evolutionary Music composers to face the unfigured bass harmonization problem, such as, EvoBassComposer and EvoComposer.
R. De Prisco, G. Zaccagnino, R. Zaccagnino.
EvoComposer: An Evolutionary Algorithm for 4 voice Music Compositions.
Evolutionary Computation Journal, vol. 28, p. 489-530 (2020), ISSN: 1063-6560, doi: 10.1162/evco a 00265.
Roberto De Prisco, Gianluca Zaccagnino, Rocco Zaccagnino.
EvoBassComposer:a multi-objective genetic algorithm for 4-voice compositions.
GECCO 2010: 817-818.
Roberto De Prisco, Rocco Zaccagnino.
An Evolutionary Music Composer Algorithm for Bass Harmonization.
EvoWorkshops 2009: 567-572.