University of Wollongong
Browse

Combining evolutionary computation with the variable neighbourhood search in creating an artificial music composer

Download (736.32 kB)
journal contribution
posted on 2024-11-15, 09:23 authored by Mohammad Zamani
This paper presents a procedure which composes music pieces through handling four layers in music, namely pitches, rhythms, dynamics, and timber. As an innovative feature, the procedure uses the combination of a genetic algorithm with a synergetic variable neighbourhood search. Uniform and one-point crossover operators as well as two mutation operators conduct the search in the employed genetic algorithm. The key point with these four operators is that the uniform crossover operator and the first mutation operator are indiscriminate, in the sense of using no knowledge of music theory, whereas the employed one-point crossover operator and the second mutation operator are musically informed. Music theory is used for finding the suitability of its generated pieces. The method starts with generating an initial sequence of pitches with a musically informed module and then calculates the suitability of the pitch sequence through the embedded rules. The employed genetic algorithm applies the variable neighbourhood search method to its generated offspring genomes for increasing their quality. Pieces can be composed in major, minor, and harmonic minor scales based on the user's request. As well as composing the main notes, the procedure generates up to three chord notes associated with each main note and plays the result in a novel multithreading environment through running four threads concurrently.

History

Citation

Zamani, R. (2019). Combining evolutionary computation with the variable neighbourhood search in creating an artificial music composer. Connection Science, 31 (3), 267-293.

Journal title

Connection Science

Volume

31

Issue

3

Pagination

267-293

Language

English

RIS ID

135284

Usage metrics

    Categories

    Keywords

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC