Orme.04 a jam
session featuring a computer as an improvising musician
Dott. D. Morelli, M°.
Indipendent artist.
e-mail: info@davidemorelli.it
V. Ianitto.
Indipendent artist.
e-mail: valerio.ianitto@virgilio.it
Abstract
Orme.04 is a musical performance featuring the computer as a
percussionist and as an organist. For this purpose a set of intelligent agents
have been implemented to interact realtime with human musicians in the context
of an improvisation.
The virtual band is composed of two percussionists (one human and one
virtual), an organist (virtual) and a saxophone player (human). The virtual
musicians listen to the rhythms and melodies played by human musicians through
microphones and the human musicians listen to the rhythms proposed by the
virtual percussionist and see the chords sequences decided by the virtual
organist on a computer monitor.
The improvisation has no limited duration neither has predetermined
musical patterns (rhythms, melodies, chords sequences, global form).
The virtual musicians are part of a larger project developed by Davide
Morelli [1] and David Plans Casal [2] : "Frank: an Open Source framework
for evolutionary music composition", a set of puredata [3-4] externals
initially implementing Todd & Werner's co-evolutionary methods [5] using
Genetic Algorithms and at the moment exploring the possibilities given by the
usage of graphs to represent musical patterns.
2.1 The virtual organist
This agent is capable of learning which chords sequences I played most
fo the times and which I played rarely. After a long enough training session I
can ask the agent to build chords sequences in the same style I previously
played. It is capable of answering to questions like: "we are in C major
tonality, D minor chord, where did I usually go from here?" or even "build
a chord sequence of 4 steps starting from G major 7th in C major tonality going
to A minor using rarely used chords transitions".
Using an oriented graph in which each node is a chord and each arc is a
transition between two chords we can express the probability of each chord
transition in a given style. Moreover, choosing relative chord names instead of
absolute names (relative to a main tone), we can apply the same rules to each
tonality we may want to modulate to.
2.2 The virtual percussionist
This agent listens to the rhythms played by the human percussionist,
parse them performing a quantization (reducing it to 32th and 16th triplet
notes), group them in family recognizing similar rhythms. The agent is also
capable of proposing variations of previously listened rhythms evolving them
without losing the connection with the original rhythm.
This agent, like the previous, has been implemented through a graph
dynamically built in realtime representing both the memory of played rhythms
and a tool to build new ones.
[1] http://www.davidemorelli.it
[2] http://www.studios.uea.ac.uk/people/staff/casal
[3] http://puredata.info/
[4] http://crca.ucsd.edu/~msp/
[5] “Frankensteinian Methods for Evolutionary Music Composition” Peter
M. Todd & Gregory M. Werner, Parallel distributed perception and
performance. Cambridge, MA: MIT Press.