
Generative Creativity - lecture 7:
Music
Introduction
Generative methods can be used to produce music in a certain style or
genre.
- David Cope has used `modulated' generative methods to create
compositions in the style of Mozart, Scarlatti, Chopin and other
classical composers.
- Nick Collins has used generative methods with various modern genres,
including `dance' and `synth pop'.
Early Cope
In his work with the EMI system (Experiments in Musical Intelligence),
David Cope has explored a variety of generative methods.
His basic approach uses `recombinance' with `voice leading' and `texture
matching'.
Assemble a database of compositions, chop them up into musically
meaningful units and recombine so as to enforce voice and texture
continuities.
Results may be quite good `locally' but often lack higher-level
structure.
News article
http://www.christhornton.eu/crs/gc/cope-multimedia-biog.html
Later Cope
Cope has also explored ways of enforcing higher-level structures
(mediated by allusions, quotations, paraphrases, likenesses,
frameworks, commonalities) at both analytic and generative stages.
Also how to detect them using learning/analogy methods etc.
Also (and particularly) ways of modulating these processes using
`SPEAC' coding.
Represent music as a standard sequence of abstract, musical events:
S=statement, P=preparation, E=extension, A=antecedant, C=consequent.
Allow hierarhies and fuzzy categorizations.
Structures rules (from p. 237-8 of 2005)
S --> P S | A C | S E
P --> P E | E E | A C
E --> S E | E E
A --> A E | P A | P A E | S E A
C --> C E | P C
Anaylytic and generative proceses made to conform to SPEAC
structuring.
Needs compositions to be SPEAC-labelled either automatically or by
hand. (Cope seems to have explored both approaches).
Cope also uses `association nets' as a way of modulating random
combination.
Output
http://arts.ucsc.edu/faculty/cope/mp3page.htm
Latest Cope
Cope has tended to apply methods to fine-tuned databases containing
works of noted composers (Mozart, Stravinsky, Chopin, Bach,
Beethoven...)
- Good news: output can sound just like new versions of the
`real thing'
- Bad news: the compositions can sound highly derivative.
Because Cope wants to produce good music (and feels that his system
just does what he would do but quicker) he views this reaction as a
problem.
Now aims to persue similar methods but without using `historical
databases.'
New system to be called `Emily Howell'
But has he over-reacted? The problem was not the use of databases as
such, it was the fact that he applied the methods in such a
composer-specific way.
Collins
Various lines of generative work including `infno' which
- `attempts to model the production of electropop and dance
music styles
- where the `voices (including a percussion section,
bass, chord and lead lines) are not independently created: the parts can
cross-influence each other based on underlying harmonic ideas, rhythmic
templates and already generated lines.
- Any part of the system can influence or in the extreme force the
recalculation of another, both from top-down and bottom-up
information impacting on compositional preference.
- Dynamic programming is used to choose melodic lines for counter
melodies under cost constraints of register, harmonic template,
existing voices and voice leading heuristics.
Infno output
http://www.cogs.susx.ac.uk/users/nc81/infno.html
Strasheela
- The
Strasheela user declaratively states a music theory and the computer
generates music which complies with this theory.
- A theory is formulated as a constraint satisfaction problem (CSP) by a
set of rules (constraints) applied to a music representation in which
some aspects are expressed by variables (unknowns)
Examples: http://strasheela.sourceforge.net/strasheela/doc/StrasheelaExamples.html
Music For Airports sim: http://www.learningspaces.org/n/eno/index.html
Clara Empricost
Algorithmic music composition may also utilise music theory directly,
i.e., exploit known rules of music structure and harmony to generate
novel patterns which satisfy the rules.
This is the approach taken in the `Clara Empricost' program by
Silas Brown.
The algorithm in this case is a complex program of operations.
Pseudocode snippet
Clara Empricost embodies rules such as
- If this is the second chord in a modulation, check that the
modulation works: It must be on a stronger beat than the
previous chord, it must be a I (or a VI if the previous chord
was a root position V), and if it's of the same figure as the
pivot chord in a gradual modulation then it must be a
different inversion.
- If this is a final chord and it's chord I, and the phrase is
not supposed to end on chord I, reject it (otherwise you get
too many perfect cadences).
- Perform a melody check on the
soprano part. A melody check is defined as follows:
- Make sure it doesn't go out of range
- If it's the final chord, then the soprano part must have the tonic (reject anything else)
- The leading note should rise to the tonic (but it's acceptable to repeat the leading note once before it does so) - reject anything else
etc. etc.
Full details at http://www.flatline.org.uk/~silas/clara/works.htm
Output
Output from Clara Empricost produced from an experiment that involved
`about a week' of computer time using a network of 486 PCs.
Summary
- Though focusing on very different types of music, both Cope and
Collins aim to generate music in a traditional genre.
- In Infno, the model is hand-coded.
- In EMI, the model is partly derived from examples.
Resources
Page created on: Wed Mar 3 09:26:32 GMT 2010
Feedback to Chris Thornton