
Generative Creativity - lecture 10:
Generative instruments
Introduction
Many uses of generative functionality involve some element of hands-on
creativity.
For example, generative functionality may be encapsulated within an
`instrument' which is then `played' by a human.
An interesting example of this type of approach is Tim Blackwell's
`swarm music'.
Swarm Music
Blackwell (who describes himself as a `live algo-mentalist') was
originally inspired by the correspondence between the organisational
properties of music and the organisational properties of bird-flocking.
His approach involves using an adaptation of Craig Reynolds 1987
flocking simulation for purposes of itneractive music generation.
Boids
The agents in Reynolds' simulation were dubbed `boids'.
Each boid applies just three rules for controlling its motion.
No global control is involved, except for dealing with things like
collision detection.
The flocking behaviour emerges as a natural result of the interactions
of the agents.
Motion rules
- Separation: steer to avoid crowding local flockmates.
- Alignment: steer towards the average heading of local
flockmates.
- Cohesion: steer to move towards the average position of
local flockmates.
Emergent flocking
Basic principles of swarm music
Swarm music involves several steps.
- Simulate flocking in 3d space.
- Map the dimensions of the space onto musical parameters, e.g., pitch,
duration, volume.
- For each agent in the flock, generate a stream of values for these
pararmeters.
Targeting
An interesting feature of Swarm Music is the potential for
interaction.
The system is built so that `targets' may be introduced.
These are agents which come into existence at specified locations so as
to influence the behaviour of the swarm.
Targets can come from a pre-existing score, or from a human musician
playing in real-time, or from another swarm.
E.g., real-time musician begins to play staccato notes in C minor; the
swarm moves through the musical space toward compatible notes.
Interactive-swarms output
These examples illustrate interactions between humans and swarms and
between two swarms.
Wind Up
(autonomous ensemble + human)
Rain Trance (autonomous
ensemble)
Robin and Swarm (autonomous
swarm + human)
(More examples on Blackwell's website at http://www.timblackwell.com/)
BugArt
Combinuing a vehicle simulation and a paintbox.
See the applet at http://www.christhornton.eu/bugworks
Exercises
- Write a simplified, 2D version of Blackwell's Swarm Music generator.
This should be an applet showing agents moving around the 2d surface in
accordance with Reynold's boid rules. Tones and intensities should be
derived from agent positions/directions and it should be possible to
introduce targets (i.e., ephemeral pseudo-agents) by clicking on the
image.
Resources
Page created on: Mon Feb 16 16:49:35 GMT 2009
Feedback to Chris Thornton