BlueJam Evolutionary Music Composition

Download Report

Transcript BlueJam Evolutionary Music Composition

BlueJam
BlueJam is a framework for the
evolution of music written in
Java, interfaced with the open
source MAX/MSP alternative
“Pure-Data” (PD)
Evolutionary Music Composition
Music is a mode of creative expression present in culture. As an
artform, music is appraised by listeners, but contention and conflict
appear when the aesthetic critique attempts to define what makes
music appreciable.
Capturing Creativity
with Algorithmic Music
Through modeling and analyzing the composition of music, we can
hope to attain a better understanding of both listening and
composing, illuminating the humanistic affinity with sound.
Context-free grammars can define note transitions
Algorithms are used to describe computational processes. Modern
synthesizers use algorithmic definitions to generate dynamic musical
accompaniment; arpeggios, wave envelopes, drum patterns etc.
Fixed algorithms are invariably deterministic, but this mantle of
being “creative” can be tentatively ascribed to newer families of
algorithms found in evolutionary computation.
Goals and Achievements
Previous research has experimented with mixed successes in the
study of computer-generated and computer-assisted composition.
Notable results have been achieved using constraint-based and
grammatical systems, but evolutionary methods have made an
appearance in programs which perform better than average.
BlueJam attempts to further these achievements, adding some new
concepts specific to music theory and a method of guiding the
evolution through “Heuristic Trees”.
Example for the C-Major Scale
S := cC | dD |eE | f F| gG | aA | bB
C := cD | fE | gF | gA | eaC …
D := dA | dG | fgA …)
E := … (multiple groupings can be defined)
…
Markov Models can assign probabilities to the grammar
Example for Blues in C
Note
C
Eb
F
(F#)…
C
0.10
0.25
0.20
…
Eb
0.25
0.10
0.25
…
F
0.20
0.25
0.10
…
P(F)..
…
F#
P(C)… P(Eb)..
P(x) = Probability of the next note being x
Genetic Programming
and Evolutionary Algorithms
Fig 1. Musical Tree Structure (Genotype)
The Heuristic tree defines the
shape of the music, by locking
specific properties like
rhythm and pitch
Each level of the
tree halves the
rhythmic length of
the nodes
Leaf nodes
get played
(phenotype)
Genetic Programming (GP) and Evolutionary Algorithms (EA) have
produced human-competitive results when applied to problems of
all kinds. Their approach to problem solving can be described as a
search through the space of possible solutions.
In 1992, Koza brought Tree-based GP to prominence, and it has
been used widely ever since. The same paradigm is followed with
Heuristic Trees, which uses the structure of the tree to specify an
additional rhythm semantic.
Modelling our approach on genetic behaviour, we can use crossover
and mutation as two methods of altering the tree contents. During
the program cycle, we move through several generations. In each
generation, populations of musical trees are created and evaluated
– the best are selected to create trees for the next generation.
Machine Learning
and Artificial Intelligence
BlueJam can use an interactive interface to get the opinion of the
user regarding current performance. After numerous generations,
BlueJam will end up with a new set of heuristics that are attuned with
the user.
The traditional qualitative measure of artificial intelligence is the
classic Turing test, in which one participant interacts with two agents
in an attempt to classify which agent is the machine.
Since there are tentative considerations regarding computational art,
could there be a Turing-like test for Artificial Music Composers?
Would this allow us to determine what is merely Generative and what
is Creative?
See More
http://www.pure-data.info
http://www.human-competetive.org
http://www.genetic-programming.org
Visit BlueJam
http://parallaxed.net/bluejam