[Logo]
Complexity Explorer, Santa Fe Institute
In this last segment I am going to talk
about something completely different,
the use of chaos in music and dance.
This dates back to work by Diana Dabby
who was a PHD student of
Steven Strogatz at MIT,
and also a Carnegie Hall-level
concert pianist.
The reason I found out about this
was because I got Diana's paper to review.
Some of you may not know about this,
the way you get a paper published in the
scientific literature is,
you send it in, the editor asks
other people who can evaluate your work
for a review,
and if the reviews are positive
the paper gets in.
I have reviewed lots and lots of papers
over my career
but this was the first and only one
that came with a cassette tape.
Remember those? Maybe not...
Diana's idea was to take a piece of music
and consider it as a pitch sequence,
just a sequence of labeled notes.
The piece above is C, E, G, C, E, G
and so on and so forth
And then she took a chaotic attractor,
didn't matter which one,
and she generated a trajectory on that
chaotic attractor with the points spaced
the same distance that the notes were
spaced in the original piece.
Now neglect the fact that different notes
can be different lengths,
we can talk about that on the forum
if you would like.
Then what she did,
was take the first point on the trajectory
and she labeled it with the first note
in the piece,
and then she took the
second point in the trajectory,
and labeled it with the second note
in the piece, and so on and so forth,
until she had the pitch sequence wrapped
all the way around the chaotic attractor.
That established a mapping between
the flow of the dynamics and
the flow of the musical piece,
and she used that mapping to generate
variations on that musical piece.
Now, if you generate a trajectory from
exactly the same initial condition, and
you had some sort of device that could
recognise which little green square it was
and play the appropriate note,
you would get back exactly the
original piece, but
if you chose some other point on the
chaotic attractor, generated a trajectory,
and used the mapping to play the notes
that that trajectory followed,
you would get a variation.
So let me play you some of these examples.
Here's the original piece...
(music plays)
As many of you know, that is the
Prelude in C Major from the first book of
Bach's Well Tempered Clavier
Now if Diana wrapped that piece,
the pitch sequences in that piece,
around a chaotic attractor,
the Lorenz attractor,
and used that mapping to generate
a chaotic variation, this is what
you would hear...
(music plays)
And just like a variation is
supposed to do,
it sounds like the original in some sense,
and yet is different.
I just love this work, and I talk about it
every year in my University of Colorado
version of this class.
After one of those classes,
one of the students, Josh Stewart,
came up after class and said
"I wonder if we could do this for dance?"
That is, instead of music in, music out
how about dance in, dance out?
So here's the idea, very much like
Diana Dabby's,
Imagine that you have 300 dance moves,
maybe they are key frames in an animation,
or something like that,
or you have taken a picture of a dancer
every tenth of a second,
then you take a trajectory on a
chaotic attractor,
and you evenly space in time,
not in space, but in time,
you evenly space 300 points around that
attractor,
then you generate a tiling of that attractor,
Josh used a Voronoi diagram,
such that each point is in the centre
of one of these cells.
Now you can imagine that the original
trajectory as it goes around,
lighting up those cells in sequence,
that's called the cell itinerary of these
dynamics,
so this might be the first cell,
and the second cell, and the third cell,
and the fourth cell, and so on and
so forth.
Then what you do, is that you look at the
dance,
and you take the first dance move
and you put it in the first cell,
and then you take the second dance move,
and you put it in the second cell
and so on and so forth,
and you end up with a mapping that looks
like this,
and then you use this much in the same way
as Diana Dabby used her scheme.
If you started at the exact same initial
condition
and generated a trajectory and
played the dance moves for every cell
it hit,
you would get back the original
dance piece,
but if you started from some-place else
on the same attractor, you would get a
chaotic variation of that dance.
Here is a demonstration of that scheme
in action...
This is the dance we used as a
demonstration case,
not as nice a Bach.
Here is a chaotic variation of that dance,
generated using the Lorenz equations.
You can see it looks like
the original in some sense,
but it departs from that original...
There is nothing special about the
Lorenz equations,
you can do this with the
Rossler equations too,
and you get similar effects.
By the way, the first time I talked
about this work at a conference
and I showed this demo,
a guy piped up from the second row
and said "it looks like Al Gore doing
the 'Macarena'".
OK, what's going on here?
The original trajectory lit up those
cells in a certain order.
The variation trajectory
lights them up in a different order.
So what this ends up doing,
is taking chunks out of
different parts of the dance
and splicing them together
in a different order.
Here's a demonstration that will
make that visible.
This is a medley. There is a Macarena...
ballet jump... and a kenpo karate kata...
And when I show you a chaotic variation of
that medley,
you will be able to see different chunks
of the different parts of the dance
pasted together in a different order.
There's some Makarena... goes in and out
of karate, more Makarena... there's karate
Some place in here there's a full copy of the
ballet jump... there it is.
Anyway, you get the idea.
If we simply take the same dance moves and
shuffle them randomly,
this is what it looks like...
any continuity you see here
is because the animation software is
connecting the dots,
it is interpolating between the different key frames,
but you can see it looks kind of like it's
having an epileptic seizure.
There's not the same kind of structure in
this movement.
I've had lots of students playing with
this over the years.
It doesn't just apply to sequences of
movement snapshots,
or sequences of musical notes,
it also works with words.
Here is a chaotic variation on a piece of
Alice in Wonderland.
Now as I said, it's taking chunks out of
different regions of the dance
and sticking them together in a different
order.
This is something that happens in lots of
different kinds of music.
It's also been done in dance by a modern
choreographer named Merce Cunningham,
who would chunk up a dance into phrases
and throw the I Ching to determine the order
in which the dancers
would execute those phrases.
And the dancers, and the critics and the
audiences,
all hated it because there are potentially
abrupt transitions at the chunk boundaries.
Those abrupt transitions arise because
the two moves on either side of
those chunk boundaries, may be very very
far apart in - kind of - body space.
You can really see that in this animation...
This is again the original, before the
chaotic variation,
of a short ballet adagio composed by a
colleague of mine...
Now, what does it look like if we generate
a chaotic variation on that?
You can see the smooth movement on the
- ouch... ouch... ouch -
so you can really see the transitions here.
This set us off on a primrose path,
because I wanted to interpolate,
that is to smooth those gaps.
Not just in a way that was faithful to the
tendons and muscles in the body,
but also that was faithful to the style
of the movement genre.
So what we did, was we took a corpus,
a whole bunch of examples of a
certain kind of dance,
and we looked a the individual joints in
the body
so like the wrist, and the elbow,
and the knee,
and we built a directed graph to capture
how each of those joints moved.
Once you do that, you look at the graph
for say the right shoulder
and you look for the shoulder position
in the initial state
and then you look at that same graph
and you look for the shoulder position in the final state.
So getting the shoulder from here to here
can be accomplished simply by looking
for something like the shortest path
through that graph.
Now it gets a little bit more complicated
than that
because you actually have 44 joints
in your body
and you have to do that in parallel
and they all have to be the same path length
because otherwise all the different joints
in the body will depart from the initial
condition at the right time,
but they will all arrive at the final
condition at different times,
and that doesn't look good.
The other thing that made this hard is the
graphs really are
a lot more complicated than that one
I just showed you.
So here is an interpolation task that we
gave this programme.
Get me from here to here in a manner that
is consistent with the observed
movement patterns in a corpus of ballet.
Here is what the programme produced...
So computer-generated dance,
using machine learning techniques
on a ballet corpus.
This work didn't just suck me down the
primrose path of machine learning,
it also got me working with dancers.
And that has culminated in a piece that
has been performed in a number of cities.