Download Music Composition using Artificial Intelligence

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

The Shockwave Rider wikipedia , lookup

Technological singularity wikipedia , lookup

AI winter wikipedia , lookup

Human–computer interaction wikipedia , lookup

Computer vision wikipedia , lookup

Gene expression programming wikipedia , lookup

Artificial intelligence in video games wikipedia , lookup

Human-Computer Interaction Institute wikipedia , lookup

Wizard of Oz experiment wikipedia , lookup

Intelligence explosion wikipedia , lookup

Ethics of artificial intelligence wikipedia , lookup

Philosophy of artificial intelligence wikipedia , lookup

Existential risk from artificial general intelligence wikipedia , lookup

Computer Go wikipedia , lookup

Genetic algorithm wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Transcript
Music Composition using Artificial Intelligence
Victoria Tran
Computing Research
Department of Computing Sciences
Villanova University, Villanova, Pa, 19085
[email protected]
Abstract
2. Methods
Music composers originally wrote compositions by hand
to express themselves. Since the discovery of artificial
intelligence, computer scientists discover how to create a
program that will help music composers write their
compositions. Computer scientists want to learn more
about the relationship of music composition and artificial
intelligence by performing experiments or analyzing other
sources to develop ideas. While music composition and
artificial intelligence encounter problems between
computer scientists and music composers, they will need
to work together to understand both topics better.
Keywords
Genetic algorithms,
grammar
music
composition,
Konohen
1. Introduction
Music composition and artificial intelligence have an
interesting relationship that many computer scientists find
intriguing. When a music composer manually writes
music compositions, he has reason the intention in his
music as well as his creativity. Computer scientists have
newer approaches to writing music compositions by
generating programs as technology improves. Still,
artificial intelligence and algorithms cannot duplicate this
type of human activity. Since music has many varieties,
computer scientists are exploring a similarly wide variety
of appropriate technologies that can be used for automatic
music composition such as genetic algorithms, compatible
programming languages, and music theory.
This paper will explain the approaches computer
scientists used to understand the complicated nature of
music composition. Computer scientists use genetic
algorithms to compute programs that create music. In
addition, techniques like the Konohan grammar [4] and
using programming languages that are compatible to
music help give the computer scientists ideas of
improving the nature of music compositions. Despite the
progress of understanding music composition using
artificial intelligence, it needs more evidence to fully
explain the topic.
The strategy for creating a program that writes music
composition involves many procedures and challenges.
Loy and Abbot suggest using an existing programming
language to develop a library that stores common music
structure operators [1]. The difficulties in creating music
composition automatically using artificial intelligence
techniques are related to the complex semantics and
syntax of how music is created in the brain as compared
with how the same music can be represented
programmatically. Therefore, a programmer must choose
an appropriately capable programming language that can
support the required music structures.
3. Creativity
Although music programs can compose music of a
relatively sophisticate nature, they require creative input
from both the human composer and the computer scientist
or programmer. Sheikholharam and Teshnehlab suggest
that creativity has two forms: the composer either has
originality or borrows from existing ideas [4]. The
creativity part of computerized music composition is very
challenging because there is a lack of technology that can
adequately quantify and implement human creativity.
Roads argues that the human composer must handwrite
his music compositions because computer program lacks
creativity [3]. The composer needs to dedicate his time to
creating compositions as well as the programmers’
dedication to create efficient and stable programs. Since
technology improves every day, the music programs have
better algorithms and programming languages.
4. Genetic Algorithms
According to Oliwa, genetic algorithms have a major role
in computing a music composition program [2]. They
involve a process similar to the survival of the fittest,
where each genetic algorithm contains a phenotype and a
genotype. Genetic algorithms must work alongside a
compatible programming language to produce a language
that composes music. Genetic algorithms can support both
originality and developed ideas, while the Konohan
grammar finds the rules for sequences in music [4].
The genetic algorithms randomly create a shape, which is
a fixed division of the string that is divided by separators
into segments. The segments are assigned by fitness
functions, which determine their values from their shapes.
Shapes are randomly created, so people will see different
ones created during each execution. From the differently
executed strings, people will see different songs being
generated to suit each instrument’s style.
and artificial intelligence is needed to understand the
relationship between them [3] [2]. Roads suggested that
computer scientists need to make interactive and flexible
programs, while Oliwa suggested repeating his
experiments to produce more accurate results. If computer
scientists repeat experiments by modifying them, they
will get a better understanding of music composition and
artificial intelligence.
Genotypes and phenotypes help produce an efficient
program. Genotypes contain a fixed multidimensional
array while phenotypes represent the music score. Using
programming languages, such as the abc language,
genotypes help map the algorithm for making the
programs [2]. The notation of the programming language
helps describe the phenotypes, which converts music
symbols into ASCII code.
The music composers encounter problems when they
write their music compositions. Music composers would
translate
their
handwritten
compositions
into
computerized programs. For example, the music
composers will need time to understand particular
commands for inputting music scores. Since the programs
lack flexibility and increase the cost of learning to use
them, music composers orchestrate their work by working
with one instrument at a time. Therefore, Roads suggested
that writing computerized music compositions will
require better representations [3].
5. Konohen Grammar
8. Experimental Results
The creativity of music composition has a major factor on
whether the composer has originality or develops his
ideas from existing ideas. From using genetic algorithms,
Konohen grammar, and mutation, Sheikholharam and
Teshnehlab decide to create two different entities for the
pitch and duration of the music [4]. Genetic algorithms
are dynamic due to the changes in music patterns.
Konohen grammar then evaluates the pitch and duration
through the use of deterministic rules in music and the
creativity of the composer. The convergence of the pitch
and duration makes sure that the patterns do not interfere
with each other. By representing pitch and duration of
music composition as two different entities, the authors
develop a new method for music composition.
Performing experiments help computer scientists gain a
better understanding about the relationship between music
composition and artificial intelligence. Computer
scientists can fulfill their understandings by either
forming arguments from their research or perform
experiments to know how human the computerized music
compositions work. The following experiment shows a
huge difference in the progress of music composition
using artificial intelligence.
4.1 Genotypes and Phenotypes
6. Programming Languages
When they choose programming languages, computer
scientists look for reliable languages that can create
efficient programs as well as a better understanding about
music [1]. The programming languages must have
compatibility with the genetic algorithms to produce
programs that can compose music. For Oliwa, he uses the
abc language to generate music in ASCII [2]. The abc
language also produces music that is readable and
writable to humans. Sheikholharma and Teshnehlab use a
combination of genetic algorithms and the Konohan
grammar to produce a program that can not only write
compositions, but also has originality [4].
7. Problems
Although computer scientists can create programs, they
have problems with syntax, semantics, and efficiency.
According to Roads and Oliwa, more research into music
8.1 Design
Oliwa evaluated the fitness functions on an electric guitar
by performing different techniques [2] such as ascending
and descending tones. For each execution of the program,
the fitness functions give a random number to test the
pitch and the duration of the music, or chords. The
segments are then awarded with points when their values
fulfill the constraining points of the program. An example
of using fitness functions involves with the segment that
contains the ascending tones.
E #F G A, #F G A H, G A H C
E #F G C, #F G D H, G A H A
Figure 1: Execution varies for the fitness functions [2].
Each segment of the fitness function can have a similar fit
with the original composition. In Figure 1, the sequence
of letters above represents the written composition, while
the sequence at the bottom represents the results from the
execution of the fitness function. The letters that are
printed in bold represent the musical notes that are not
picked up by the fitness functions.
8.2 Results
From Oliwa’s experiment, the fitness function values vary
for each execution. The number and size of the segments
can be randomized to produce different segments of
different sizes for fitness functions. If the song executes
more than one segment, each segment produces a unique
sound. Oliwa also limits using restrictions and constraints
of composing music to make music retain its uniqueness.
8.3 Analysis
The results from the experiment reveal how computerized
music programs can reflect artificial intelligence. By
randomizing the segments of the computerized music
composition, the evaluations had a huge effect on
generating the fitness functions and segments for each
music score. The segments generated after each execution
imitates a person’s performance. Since music performers
either play or sing differently during each performance,
the segments can also reflect the computer scientists’
continuing research of music and artificial intelligence. In
conclusion, people can get a better idea of how music
would work, and understand how computerized music can
imitate a musician’s performance.
8.4 Future Work
Roads’ proposal and Oliwa’s experiment show a huge
difference in the field of music composition using
artificial intelligence. During the time Roads wrote the
article, computer scientists did not have enough
information to understand music and artificial
intelligence. Information gathered from research updates
itself to give computer scientists opportunity to develop
newer techniques to make the program more efficient and
easier to use. Oliwa, Sheikholharam and Teshnehlab later
developed techniques to create music composing
programs that are more efficient and flexible to the music
composers. Techniques like the Konohen grammar reveal
a significant change of creating programs that can write
music scores. Computer scientists can now continually
develop efficient and flexible algorithms to create
programs that compose music.
Importantly, computer scientists and music composers
will need to interact and work together to enhance the
relationship between music composition and artificial
intelligence. Because music composers use the program to
work, they need to learn commands and have a basic
understanding of the program. In addition, musicians can
give feedbacks to the computer scientists about improving
the program. Computer scientists will use the music
composers’ feedbacks on the programs to make more
efficient algorithms and learning about the human nature
of music compositions. Both fields will have a better
understanding of computer science and music
composition.
9. Conclusions
When writing their compositions to the program, music
composers would need time to learn about syntax and
semantics. Music composers also need patience when
they convert their handwritten compositions to the
computerized version of their works [3]. Since technology
improves, music composers will have more efficient and
flexible programs to work on their compositions. Music
composers can also test their compositions by using a
range of computerized musical instruments.
Because music has a diverse range, computer scientists
need more research. Genetic algorithms help create form
and notation of the music compositional program.
Computer scientists must take caution when they choose a
programming language because music has a diverse
range. Like many programs, computing a program that
composes music encounters syntax and semantic
problems as well as efficiency. Since computer scientists
find the relationship deep, they have opportunities to
understand it.
References
[1] G. Loy and C. Abbott. “Programming Languages for
Computer Music Synthesis,
Performance, and Composition,” Computing Surveys,
Vol. 17, No. 2, pp. 235-265, June 1985.
[2] T. Oliwa. “Genetic Algorithms and the abc Music
Notation Language for Rock Music Composition,”
GECCO’08, Atlanta, Georgia, USA, pp. 1603-1610, July
12-16, 2008.
[3] C. Roads. “Research in Music and Artificial
Intelligence,” Computing Surveys, Vol. 17, No. 2, pp.
164-190, June 1985.
[4] P. Sheikholharam and M. Teshnehlab. “Music
Composition Using Combination of Genetic Algorithms
and Kohonen Grammar,” ISCID '08, 2008 International
Symposium on Computational Intelligence and Design,
pp. 255-260, 2008.