WEBVTT

00:00:00.000 --> 00:00:02.395 align:middle line:90%
[SQUEAKING]

00:00:02.395 --> 00:00:04.311 align:middle line:90%
[RUSTLING]

00:00:04.311 --> 00:00:06.706 align:middle line:90%
[CLICKING]

00:00:06.706 --> 00:00:09.380 align:middle line:90%


00:00:09.380 --> 00:00:10.880 align:middle line:84%
MICHAEL CUTHBERT:
OK, so today we're

00:00:10.880 --> 00:00:12.422 align:middle line:84%
just going to go
through some topics.

00:00:12.422 --> 00:00:17.060 align:middle line:90%
And stop me when you are.

00:00:17.060 --> 00:00:18.890 align:middle line:84%
I want to-- the
first thing I'll do

00:00:18.890 --> 00:00:21.020 align:middle line:84%
is just talk a little bit
about some of the things

00:00:21.020 --> 00:00:21.930 align:middle line:90%
in my research.

00:00:21.930 --> 00:00:25.340 align:middle line:84%
And some of them are
connected with a topic that's

00:00:25.340 --> 00:00:29.960 align:middle line:84%
lingering in the back of this
class that but that's not

00:00:29.960 --> 00:00:30.720 align:middle line:90%
really explicit.

00:00:30.720 --> 00:00:34.430 align:middle line:84%
And that is the
second adjacent field

00:00:34.430 --> 00:00:41.150 align:middle line:84%
of statistical and pure math,
computational musicology

00:00:41.150 --> 00:00:43.920 align:middle line:84%
research that is not
directly computational.

00:00:43.920 --> 00:00:46.460 align:middle line:84%
So we'll do a little
bit with that.

00:00:46.460 --> 00:00:50.750 align:middle line:84%
You'll find on the Canvas
site there's a very cool--

00:00:50.750 --> 00:00:52.890 align:middle line:90%
I think it's like 9-page--

00:00:52.890 --> 00:00:55.340 align:middle line:84%
it's really short-- it
has lots of pictures--

00:00:55.340 --> 00:00:57.560 align:middle line:84%
article that I'd like
you to take some time

00:00:57.560 --> 00:01:02.100 align:middle line:84%
to read by Leon Harkleroad,
who wrote a whole book

00:01:02.100 --> 00:01:04.750 align:middle line:84%
on mathematics and music,
which is very cool.

00:01:04.750 --> 00:01:06.540 align:middle line:84%
But I find the most
cool thing about that

00:01:06.540 --> 00:01:10.590 align:middle line:84%
is the final chapter, how
not to mix math and music,

00:01:10.590 --> 00:01:12.930 align:middle line:84%
and the ways people have
mixed math and music

00:01:12.930 --> 00:01:15.640 align:middle line:90%
and got things really wrong.

00:01:15.640 --> 00:01:18.220 align:middle line:84%
So I might bring that
up a little bit more.

00:01:18.220 --> 00:01:21.030 align:middle line:84%
So we'll do a little bit with
some statistical and math

00:01:21.030 --> 00:01:25.064 align:middle line:84%
things that relate to
my own research, too.

00:01:25.064 --> 00:01:28.710 align:middle line:90%
So I'm trained as a--

00:01:28.710 --> 00:01:30.730 align:middle line:84%
actually, let me turn
off this light somehow.

00:01:30.730 --> 00:01:31.530 align:middle line:90%
Yep.

00:01:31.530 --> 00:01:32.340 align:middle line:90%
Is that good?

00:01:32.340 --> 00:01:35.590 align:middle line:84%
I'm trained as a
medieval music historian,

00:01:35.590 --> 00:01:38.680 align:middle line:84%
so I really, really got
into medieval music.

00:01:38.680 --> 00:01:42.040 align:middle line:84%
You'll hear little clips
of it here and there.

00:01:42.040 --> 00:01:46.020 align:middle line:84%
And that was really
what I wanted

00:01:46.020 --> 00:01:49.260 align:middle line:84%
to do when I programmed on the
side to make some spending money

00:01:49.260 --> 00:01:50.850 align:middle line:90%
and things like that.

00:01:50.850 --> 00:01:53.010 align:middle line:84%
When I got into
medieval music, I

00:01:53.010 --> 00:01:55.080 align:middle line:84%
thought I'd be
looking at things that

00:01:55.080 --> 00:01:57.340 align:middle line:84%
are really beautiful
like this all the time.

00:01:57.340 --> 00:02:00.250 align:middle line:84%
These are people playing
a little crank organ,

00:02:00.250 --> 00:02:02.260 align:middle line:84%
hurdy-gurdy type
thing, and stuff.

00:02:02.260 --> 00:02:05.500 align:middle line:84%
And there are these beautiful,
beautiful music manuscripts.

00:02:05.500 --> 00:02:10.530 align:middle line:84%
This is from the early 14th
century called the Novel

00:02:10.530 --> 00:02:14.140 align:middle line:84%
of Fauvel, the Horse Named
Fauvel, the Roman de Fauvel.

00:02:14.140 --> 00:02:17.290 align:middle line:84%
And they're all really,
really gorgeous.

00:02:17.290 --> 00:02:21.390 align:middle line:84%
Or there's the original
"Carmina Burana"

00:02:21.390 --> 00:02:24.780 align:middle line:84%
that Carl Orff based
his music off of.

00:02:24.780 --> 00:02:28.860 align:middle line:84%
This is what music
notation once looked like.

00:02:28.860 --> 00:02:35.100 align:middle line:84%
And then gorgeous books
in the shape of a heart.

00:02:35.100 --> 00:02:38.260 align:middle line:84%
So I started focusing on
the 14th century in Italy,

00:02:38.260 --> 00:02:41.050 align:middle line:84%
where we have this one
really amazing book.

00:02:41.050 --> 00:02:43.440 align:middle line:84%
This is called the
Squarcialupi Codex.

00:02:43.440 --> 00:02:48.020 align:middle line:84%
Has these beautiful pictures
of all the musicians

00:02:48.020 --> 00:02:49.230 align:middle line:90%
who are in there.

00:02:49.230 --> 00:02:49.980 align:middle line:90%
And it's a great--

00:02:49.980 --> 00:02:52.470 align:middle line:84%
I think it's valued
at around $35 million

00:02:52.470 --> 00:02:53.890 align:middle line:90%
or something like that.

00:02:53.890 --> 00:02:55.840 align:middle line:84%
So I thought I'd
be working on this.

00:02:55.840 --> 00:02:57.310 align:middle line:84%
Well, it turns out
people have been

00:02:57.310 --> 00:03:00.140 align:middle line:84%
doing medieval music
research for, I don't know,

00:03:00.140 --> 00:03:01.250 align:middle line:90%
hundreds of years.

00:03:01.250 --> 00:03:02.480 align:middle line:90%
And guess what?

00:03:02.480 --> 00:03:06.140 align:middle line:84%
They've all studied the
really pretty books.

00:03:06.140 --> 00:03:10.220 align:middle line:84%
So if you wanted to go
into this in around 1998,

00:03:10.220 --> 00:03:13.900 align:middle line:84%
2000, whenever I really got it
started, about 25 years ago,

00:03:13.900 --> 00:03:18.160 align:middle line:84%
here's what's left
for us to study.

00:03:18.160 --> 00:03:19.250 align:middle line:90%
Little things like that.

00:03:19.250 --> 00:03:22.730 align:middle line:84%
You can kind of see the music
here, and stuff like that.

00:03:22.730 --> 00:03:26.260 align:middle line:84%
Or this is one of the
ones I've been looking at.

00:03:26.260 --> 00:03:29.140 align:middle line:84%
Some of these, worms eat
them, ravages of time,

00:03:29.140 --> 00:03:32.560 align:middle line:90%
or other little indignities.

00:03:32.560 --> 00:03:37.280 align:middle line:84%
The music is wrapped up to keep
people's sewage payment records.

00:03:37.280 --> 00:03:39.800 align:middle line:84%
You have to pay somebody to
clean out your chamber pots,

00:03:39.800 --> 00:03:42.440 align:middle line:84%
and you want to make sure
that somebody paid their bill.

00:03:42.440 --> 00:03:45.680 align:middle line:84%
And so you wrap it in a
piece of worthless music,

00:03:45.680 --> 00:03:46.930 align:middle line:90%
and you do that.

00:03:46.930 --> 00:03:50.540 align:middle line:84%
Well, when you're wrapping
music on top of other documents,

00:03:50.540 --> 00:03:52.820 align:middle line:84%
sometimes the document's
smaller than the music.

00:03:52.820 --> 00:03:54.020 align:middle line:90%
So no problem.

00:03:54.020 --> 00:03:57.660 align:middle line:84%
You trim the music,
and then it fits there.

00:03:57.660 --> 00:04:01.070 align:middle line:84%
And some people--
there's nothing

00:04:01.070 --> 00:04:03.990 align:middle line:84%
important on the left
side of a score, right?

00:04:03.990 --> 00:04:08.370 align:middle line:84%
Just clefs, time signatures, key
signatures, nothing like that.

00:04:08.370 --> 00:04:10.850 align:middle line:84%
And they used a lot
of clefs back then.

00:04:10.850 --> 00:04:14.340 align:middle line:84%
And then sometimes you wanted
things to look really nice.

00:04:14.340 --> 00:04:18.170 align:middle line:84%
So you would wipe off,
wash off, or scrape off

00:04:18.170 --> 00:04:21.410 align:middle line:84%
all the music that was there
so that your cover looked

00:04:21.410 --> 00:04:22.380 align:middle line:90%
a little nicer.

00:04:22.380 --> 00:04:24.420 align:middle line:84%
And then once you've
scraped everything off,

00:04:24.420 --> 00:04:26.340 align:middle line:84%
it's all parchment
and vellum and stuff.

00:04:26.340 --> 00:04:28.920 align:middle line:84%
Then you can reuse
it for, in this case,

00:04:28.920 --> 00:04:30.643 align:middle line:84%
church land holdings
in Florence.

00:04:30.643 --> 00:04:33.380 align:middle line:90%


00:04:33.380 --> 00:04:36.380 align:middle line:84%
And then there's
these little strips

00:04:36.380 --> 00:04:40.380 align:middle line:84%
that you find sometimes that
you weren't even sure are music.

00:04:40.380 --> 00:04:42.680 align:middle line:84%
But oh, those kind of
look like quarter note

00:04:42.680 --> 00:04:46.566 align:middle line:84%
stems, quarter note stems,
and stuff like that.

00:04:46.566 --> 00:04:48.210 align:middle line:84%
And this is what
was left for me.

00:04:48.210 --> 00:04:50.940 align:middle line:84%
So I became a music
fragment scholar.

00:04:50.940 --> 00:04:54.750 align:middle line:84%
And my things are all on
fragments of polyphonic music

00:04:54.750 --> 00:04:56.230 align:middle line:90%
from the 14th century.

00:04:56.230 --> 00:04:58.470 align:middle line:84%
So I wanted to look
at these things.

00:04:58.470 --> 00:05:00.660 align:middle line:90%
And how to move forward?

00:05:00.660 --> 00:05:03.720 align:middle line:84%
One of the things back
then with no computers

00:05:03.720 --> 00:05:05.202 align:middle line:90%
is just spend a lot of time.

00:05:05.202 --> 00:05:07.410 align:middle line:84%
So one of the things they
were really good about then

00:05:07.410 --> 00:05:08.880 align:middle line:90%
is that they--

00:05:08.880 --> 00:05:11.200 align:middle line:84%
who was told that
in a music class,

00:05:11.200 --> 00:05:14.280 align:middle line:90%
when you write a quarter note--

00:05:14.280 --> 00:05:16.900 align:middle line:84%
that's a very bad one-- when
you write a quarter note,

00:05:16.900 --> 00:05:20.440 align:middle line:84%
its stems should be
exactly an octave long?

00:05:20.440 --> 00:05:23.095 align:middle line:84%
And so therefore, it's
kind of exactly like this.

00:05:23.095 --> 00:05:24.970 align:middle line:84%
I don't know if people
are still taught that.

00:05:24.970 --> 00:05:26.440 align:middle line:84%
Well, they were
very good at that.

00:05:26.440 --> 00:05:29.520 align:middle line:84%
So you can figure out,
based on the heights

00:05:29.520 --> 00:05:32.398 align:middle line:84%
of the stems, what notes
must have been cut off there

00:05:32.398 --> 00:05:33.190 align:middle line:90%
and where they are.

00:05:33.190 --> 00:05:36.510 align:middle line:84%
And you just stare for hours and
hours and hours of other books

00:05:36.510 --> 00:05:40.200 align:middle line:84%
until eventually you find
one where every one of the

00:05:40.200 --> 00:05:41.620 align:middle line:90%
stems lines up.

00:05:41.620 --> 00:05:44.080 align:middle line:84%
I had to squish this
by about 10% to get it,

00:05:44.080 --> 00:05:45.790 align:middle line:90%
but things like that.

00:05:45.790 --> 00:05:50.200 align:middle line:84%
Or for something like
this, there's three parts.

00:05:50.200 --> 00:05:52.390 align:middle line:84%
They wrote the parts
separately back then,

00:05:52.390 --> 00:05:53.950 align:middle line:84%
kind of like, I
don't know, iterating

00:05:53.950 --> 00:05:56.200 align:middle line:84%
through the recurse method
and not the flatten method.

00:05:56.200 --> 00:05:59.590 align:middle line:84%
And so part one,
part two, part three.

00:05:59.590 --> 00:06:01.770 align:middle line:84%
And so you just try
every combination

00:06:01.770 --> 00:06:03.810 align:middle line:84%
of clef and time signature
and key signature

00:06:03.810 --> 00:06:08.170 align:middle line:84%
until you finally find
where things line up.

00:06:08.170 --> 00:06:11.640 align:middle line:84%
Then use your knowledge of music
theory from the 14th century

00:06:11.640 --> 00:06:14.230 align:middle line:90%
to fill in the missing parts.

00:06:14.230 --> 00:06:19.530 align:middle line:84%
And eventually your friends
record the piece for you.

00:06:19.530 --> 00:06:21.990 align:middle line:90%
[MUSIC PLAYING]

00:06:21.990 --> 00:06:26.880 align:middle line:90%


00:06:26.880 --> 00:06:30.143 align:middle line:84%
Then when the notes get big,
it's what we actually know.

00:06:30.143 --> 00:06:33.390 align:middle line:90%
[MUSIC PLAYING]

00:06:33.390 --> 00:06:36.780 align:middle line:84%
So anyhow, that was
some of the things.

00:06:36.780 --> 00:06:38.850 align:middle line:84%
Then the first place
where computers really

00:06:38.850 --> 00:06:42.750 align:middle line:84%
started coming in was about when
we started getting nice color

00:06:42.750 --> 00:06:45.390 align:middle line:84%
photographs, before everything
was black and white photocopies

00:06:45.390 --> 00:06:45.940 align:middle line:90%
and stuff.

00:06:45.940 --> 00:06:50.230 align:middle line:84%
And I, with some other
people and some other people

00:06:50.230 --> 00:06:53.200 align:middle line:84%
independent from me, all
came up about the same time

00:06:53.200 --> 00:06:56.770 align:middle line:84%
with a technique
that if you measured

00:06:56.770 --> 00:06:59.295 align:middle line:84%
the colors of the
overwriting and the colors

00:06:59.295 --> 00:07:01.670 align:middle line:84%
of the underwriting, the ink
would probably be different.

00:07:01.670 --> 00:07:04.820 align:middle line:84%
So you could remove one
and bring the other up.

00:07:04.820 --> 00:07:08.470 align:middle line:84%
And so we had these
various computer techniques

00:07:08.470 --> 00:07:10.450 align:middle line:84%
for getting rid
of the overwriting

00:07:10.450 --> 00:07:12.350 align:middle line:84%
and getting to the
music underneath.

00:07:12.350 --> 00:07:15.460 align:middle line:90%


00:07:15.460 --> 00:07:21.050 align:middle line:84%
But everything after this was
still going to be done by hand.

00:07:21.050 --> 00:07:25.270 align:middle line:84%
So I started thinking about ways
to use statistics and computers

00:07:25.270 --> 00:07:26.510 align:middle line:90%
to do various things.

00:07:26.510 --> 00:07:29.020 align:middle line:84%
So about this time we
started creating music21.

00:07:29.020 --> 00:07:31.000 align:middle line:84%
And if you ever
wonder why there's

00:07:31.000 --> 00:07:33.970 align:middle line:84%
some things that are obscure,
music21's sole purpose

00:07:33.970 --> 00:07:37.160 align:middle line:84%
was to try to identify
music fragments like that.

00:07:37.160 --> 00:07:40.420 align:middle line:84%
And everything else that
this class has come about

00:07:40.420 --> 00:07:44.620 align:middle line:90%
has just been of a side project.

00:07:44.620 --> 00:07:48.330 align:middle line:84%
So while I was building
that, I switched

00:07:48.330 --> 00:07:49.870 align:middle line:90%
into a statistical mode.

00:07:49.870 --> 00:07:51.820 align:middle line:84%
So we'll get back
to music21 in a bit.

00:07:51.820 --> 00:07:54.450 align:middle line:84%
But first, I want
to think about some

00:07:54.450 --> 00:07:57.790 align:middle line:84%
of the things that were coming
up with all these fragments.

00:07:57.790 --> 00:08:01.180 align:middle line:84%
And I was trying to
figure out what they were.

00:08:01.180 --> 00:08:04.200 align:middle line:84%
And that meant I would need
to find another piece that

00:08:04.200 --> 00:08:05.440 align:middle line:90%
was like that.

00:08:05.440 --> 00:08:08.220 align:middle line:84%
But the odds that
another piece would

00:08:08.220 --> 00:08:11.340 align:middle line:84%
exist that matched up with
the music, I was told,

00:08:11.340 --> 00:08:13.110 align:middle line:90%
were really, really low.

00:08:13.110 --> 00:08:18.300 align:middle line:84%
In fact, a very famous article
by somebody who's very famous

00:08:18.300 --> 00:08:22.050 align:middle line:84%
in my field, Nino PIrrotta,
"The Oral and Written Traditions

00:08:22.050 --> 00:08:26.430 align:middle line:84%
of Music," said that the
surviving music from the Middle

00:08:26.430 --> 00:08:29.050 align:middle line:90%
Ages is the tip of the iceberg.

00:08:29.050 --> 00:08:33.120 align:middle line:84%
And that metaphor ended
up being quoted and reused

00:08:33.120 --> 00:08:35.159 align:middle line:84%
in a whole bunch
of other articles

00:08:35.159 --> 00:08:37.710 align:middle line:90%
that you don't need to see here.

00:08:37.710 --> 00:08:40.419 align:middle line:84%
So this became what
everybody knew.

00:08:40.419 --> 00:08:44.512 align:middle line:84%
So if you're thinking about
music from 600 years ago

00:08:44.512 --> 00:08:46.220 align:middle line:84%
and you think about
all the things you've

00:08:46.220 --> 00:08:50.690 align:middle line:84%
lost in your 20 years of
life, or however long,

00:08:50.690 --> 00:08:52.820 align:middle line:84%
what percentage of
things would have

00:08:52.820 --> 00:08:57.650 align:middle line:90%
survived from 600 years ago?

00:08:57.650 --> 00:08:59.000 align:middle line:90%
Or would be lost?

00:08:59.000 --> 00:08:59.930 align:middle line:90%
Would be lost?

00:08:59.930 --> 00:09:01.500 align:middle line:90%
About 90%?

00:09:01.500 --> 00:09:03.590 align:middle line:90%
99%?

00:09:03.590 --> 00:09:05.790 align:middle line:90%
99.9%?

00:09:05.790 --> 00:09:08.130 align:middle line:84%
These are all numbers
that I found people said.

00:09:08.130 --> 00:09:10.170 align:middle line:84%
And then somebody said
basically everything.

00:09:10.170 --> 00:09:12.020 align:middle line:84%
So I have to convert
everything to a number.

00:09:12.020 --> 00:09:14.605 align:middle line:84%
That's pretty close to
basically everything for me.

00:09:14.605 --> 00:09:17.900 align:middle line:90%


00:09:17.900 --> 00:09:18.930 align:middle line:90%
Let me skip over that.

00:09:18.930 --> 00:09:20.930 align:middle line:84%
We don't have all the
time in the world.

00:09:20.930 --> 00:09:26.270 align:middle line:84%
So I started to think about some
statistical methodologies that

00:09:26.270 --> 00:09:27.360 align:middle line:90%
could help in this.

00:09:27.360 --> 00:09:30.290 align:middle line:84%
And one of the things that
we have in some cases--

00:09:30.290 --> 00:09:35.270 align:middle line:84%
this is a table of contents for
a book of music from the 14th

00:09:35.270 --> 00:09:38.360 align:middle line:84%
century, where the book doesn't
exist but the table of contents

00:09:38.360 --> 00:09:38.940 align:middle line:90%
does.

00:09:38.940 --> 00:09:41.630 align:middle line:84%
So I started looking
at, OK, here's

00:09:41.630 --> 00:09:45.750 align:middle line:84%
all the pieces
that do not exist.

00:09:45.750 --> 00:09:49.590 align:middle line:84%
And then here's all the
pieces that do exist.

00:09:49.590 --> 00:09:54.180 align:middle line:84%
And starting to
look at the ratios.

00:09:54.180 --> 00:09:56.280 align:middle line:84%
And in this
particular manuscript,

00:09:56.280 --> 00:09:59.560 align:middle line:84%
it looks like about
68% of them survive.

00:09:59.560 --> 00:10:04.440 align:middle line:84%
So that was the first thing
that maybe the 99.9999 number

00:10:04.440 --> 00:10:05.140 align:middle line:90%
didn't exist.

00:10:05.140 --> 00:10:08.590 align:middle line:84%
And then I looked at there's
a bunch of poetry manuscripts.

00:10:08.590 --> 00:10:13.020 align:middle line:84%
So this is one from about
the time of Dante or Chaucer

00:10:13.020 --> 00:10:16.170 align:middle line:84%
by a not very good
poet named Prodenzani.

00:10:16.170 --> 00:10:18.420 align:middle line:84%
But one of the things that
makes him a bad poet that's

00:10:18.420 --> 00:10:20.620 align:middle line:84%
really good is that when
he gets into something,

00:10:20.620 --> 00:10:22.078 align:middle line:84%
when he's talking
about a feast, he

00:10:22.078 --> 00:10:26.020 align:middle line:84%
will list for the next 50 lines
everything they possibly ate.

00:10:26.020 --> 00:10:27.630 align:middle line:84%
And when it gets
to a concert, he

00:10:27.630 --> 00:10:31.750 align:middle line:84%
lists with the viola,
[SPEAKING ITALIAN]

00:10:31.750 --> 00:10:33.400 align:middle line:90%
We played our May Day songs.

00:10:33.400 --> 00:10:34.473 align:middle line:90%
We just had May Day.

00:10:34.473 --> 00:10:37.140 align:middle line:84%
So these are the May Day songs,
like the rose that never changes

00:10:37.140 --> 00:10:42.040 align:middle line:84%
its color, [SPEAKING FRENCH]
sweet taste, and so on.

00:10:42.040 --> 00:10:44.150 align:middle line:84%
And these all look
like names of songs.

00:10:44.150 --> 00:10:46.730 align:middle line:84%
And so we can look at,
for each one of them,

00:10:46.730 --> 00:10:50.030 align:middle line:84%
do we have a song by
that name, or do we not?

00:10:50.030 --> 00:10:53.210 align:middle line:84%
And so we have how many are
known, how many are unknown.

00:10:53.210 --> 00:10:57.820 align:middle line:84%
And we eventually
get to a number

00:10:57.820 --> 00:11:00.050 align:middle line:84%
that looks a little bit
similar to the last one.

00:11:00.050 --> 00:11:03.610 align:middle line:90%
About 71% survive.

00:11:03.610 --> 00:11:06.218 align:middle line:84%
So I was kind
going through this.

00:11:06.218 --> 00:11:07.760 align:middle line:84%
The chronology is
a little bit wrong.

00:11:07.760 --> 00:11:09.320 align:middle line:90%
I had to justify this later.

00:11:09.320 --> 00:11:13.450 align:middle line:84%
But first I was thinking
about how animal biologists,

00:11:13.450 --> 00:11:16.720 align:middle line:90%
ecologists, count animals.

00:11:16.720 --> 00:11:19.900 align:middle line:84%
Has anyone taken a biology
class or something where

00:11:19.900 --> 00:11:23.290 align:middle line:90%
you do population estimates?

00:11:23.290 --> 00:11:27.340 align:middle line:84%
So one of the ways that
you can do it is you

00:11:27.340 --> 00:11:29.420 align:middle line:84%
want to know how many
deer are in a forest.

00:11:29.420 --> 00:11:32.770 align:middle line:84%
So you go, and you capture
as many deer as you can

00:11:32.770 --> 00:11:33.770 align:middle line:90%
in a month and a half.

00:11:33.770 --> 00:11:35.810 align:middle line:84%
You come back smelling
pretty bad and stuff.

00:11:35.810 --> 00:11:40.760 align:middle line:84%
But every time you find a deer,
you tag its ear or some way,

00:11:40.760 --> 00:11:42.380 align:middle line:84%
in some way that
you can identify,

00:11:42.380 --> 00:11:43.790 align:middle line:90%
this is a deer that I saw.

00:11:43.790 --> 00:11:47.360 align:middle line:84%
And you come back several
months later or whatever,

00:11:47.360 --> 00:11:50.500 align:middle line:90%
and then you count deer again.

00:11:50.500 --> 00:11:55.450 align:middle line:84%
And the percentage of deer that
were tagged in the first time

00:11:55.450 --> 00:11:57.580 align:middle line:90%
give you some sense--

00:11:57.580 --> 00:11:59.530 align:middle line:84%
or the inverse of it
gives you some sense

00:11:59.530 --> 00:12:00.980 align:middle line:90%
of how big the population is.

00:12:00.980 --> 00:12:04.840 align:middle line:84%
If you tagged 100 deer the first
time, and you come back later

00:12:04.840 --> 00:12:06.650 align:middle line:90%
and you only find--

00:12:06.650 --> 00:12:09.580 align:middle line:84%
then you capture 100 more deer,
and you only see two of them

00:12:09.580 --> 00:12:11.890 align:middle line:84%
are tagged, you know
there's a huge population

00:12:11.890 --> 00:12:13.480 align:middle line:90%
of deer out there.

00:12:13.480 --> 00:12:16.420 align:middle line:84%
Similarly, if you captured
100 deer and the next time you

00:12:16.420 --> 00:12:19.220 align:middle line:84%
capture 100 deer, 98
of them are tagged,

00:12:19.220 --> 00:12:20.840 align:middle line:90%
you probably saw most of them.

00:12:20.840 --> 00:12:23.120 align:middle line:84%
So I started
thinking about, well,

00:12:23.120 --> 00:12:25.400 align:middle line:84%
if a piece appears
in one manuscript,

00:12:25.400 --> 00:12:27.040 align:middle line:90%
we'll tag that piece.

00:12:27.040 --> 00:12:30.940 align:middle line:84%
And then we'll see how often it
appears in another manuscript.

00:12:30.940 --> 00:12:33.190 align:middle line:84%
So I started coming
up with formulas

00:12:33.190 --> 00:12:34.820 align:middle line:90%
to do this type of thing.

00:12:34.820 --> 00:12:38.320 align:middle line:84%
And I realized that there's
an equation that tells us

00:12:38.320 --> 00:12:39.592 align:middle line:90%
the number of missing pieces.

00:12:39.592 --> 00:12:41.300 align:middle line:84%
All you have to do is
you take the number

00:12:41.300 --> 00:12:43.350 align:middle line:90%
of pieces you originally had.

00:12:43.350 --> 00:12:45.830 align:middle line:84%
And you multiply
by the probability

00:12:45.830 --> 00:12:47.455 align:middle line:90%
that any piece would be missing.

00:12:47.455 --> 00:12:48.330 align:middle line:90%
Tell me if I'm wrong.

00:12:48.330 --> 00:12:50.060 align:middle line:90%
You're the MIT students.

00:12:50.060 --> 00:12:52.290 align:middle line:84%
Equals the total number
of missing pieces.

00:12:52.290 --> 00:12:54.510 align:middle line:84%
And it's a super great,
super simple formula,

00:12:54.510 --> 00:12:57.510 align:middle line:84%
except that it's a formula
with three unknowns.

00:12:57.510 --> 00:13:00.530 align:middle line:84%
We don't know any of
these three numbers.

00:13:00.530 --> 00:13:05.820 align:middle line:84%
But we can kind of figure
out some of these things.

00:13:05.820 --> 00:13:09.170 align:middle line:84%
So we can look at, well, what's
the probability that a given

00:13:09.170 --> 00:13:10.820 align:middle line:90%
piece would be in a manuscript?

00:13:10.820 --> 00:13:12.320 align:middle line:84%
Now, we'll start
with the assumption

00:13:12.320 --> 00:13:15.450 align:middle line:84%
that every piece is
selected randomly.

00:13:15.450 --> 00:13:18.760 align:middle line:84%
So we start with how many pieces
are there in a manuscript?

00:13:18.760 --> 00:13:23.070 align:middle line:84%
So just like a collection, like
a box set of lots of tunes.

00:13:23.070 --> 00:13:25.080 align:middle line:84%
How many pieces are
there in that manuscript?

00:13:25.080 --> 00:13:26.580 align:middle line:90%
We'll call that r sub i.

00:13:26.580 --> 00:13:29.990 align:middle line:84%
And you divide it by the
total number of pieces

00:13:29.990 --> 00:13:31.560 align:middle line:90%
that were originally copied.

00:13:31.560 --> 00:13:34.490 align:middle line:84%
So we know how many
pieces are in a manuscript

00:13:34.490 --> 00:13:35.885 align:middle line:90%
because we can count that.

00:13:35.885 --> 00:13:36.780 align:middle line:90%
That survives.

00:13:36.780 --> 00:13:38.970 align:middle line:84%
But we don't know that, so
we just move our unknown

00:13:38.970 --> 00:13:41.040 align:middle line:90%
to another place.

00:13:41.040 --> 00:13:44.760 align:middle line:84%
So we can also figure out what's
the probability a piece is not

00:13:44.760 --> 00:13:46.120 align:middle line:90%
in a given manuscript.

00:13:46.120 --> 00:13:47.418 align:middle line:90%
What's the formula?

00:13:47.418 --> 00:13:48.460 align:middle line:90%
Just see if you're awake.

00:13:48.460 --> 00:13:52.050 align:middle line:84%
If this is the formula it's in
the manuscript, what do we do?

00:13:52.050 --> 00:13:52.990 align:middle line:90%
1 minus.

00:13:52.990 --> 00:13:55.030 align:middle line:84%
Good We're all on
the same page there.

00:13:55.030 --> 00:13:55.560 align:middle line:90%
Great.

00:13:55.560 --> 00:13:59.746 align:middle line:84%
So what's the probability that
it's not in two manuscripts?

00:13:59.746 --> 00:14:02.250 align:middle line:90%


00:14:02.250 --> 00:14:04.057 align:middle line:84%
You just take the
first probability

00:14:04.057 --> 00:14:05.640 align:middle line:84%
and you multiply it
by the second one,

00:14:05.640 --> 00:14:08.500 align:middle line:84%
in the assumption that
these are independent.

00:14:08.500 --> 00:14:11.680 align:middle line:84%
And so try to keep ones from
different places, whatever.

00:14:11.680 --> 00:14:16.980 align:middle line:84%
So then what's the probability
that any given piece is not

00:14:16.980 --> 00:14:22.740 align:middle line:84%
in any of the, we're at that
point, 85 surviving manuscripts?

00:14:22.740 --> 00:14:27.540 align:middle line:84%
Well, you just have
something like this.

00:14:27.540 --> 00:14:29.130 align:middle line:90%
And that gives us--

00:14:29.130 --> 00:14:31.830 align:middle line:90%
takes-- our two unknowns.

00:14:31.830 --> 00:14:35.940 align:middle line:84%
It gives us the probability
that a piece is missing.

00:14:35.940 --> 00:14:40.420 align:middle line:84%
So we can go back to
our original equation

00:14:40.420 --> 00:14:45.220 align:middle line:90%
and plug that in.

00:14:45.220 --> 00:14:47.930 align:middle line:84%
And all of these have
N as a denominator.

00:14:47.930 --> 00:14:52.970 align:middle line:84%
So now we've at least
reduced our giant--

00:14:52.970 --> 00:14:58.300 align:middle line:84%
we've reduced our master,
our main equation,

00:14:58.300 --> 00:15:00.140 align:middle line:90%
into two unknowns.

00:15:00.140 --> 00:15:03.670 align:middle line:84%
So we're getting a
little bit better.

00:15:03.670 --> 00:15:08.390 align:middle line:84%
Then we thought, how
many pieces were missing?

00:15:08.390 --> 00:15:10.630 align:middle line:84%
Well, the number of
pieces that were missing

00:15:10.630 --> 00:15:12.460 align:middle line:84%
is the number of
pieces there originally

00:15:12.460 --> 00:15:17.230 align:middle line:84%
were minus the number
of pieces that survive.

00:15:17.230 --> 00:15:21.200 align:middle line:84%
So we can count the number
of pieces that survive.

00:15:21.200 --> 00:15:24.115 align:middle line:84%
It takes a long time, actually,
to figure out every single thing

00:15:24.115 --> 00:15:25.490 align:middle line:84%
because people
count differently.

00:15:25.490 --> 00:15:29.650 align:middle line:84%
But we can kind of reduce
this entire equation

00:15:29.650 --> 00:15:32.420 align:middle line:90%
to one equation, one unknown.

00:15:32.420 --> 00:15:35.770 align:middle line:84%
And at this point,
I was thinking

00:15:35.770 --> 00:15:38.180 align:middle line:84%
I must have screwed up
something really, really bad.

00:15:38.180 --> 00:15:39.380 align:middle line:90%
I have a music degree.

00:15:39.380 --> 00:15:40.730 align:middle line:90%
I don't have a stats degree.

00:15:40.730 --> 00:15:43.190 align:middle line:84%
This seems like a pretty
fundamental equation to have.

00:15:43.190 --> 00:15:46.900 align:middle line:84%
And it turns out people had been
talking about equations like

00:15:46.900 --> 00:15:49.880 align:middle line:90%
this a lot in the '60s or so.

00:15:49.880 --> 00:15:54.760 align:middle line:84%
But back then, it
was all about, what's

00:15:54.760 --> 00:15:58.600 align:middle line:84%
the way that you solve an
equation like this with 85--

00:15:58.600 --> 00:16:04.060 align:middle line:84%
it's an 85th power equation,
or something like that.

00:16:04.060 --> 00:16:06.400 align:middle line:84%
And so all of it
was on the high math

00:16:06.400 --> 00:16:08.470 align:middle line:84%
that I don't
understand that can get

00:16:08.470 --> 00:16:11.270 align:middle line:90%
you something to this answer.

00:16:11.270 --> 00:16:15.110 align:middle line:84%
But this was my first
computational thing.

00:16:15.110 --> 00:16:17.860 align:middle line:84%
It's in a language called
Perl, where if you know it,

00:16:17.860 --> 00:16:19.580 align:middle line:90%
you're lying about your age.

00:16:19.580 --> 00:16:21.140 align:middle line:90%
It was the big--

00:16:21.140 --> 00:16:23.380 align:middle line:84%
it was the language
that built the internet

00:16:23.380 --> 00:16:25.460 align:middle line:90%
in the '90s and things.

00:16:25.460 --> 00:16:30.370 align:middle line:84%
And one of the things you
can do is you can look at--

00:16:30.370 --> 00:16:34.190 align:middle line:84%
guess various numbers
and look at the error

00:16:34.190 --> 00:16:35.810 align:middle line:84%
between the left
side of the equation

00:16:35.810 --> 00:16:37.227 align:middle line:84%
and the right side
of the equation

00:16:37.227 --> 00:16:40.500 align:middle line:84%
until you find the number that
comes closest to balancing it.

00:16:40.500 --> 00:16:42.080 align:middle line:84%
So you just kind
of try everything,

00:16:42.080 --> 00:16:44.900 align:middle line:90%
and you multiply everything out.

00:16:44.900 --> 00:16:47.670 align:middle line:84%
And since this isn't
really a class about that,

00:16:47.670 --> 00:16:54.140 align:middle line:84%
but it turned into saying that
the percentage of missing pieces

00:16:54.140 --> 00:16:57.920 align:middle line:84%
varied by genre, by
type of piece it was.

00:16:57.920 --> 00:17:01.820 align:middle line:84%
The interesting part is that
the mass, the music written

00:17:01.820 --> 00:17:06.589 align:middle line:84%
for sacred services,
has more missing

00:17:06.589 --> 00:17:10.430 align:middle line:84%
than the ones for everyday
dancing and lovemaking and all

00:17:10.430 --> 00:17:11.130 align:middle line:90%
that stuff.

00:17:11.130 --> 00:17:13.640 align:middle line:84%
And I think that's
because over time, nobody

00:17:13.640 --> 00:17:15.619 align:middle line:90%
could read this music.

00:17:15.619 --> 00:17:17.180 align:middle line:84%
So the only reason
somebody would

00:17:17.180 --> 00:17:19.290 align:middle line:90%
keep it around is for the text.

00:17:19.290 --> 00:17:22.760 align:middle line:84%
And if you're running
a church, you already

00:17:22.760 --> 00:17:25.440 align:middle line:84%
have lots of copies of
the text of the mass.

00:17:25.440 --> 00:17:30.110 align:middle line:84%
But the song about we all went
off into the woods, each one

00:17:30.110 --> 00:17:33.666 align:middle line:84%
as a pair, and we all
came back as three,

00:17:33.666 --> 00:17:36.190 align:middle line:90%
that, people still keep around.

00:17:36.190 --> 00:17:41.850 align:middle line:84%
So those sort of body songs
have the least missing.

00:17:41.850 --> 00:17:47.640 align:middle line:84%
So it turns out that
our best estimates now

00:17:47.640 --> 00:17:54.880 align:middle line:84%
are that about 25% of
the pieces, maybe 50%.

00:17:54.880 --> 00:17:55.900 align:middle line:90%
I don't know, maybe 60.

00:17:55.900 --> 00:17:57.840 align:middle line:84%
Maybe I'm off by a
little bit, maybe

00:17:57.840 --> 00:18:00.670 align:middle line:84%
by a logarithmic order of
magnitude or something.

00:18:00.670 --> 00:18:03.390 align:middle line:84%
But we can actually
really say something

00:18:03.390 --> 00:18:07.500 align:middle line:84%
about medieval music based
on the fact that much of it

00:18:07.500 --> 00:18:09.090 align:middle line:90%
survives.

00:18:09.090 --> 00:18:11.760 align:middle line:84%
And I was very, very
scared that somehow I

00:18:11.760 --> 00:18:14.280 align:middle line:84%
had made a math error and
stuff until there was just

00:18:14.280 --> 00:18:19.030 align:middle line:84%
a math dissertation at Yale that
verified all the work and stuff.

00:18:19.030 --> 00:18:21.600 align:middle line:84%
So I'm finally,
finally not worried I'm

00:18:21.600 --> 00:18:26.470 align:middle line:84%
going to have to do a retraction
of one of my biggest papers.

00:18:26.470 --> 00:18:30.700 align:middle line:84%
So now we're going to get
back to these little scores.

00:18:30.700 --> 00:18:35.410 align:middle line:84%
And once I had convinced myself
that a good chunk of the time,

00:18:35.410 --> 00:18:38.610 align:middle line:84%
3/4 of the time or something,
we're going to be able to figure

00:18:38.610 --> 00:18:42.780 align:middle line:84%
out what music is on here
because it's going to be in some

00:18:42.780 --> 00:18:44.240 align:middle line:90%
other piece we already have.

00:18:44.240 --> 00:18:47.070 align:middle line:90%


00:18:47.070 --> 00:18:50.020 align:middle line:84%
So there's this collection
that I mostly use.

00:18:50.020 --> 00:18:52.270 align:middle line:84%
It's called Polyphonic
Music of the 14th Century,

00:18:52.270 --> 00:18:54.370 align:middle line:84%
and we have it over in
the Lewis Music Library.

00:18:54.370 --> 00:18:55.000 align:middle line:90%
It's beautiful.

00:18:55.000 --> 00:18:55.960 align:middle line:90%
It's expensive.

00:18:55.960 --> 00:18:58.450 align:middle line:84%
And come in these
gorgeous green volumes.

00:18:58.450 --> 00:19:02.470 align:middle line:84%
And there's a lot of them, all
the music from the 14th century.

00:19:02.470 --> 00:19:06.400 align:middle line:84%
It's about 20-- it's 25
volumes in this series.

00:19:06.400 --> 00:19:08.680 align:middle line:84%
And then there's been
some others since then.

00:19:08.680 --> 00:19:11.590 align:middle line:84%
So this gives you a
sense of what it is.

00:19:11.590 --> 00:19:16.367 align:middle line:90%
And now, MIT was able to--

00:19:16.367 --> 00:19:17.700 align:middle line:90%
I'm going to skip some of these.

00:19:17.700 --> 00:19:25.000 align:middle line:84%
MIT was able to help me get
some of this into a computer.

00:19:25.000 --> 00:19:26.710 align:middle line:84%
So we'll get onto
that in a little bit.

00:19:26.710 --> 00:19:29.010 align:middle line:84%
But what if you
want to do-- if you

00:19:29.010 --> 00:19:32.320 align:middle line:84%
want to find if
any of these pieces

00:19:32.320 --> 00:19:33.825 align:middle line:90%
has a match in another thing?

00:19:33.825 --> 00:19:35.200 align:middle line:84%
Because somebody
has written down

00:19:35.200 --> 00:19:37.090 align:middle line:84%
a lot of these little
fragments, or they've

00:19:37.090 --> 00:19:39.490 align:middle line:84%
put all the pieces in, and
I wanted to see not just

00:19:39.490 --> 00:19:41.240 align:middle line:84%
where any of these
little fragments there,

00:19:41.240 --> 00:19:43.450 align:middle line:84%
but at this point,
are any pieces

00:19:43.450 --> 00:19:45.970 align:middle line:84%
quoting or copying
from or plagiarizing

00:19:45.970 --> 00:19:47.900 align:middle line:90%
from anybody else's music?

00:19:47.900 --> 00:19:51.700 align:middle line:84%
So what you have to do is
you take all the songs,

00:19:51.700 --> 00:19:53.690 align:middle line:84%
and you compare
each one of them.

00:19:53.690 --> 00:19:56.990 align:middle line:84%
And by N. Sorry,
that's not enough.

00:19:56.990 --> 00:20:00.490 align:middle line:84%
We've got to zoom
out a little bit.

00:20:00.490 --> 00:20:02.660 align:middle line:90%
And there we go.

00:20:02.660 --> 00:20:04.250 align:middle line:84%
Yeah, so it's
something like that.

00:20:04.250 --> 00:20:06.615 align:middle line:84%
That's actually just
comparing each of the volumes.

00:20:06.615 --> 00:20:08.740 align:middle line:84%
We actually want to compare--
each of these volumes

00:20:08.740 --> 00:20:10.520 align:middle line:90%
has about 150 pieces.

00:20:10.520 --> 00:20:13.960 align:middle line:84%
So you have to do the square
of the number of pieces.

00:20:13.960 --> 00:20:16.040 align:middle line:84%
Divide by 2 because
it's symmetrical.

00:20:16.040 --> 00:20:18.560 align:middle line:84%
And so you have about
3.1 million comparisons.

00:20:18.560 --> 00:20:22.150 align:middle line:84%
And that's the reason why
nobody had done this before.

00:20:22.150 --> 00:20:23.510 align:middle line:90%
I'm actually really lucky.

00:20:23.510 --> 00:20:25.790 align:middle line:84%
Our best estimates,
which I don't know,

00:20:25.790 --> 00:20:32.030 align:middle line:84%
is that 14th century music is
about 10% of the size of 15th

00:20:32.030 --> 00:20:33.030 align:middle line:90%
century music.

00:20:33.030 --> 00:20:37.980 align:middle line:84%
And every successive century
is about tenfold more music.

00:20:37.980 --> 00:20:41.270 align:middle line:84%
So I have algorithms that I've
devised that I think will also

00:20:41.270 --> 00:20:42.690 align:middle line:90%
work for the 15th century.

00:20:42.690 --> 00:20:44.820 align:middle line:84%
And maybe if I ever had
a huge research budget,

00:20:44.820 --> 00:20:45.930 align:middle line:90%
I could do the 16th.

00:20:45.930 --> 00:20:48.890 align:middle line:84%
But it's going to be up
to you all to figure out

00:20:48.890 --> 00:20:50.840 align:middle line:84%
what's the algorithm
that can compare

00:20:50.840 --> 00:20:55.680 align:middle line:84%
every piece of known music to
every other piece and get that.

00:20:55.680 --> 00:20:59.850 align:middle line:84%
And that's why I care
a lot about similarity.

00:20:59.850 --> 00:21:00.350 align:middle line:90%
Sorry.

00:21:00.350 --> 00:21:01.760 align:middle line:90%
I got ahead of myself.

00:21:01.760 --> 00:21:05.990 align:middle line:84%
So the great scholar,
Anna Kathryn Grau,

00:21:05.990 --> 00:21:09.510 align:middle line:84%
created the Electronic Medieval
Music Score Archive Project,

00:21:09.510 --> 00:21:11.075 align:middle line:90%
or EMMSAP.

00:21:11.075 --> 00:21:12.450 align:middle line:84%
Slide's a little
bit out of date,

00:21:12.450 --> 00:21:15.210 align:middle line:84%
but back then, it had
about 1.3 million notes.

00:21:15.210 --> 00:21:17.330 align:middle line:90%
Now we're close to 1.8 million.

00:21:17.330 --> 00:21:20.630 align:middle line:84%
And, of course, you
know this one, right?

00:21:20.630 --> 00:21:25.400 align:middle line:84%
So what you do is you take all
the music, and you take music21.

00:21:25.400 --> 00:21:27.690 align:middle line:84%
And then it does
something like this.

00:21:27.690 --> 00:21:32.150 align:middle line:84%
And that's how it looks
when you run the matches.

00:21:32.150 --> 00:21:35.660 align:middle line:84%
Now, you all know that this
is what you do to get funding

00:21:35.660 --> 00:21:36.780 align:middle line:90%
for your project.

00:21:36.780 --> 00:21:38.940 align:middle line:84%
And that's not actually
how it works, right?

00:21:38.940 --> 00:21:40.430 align:middle line:90%
Only in CSI.

00:21:40.430 --> 00:21:42.530 align:middle line:84%
No, the way it actually
works is you go,

00:21:42.530 --> 00:21:44.597 align:middle line:84%
and you take your
scans that you've done.

00:21:44.597 --> 00:21:45.930 align:middle line:90%
And how do you get them scanned?

00:21:45.930 --> 00:21:48.860 align:middle line:84%
You spend all day putting
them on a scanner.

00:21:48.860 --> 00:21:54.530 align:middle line:84%
And then enter every one
of these pieces into mostly

00:21:54.530 --> 00:21:57.300 align:middle line:84%
MuseScore, Sibelius,
Finale, whatever it is.

00:21:57.300 --> 00:22:00.780 align:middle line:84%
And then we exported
everything as musicXML.

00:22:00.780 --> 00:22:05.420 align:middle line:84%
Some people like-- there's a
specific output for musicology

00:22:05.420 --> 00:22:09.540 align:middle line:84%
called MEI, which is pretty
similar, but I use musicXML.

00:22:09.540 --> 00:22:13.740 align:middle line:84%
And so then we have here's the
musicXML for the first three--

00:22:13.740 --> 00:22:16.940 align:middle line:84%
first four notes of
this one piece called--

00:22:16.940 --> 00:22:19.350 align:middle line:84%
sorry, I'll just go back
called "Onques Ne Fu,"

00:22:19.350 --> 00:22:24.810 align:middle line:84%
which is completely only
copy of it in the world.

00:22:24.810 --> 00:22:27.280 align:middle line:90%
Then I wrote some programs.

00:22:27.280 --> 00:22:33.120 align:middle line:84%
Python, music21, things just
to take every 31-note little

00:22:33.120 --> 00:22:33.850 align:middle line:90%
segment--

00:22:33.850 --> 00:22:36.900 align:middle line:84%
I don't know why I
ended up with 31--

00:22:36.900 --> 00:22:39.870 align:middle line:84%
and just automatically
chop it up

00:22:39.870 --> 00:22:45.010 align:middle line:84%
so that there's these
little segments, things.

00:22:45.010 --> 00:22:46.820 align:middle line:84%
And ideally, you
would chop it up

00:22:46.820 --> 00:22:50.230 align:middle line:84%
and you would slide your
window over one note at a time.

00:22:50.230 --> 00:22:52.680 align:middle line:84%
But there's a trade-off
between getting

00:22:52.680 --> 00:22:59.070 align:middle line:84%
the best similarity and also
not having your database explode

00:22:59.070 --> 00:23:01.390 align:middle line:90%
with internal quotations.

00:23:01.390 --> 00:23:05.820 align:middle line:84%
So we did this and had it
go through everything here.

00:23:05.820 --> 00:23:09.510 align:middle line:84%
And then once we had chopped
up the pieces into these little

00:23:09.510 --> 00:23:14.680 align:middle line:84%
31-note segments, then we did
what Keith was talking about,

00:23:14.680 --> 00:23:19.650 align:middle line:84%
a viewpoint or a hash or an
encoding system to try to reduce

00:23:19.650 --> 00:23:21.370 align:middle line:90%
the complexity of it.

00:23:21.370 --> 00:23:24.080 align:middle line:84%
So the complexity of
the system that I used,

00:23:24.080 --> 00:23:25.930 align:middle line:90%
you're going to laugh at.

00:23:25.930 --> 00:23:28.480 align:middle line:84%
If a note was the same
duration as the previous,

00:23:28.480 --> 00:23:30.830 align:middle line:84%
it got the ASCII letter
A, B, C, D, E, F,

00:23:30.830 --> 00:23:35.050 align:middle line:84%
G. I dropped sharps and flats
because different copies

00:23:35.050 --> 00:23:36.610 align:middle line:84%
of the same piece
in the Middle Ages

00:23:36.610 --> 00:23:38.450 align:middle line:90%
sometimes write it as B-flat.

00:23:38.450 --> 00:23:39.890 align:middle line:84%
Sometimes they
don't write a flat.

00:23:39.890 --> 00:23:41.870 align:middle line:84%
You're just supposed
to hear that.

00:23:41.870 --> 00:23:44.030 align:middle line:84%
Well, obviously there
was an augmented fourth.

00:23:44.030 --> 00:23:46.730 align:middle line:84%
I'm going to sing that flat so
they don't always put that in.

00:23:46.730 --> 00:23:48.500 align:middle line:90%
So we get rid of accidentals.

00:23:48.500 --> 00:23:52.660 align:middle line:84%
And then if the note's longer
than the previous note,

00:23:52.660 --> 00:23:55.660 align:middle line:84%
then we use H through
N. And if it's shorter,

00:23:55.660 --> 00:24:01.390 align:middle line:84%
then it's O through
U. So P is a B that is

00:24:01.390 --> 00:24:03.490 align:middle line:90%
shorter than the previous note.

00:24:03.490 --> 00:24:07.000 align:middle line:84%
You just go through and put
everything in like that.

00:24:07.000 --> 00:24:09.850 align:middle line:84%
And the first note, I always
just assume it's the same.

00:24:09.850 --> 00:24:12.310 align:middle line:84%
So we take all of
these things and put it

00:24:12.310 --> 00:24:14.200 align:middle line:90%
into a giant database.

00:24:14.200 --> 00:24:15.140 align:middle line:90%
It's not that big.

00:24:15.140 --> 00:24:19.800 align:middle line:84%
It's about 188,000 of these
little segments at that time.

00:24:19.800 --> 00:24:23.600 align:middle line:90%


00:24:23.600 --> 00:24:28.850 align:middle line:84%
And so this is the segment for
the opening of "Onques Ne Fu."

00:24:28.850 --> 00:24:31.040 align:middle line:84%
I always think it's
kind of unceremoniously

00:24:31.040 --> 00:24:34.190 align:middle line:84%
stored there, like the Ark at
the end of the Indiana Jones

00:24:34.190 --> 00:24:35.550 align:middle line:90%
film, if you've ever seen it.

00:24:35.550 --> 00:24:38.120 align:middle line:84%
You just can't really
tell where it is.

00:24:38.120 --> 00:24:42.980 align:middle line:84%
So then we have to compare every
one of these 188,000 sequences

00:24:42.980 --> 00:24:44.490 align:middle line:90%
against every other one.

00:24:44.490 --> 00:24:49.530 align:middle line:84%
So we take the first one,
the "Onques Ne Fu" melody,

00:24:49.530 --> 00:24:51.630 align:middle line:90%
and just some random other one.

00:24:51.630 --> 00:24:54.770 align:middle line:84%
And we can figure out
what are all the things we

00:24:54.770 --> 00:24:58.200 align:middle line:84%
have to do in Earth
Mover, Levinstein,

00:24:58.200 --> 00:25:00.170 align:middle line:84%
or some other distance
thing in order

00:25:00.170 --> 00:25:02.460 align:middle line:84%
to transform the first
one to the second one.

00:25:02.460 --> 00:25:05.393 align:middle line:84%
So you have to-- well, you
insert a whole bunch of things,

00:25:05.393 --> 00:25:06.810 align:middle line:84%
and then some
things are the same.

00:25:06.810 --> 00:25:07.970 align:middle line:90%
Delete, whatever.

00:25:07.970 --> 00:25:13.530 align:middle line:84%
In the end, you get a ratio from
0 to 1 of how similar they are.

00:25:13.530 --> 00:25:17.820 align:middle line:84%
I always like to store
integers in databases.

00:25:17.820 --> 00:25:19.290 align:middle line:90%
It saves a lot of space.

00:25:19.290 --> 00:25:23.090 align:middle line:84%
So I just multiplied by 10,000
so I get a number between 0

00:25:23.090 --> 00:25:24.860 align:middle line:90%
and 10,000 to store.

00:25:24.860 --> 00:25:27.510 align:middle line:90%
These ones are 17% similar.

00:25:27.510 --> 00:25:31.040 align:middle line:84%
These are actually a
surprisingly bad amount

00:25:31.040 --> 00:25:31.830 align:middle line:90%
of similarity.

00:25:31.830 --> 00:25:36.380 align:middle line:84%
Random pieces tend
to be more similar.

00:25:36.380 --> 00:25:38.520 align:middle line:90%
So this is not a match, right?

00:25:38.520 --> 00:25:42.480 align:middle line:84%
Nobody's going to say that those
two lines are the same piece.

00:25:42.480 --> 00:25:43.560 align:middle line:90%
Slightly different.

00:25:43.560 --> 00:25:45.650 align:middle line:90%
No.

00:25:45.650 --> 00:25:50.550 align:middle line:84%
But that's OK because we do
it 188,000 by 188,000 times,

00:25:50.550 --> 00:25:52.340 align:middle line:90%
or 35 billion.

00:25:52.340 --> 00:25:54.620 align:middle line:84%
Divide by 2, since
it's symmetrical.

00:25:54.620 --> 00:25:57.054 align:middle line:90%
16 billion.

00:25:57.054 --> 00:25:59.160 align:middle line:90%
18 billion, right?

00:25:59.160 --> 00:26:02.420 align:middle line:84%
But then I went through and
stored every single time

00:26:02.420 --> 00:26:06.030 align:middle line:84%
there was something that
was more than 50% similar.

00:26:06.030 --> 00:26:10.410 align:middle line:84%
So there's two IDs and the
ratio of how similar they are.

00:26:10.410 --> 00:26:15.810 align:middle line:84%
And over 50% similar ended
up with 814,000 things.

00:26:15.810 --> 00:26:17.550 align:middle line:84%
I'm never going
to look at those.

00:26:17.550 --> 00:26:18.970 align:middle line:90%
That's just way too many.

00:26:18.970 --> 00:26:22.990 align:middle line:84%
So I started going to--
at around 65% similar,

00:26:22.990 --> 00:26:24.540 align:middle line:84%
I started to
suspect these tended

00:26:24.540 --> 00:26:29.470 align:middle line:84%
to be pieces by the same
composer or quite often,

00:26:29.470 --> 00:26:31.390 align:middle line:84%
if we knew or I
suspected they would be,

00:26:31.390 --> 00:26:32.380 align:middle line:90%
or something like that.

00:26:32.380 --> 00:26:35.020 align:middle line:84%
At 70% similar,
you're like, wow.

00:26:35.020 --> 00:26:38.560 align:middle line:84%
These aren't the same piece,
but they're a lot like it.

00:26:38.560 --> 00:26:45.580 align:middle line:84%
But definitely over 80% similar,
they're always the same piece.

00:26:45.580 --> 00:26:48.490 align:middle line:84%
And how can something be the
same piece and be 20% off?

00:26:48.490 --> 00:26:51.550 align:middle line:84%
It could just be that they were
sliced at different points.

00:26:51.550 --> 00:26:54.900 align:middle line:84%
So they're the exact same
thing, but the first third

00:26:54.900 --> 00:26:58.020 align:middle line:84%
of one segment is
in some other one.

00:26:58.020 --> 00:27:02.740 align:middle line:84%
So this is what the actual
workflow looks like.

00:27:02.740 --> 00:27:04.470 align:middle line:90%
I used to use Eclipse.

00:27:04.470 --> 00:27:06.880 align:middle line:84%
And just running through
all these pieces.

00:27:06.880 --> 00:27:10.020 align:middle line:84%
And occasionally it finds
a match, and it puts it up.

00:27:10.020 --> 00:27:13.300 align:middle line:84%
And I get to see, OK,
does that look like that?

00:27:13.300 --> 00:27:16.780 align:middle line:84%
Yeah, that one kind of
looks like that one.

00:27:16.780 --> 00:27:18.740 align:middle line:84%
And sometimes we
already knew them.

00:27:18.740 --> 00:27:22.750 align:middle line:84%
The computer does not read
what pieces we already knew

00:27:22.750 --> 00:27:23.720 align:middle line:90%
were quoted.

00:27:23.720 --> 00:27:25.940 align:middle line:84%
But we ended up with
some interesting things.

00:27:25.940 --> 00:27:28.580 align:middle line:84%
This is a piece by a guy
named Johannes Ciconia.

00:27:28.580 --> 00:27:30.020 align:middle line:90%
This is unpublished yet.

00:27:30.020 --> 00:27:32.170 align:middle line:84%
Don't put it all
over everywhere.

00:27:32.170 --> 00:27:35.270 align:middle line:84%
A guy by the name
of Johannes Ciconia,

00:27:35.270 --> 00:27:37.360 align:middle line:84%
one of the most important
composers around 1400.

00:27:37.360 --> 00:27:40.420 align:middle line:84%
And one of his pieces,
it's a part of the mass,

00:27:40.420 --> 00:27:41.990 align:middle line:90%
patrem omnipotentem.

00:27:41.990 --> 00:27:45.130 align:middle line:84%
And it turns out that
a big chunk of it

00:27:45.130 --> 00:27:49.645 align:middle line:90%
was taken from an unknown--

00:27:49.645 --> 00:27:53.660 align:middle line:84%
an anonymous, never recorded
by anybody, German song.

00:27:53.660 --> 00:27:57.160 align:middle line:90%
[SINGING IN LATIN]

00:27:57.160 --> 00:27:58.330 align:middle line:90%
Let me see if I can do the--

00:27:58.330 --> 00:28:01.060 align:middle line:90%


00:28:01.060 --> 00:28:02.905 align:middle line:84%
Here we are, if
you've never read it.

00:28:02.905 --> 00:28:05.056 align:middle line:90%
[SINGING IN LATIN]

00:28:05.056 --> 00:28:16.270 align:middle line:90%


00:28:16.270 --> 00:28:20.770 align:middle line:84%
So we can find that there was
a lot more copying than we ever

00:28:20.770 --> 00:28:21.850 align:middle line:90%
expected.

00:28:21.850 --> 00:28:23.150 align:middle line:90%
This is one of my favorites.

00:28:23.150 --> 00:28:25.640 align:middle line:84%
Here's a French piece,
an Italian piece.

00:28:25.640 --> 00:28:28.210 align:middle line:84%
Nobody ever suspected they
had anything in common

00:28:28.210 --> 00:28:29.017 align:middle line:90%
because whoever--

00:28:29.017 --> 00:28:30.850 align:middle line:84%
and I don't know which
direction the copying

00:28:30.850 --> 00:28:33.760 align:middle line:84%
happened-- whoever did the
copying did a good chance

00:28:33.760 --> 00:28:35.240 align:middle line:90%
of covering their tracks.

00:28:35.240 --> 00:28:38.690 align:middle line:84%
The colored parts
represent the same music.

00:28:38.690 --> 00:28:43.580 align:middle line:84%
And then down here, stole
something from up there.

00:28:43.580 --> 00:28:45.940 align:middle line:84%
And then up here,
we stole something

00:28:45.940 --> 00:28:47.690 align:middle line:90%
from over there, and so on.

00:28:47.690 --> 00:28:52.480 align:middle line:84%
So it's just two that are
pastiches of each other.

00:28:52.480 --> 00:28:54.740 align:middle line:84%
And then if this were
a musicology class,

00:28:54.740 --> 00:28:57.820 align:middle line:84%
people would actually care
about which one this--

00:28:57.820 --> 00:28:59.510 align:middle line:90%
what all these other things.

00:28:59.510 --> 00:29:03.820 align:middle line:84%
But eventually, we got to start
reading these erased pieces

00:29:03.820 --> 00:29:06.800 align:middle line:84%
and figuring out
where they came from.

00:29:06.800 --> 00:29:13.030 align:middle line:84%
So that's the big reason
why I created music21

00:29:13.030 --> 00:29:16.700 align:middle line:84%
and why you will find that there
are lots of weird little things

00:29:16.700 --> 00:29:22.130 align:middle line:84%
that are only useful for music,
for medieval music, hidden

00:29:22.130 --> 00:29:27.470 align:middle line:84%
around deep inside the
various libraries and stuff.

00:29:27.470 --> 00:29:31.730 align:middle line:84%
So that's what I do when I'm not
enjoying being in your company.

00:29:31.730 --> 00:29:34.520 align:middle line:90%
Any questions?

00:29:34.520 --> 00:29:36.100 align:middle line:84%
Or anything you
want to see again?

00:29:36.100 --> 00:29:41.720 align:middle line:90%


00:29:41.720 --> 00:29:43.640 align:middle line:90%
There are, by the way--

00:29:43.640 --> 00:29:47.480 align:middle line:84%
lots of places do
want historians

00:29:47.480 --> 00:29:48.750 align:middle line:90%
who can do this type of work.

00:29:48.750 --> 00:29:51.840 align:middle line:84%
So if you're all interested,
humanities in general.

00:29:51.840 --> 00:29:54.540 align:middle line:84%
But you're like, but I also
want to program and stuff.

00:29:54.540 --> 00:29:56.340 align:middle line:84%
People are dying for
things like that.

00:29:56.340 --> 00:29:57.260 align:middle line:90%
Yeah?

00:29:57.260 --> 00:30:02.240 align:middle line:84%
AUDIENCE: So what made you
want to expand music21?

00:30:02.240 --> 00:30:04.290 align:middle line:84%
MICHAEL CUTHBERT: You
all, your predecessors,

00:30:04.290 --> 00:30:08.010 align:middle line:84%
people from about 10, 15 years
before you from here at MIT.

00:30:08.010 --> 00:30:11.880 align:middle line:84%
It just felt like,
people wanted to do

00:30:11.880 --> 00:30:15.150 align:middle line:84%
interesting things with
composition, with analysis.

00:30:15.150 --> 00:30:21.450 align:middle line:84%
Everybody wanted to solve their
first-year theory homework

00:30:21.450 --> 00:30:22.770 align:middle line:90%
by computer.

00:30:22.770 --> 00:30:23.680 align:middle line:90%
And why not?

00:30:23.680 --> 00:30:25.570 align:middle line:84%
If you can program
the computer to do it

00:30:25.570 --> 00:30:28.865 align:middle line:84%
and it's not a
complete black box AI,

00:30:28.865 --> 00:30:30.240 align:middle line:84%
you're probably
teaching yourself

00:30:30.240 --> 00:30:32.260 align:middle line:90%
how to do it better also.

00:30:32.260 --> 00:30:34.390 align:middle line:90%
So it was things like that.

00:30:34.390 --> 00:30:38.430 align:middle line:84%
And over time, I've taken out a
lot of the most egregious that

00:30:38.430 --> 00:30:44.160 align:middle line:84%
only a person working on 14th
century Italy would want to do

00:30:44.160 --> 00:30:46.180 align:middle line:84%
this and put this in
a separate project.

00:30:46.180 --> 00:30:49.170 align:middle line:84%
So there's no longer an
automatic "change medieval

00:30:49.170 --> 00:30:51.820 align:middle line:84%
notation into modern
notation" tool.

00:30:51.820 --> 00:30:53.680 align:middle line:84%
You have to install
that separately.

00:30:53.680 --> 00:30:58.140 align:middle line:84%
But yeah, it's just felt like
I was having too much fun.

00:30:58.140 --> 00:31:00.100 align:middle line:84%
And other people
wanted to share in it,

00:31:00.100 --> 00:31:03.190 align:middle line:84%
and that meant eventually
docs would have to happen.

00:31:03.190 --> 00:31:06.540 align:middle line:84%
And then a very generous
funding organization

00:31:06.540 --> 00:31:09.690 align:middle line:84%
called The Seaver
Institute selected music21

00:31:09.690 --> 00:31:14.620 align:middle line:84%
to be MIT's representative
project for their funding

00:31:14.620 --> 00:31:16.160 align:middle line:90%
organization for three years.

00:31:16.160 --> 00:31:20.140 align:middle line:84%
And that allowed me to do a
little bit more than one person

00:31:20.140 --> 00:31:22.070 align:middle line:90%
can do at their desk.

00:31:22.070 --> 00:31:25.060 align:middle line:84%
And now the thing that helps
me do more than one person can

00:31:25.060 --> 00:31:27.550 align:middle line:84%
do at the desk is
community of a lot

00:31:27.550 --> 00:31:32.180 align:middle line:84%
of people who keep adding to it
and doing cool things with it.

00:31:32.180 --> 00:31:34.660 align:middle line:90%
So thanks.

00:31:34.660 --> 00:31:36.670 align:middle line:90%
Other Qs?

00:31:36.670 --> 00:31:38.440 align:middle line:84%
AUDIENCE: Why is
it called music21?

00:31:38.440 --> 00:31:40.405 align:middle line:90%
MICHAEL CUTHBERT: Course 21M.

00:31:40.405 --> 00:31:44.560 align:middle line:84%
I wanted something
that connected itself

00:31:44.560 --> 00:31:49.000 align:middle line:84%
to MIT in some way
but wasn't MIT music

00:31:49.000 --> 00:31:52.730 align:middle line:84%
because your trademark office
would probably get against me.

00:31:52.730 --> 00:31:55.670 align:middle line:84%
And also, I was a second-year
professor without tenure,

00:31:55.670 --> 00:31:57.850 align:middle line:84%
so I might have been
denied tenure and needed

00:31:57.850 --> 00:32:01.100 align:middle line:84%
to be able to take it with
me if I went someplace else.

00:32:01.100 --> 00:32:03.440 align:middle line:84%
And then somebody
later was like oh,

00:32:03.440 --> 00:32:04.940 align:middle line:84%
it's the thing for
the 21st century?

00:32:04.940 --> 00:32:09.050 align:middle line:84%
I said, I actually never
thought of that connotation.

00:32:09.050 --> 00:32:11.770 align:middle line:84%
If I had, there's no way I would
have called it 21 because that

00:32:11.770 --> 00:32:18.003 align:middle line:84%
sounds very A, arrogant, and
B, a little obsolete in 2006,

00:32:18.003 --> 00:32:19.670 align:middle line:84%
when you're already
in the 21st century.

00:32:19.670 --> 00:32:21.980 align:middle line:84%
It's perfect for
1980 or something.

00:32:21.980 --> 00:32:23.560 align:middle line:90%
Yeah.

00:32:23.560 --> 00:32:25.660 align:middle line:84%
AUDIENCE: What was it
called before music21?

00:32:25.660 --> 00:32:29.620 align:middle line:84%
MICHAEL CUTHBERT: It was called
PMusic first for Perl music

00:32:29.620 --> 00:32:30.980 align:middle line:90%
when I was writing it in Perl.

00:32:30.980 --> 00:32:32.980 align:middle line:90%
And then the fact--

00:32:32.980 --> 00:32:36.730 align:middle line:84%
then as soon as the
Intro to CS class

00:32:36.730 --> 00:32:40.010 align:middle line:84%
switched from your older
language scheme to Python,

00:32:40.010 --> 00:32:41.740 align:middle line:84%
I was like, well,
if all of MIT is

00:32:41.740 --> 00:32:44.480 align:middle line:84%
going to move to a new
language at the same time,

00:32:44.480 --> 00:32:49.060 align:middle line:84%
then it'll be easier for
me to learn a new language

00:32:49.060 --> 00:32:52.510 align:middle line:84%
than to have the rest of my
life teach my students how to

00:32:52.510 --> 00:32:53.990 align:middle line:90%
program in Perl.

00:32:53.990 --> 00:32:56.950 align:middle line:90%
And I'm very glad I did.

00:32:56.950 --> 00:33:01.310 align:middle line:84%
The other thing is the
work on it began in 2004.

00:33:01.310 --> 00:33:04.490 align:middle line:84%
The work really
began around 2006.

00:33:04.490 --> 00:33:08.720 align:middle line:84%
And at the time, I predicted
that it would have a 20-year

00:33:08.720 --> 00:33:16.640 align:middle line:84%
lifespan, that it would be five
or six years of getting people

00:33:16.640 --> 00:33:21.080 align:middle line:84%
to notice it and start using it,
seven or eight years of it being

00:33:21.080 --> 00:33:25.490 align:middle line:84%
the main thing out there,
and five to seven years

00:33:25.490 --> 00:33:28.780 align:middle line:84%
of the decline while something
else better came out.

00:33:28.780 --> 00:33:30.780 align:middle line:84%
And I'm still looking for
that something better.

00:33:30.780 --> 00:33:33.840 align:middle line:90%
You guys can do that.

00:33:33.840 --> 00:33:36.920 align:middle line:84%
There are things we've
learned from using it

00:33:36.920 --> 00:33:41.030 align:middle line:84%
that I think have made
me realize that there are

00:33:41.030 --> 00:33:44.660 align:middle line:84%
some pretty poor design
decisions, such as having

00:33:44.660 --> 00:33:47.880 align:middle line:84%
to copy everything all the
time and things like that.

00:33:47.880 --> 00:33:54.080 align:middle line:84%
And so I'd really love it if
somebody else would create

00:33:54.080 --> 00:33:55.800 align:middle line:90%
something new and better.

00:33:55.800 --> 00:33:58.770 align:middle line:84%
So whoever's here
or watching it,

00:33:58.770 --> 00:34:03.295 align:middle line:84%
you have my blessing to try
to knock this off its shelf.

00:34:03.295 --> 00:34:04.670 align:middle line:84%
And maybe the new
thing will have

00:34:04.670 --> 00:34:06.840 align:middle line:84%
a lot of machine
learning built in

00:34:06.840 --> 00:34:10.179 align:middle line:84%
or something to be able
to do better analysis.

00:34:10.179 --> 00:34:11.489 align:middle line:90%
Yeah.

00:34:11.489 --> 00:34:14.699 align:middle line:84%
But Python has been
enduring a lot longer

00:34:14.699 --> 00:34:16.389 align:middle line:90%
than I thought it would be.

00:34:16.389 --> 00:34:21.429 align:middle line:84%
It's been 15 years
as a major language,

00:34:21.429 --> 00:34:22.989 align:middle line:84%
and it seems to
be still growing,

00:34:22.989 --> 00:34:25.560 align:middle line:90%
so that probably will stop.

00:34:25.560 --> 00:34:26.620 align:middle line:90%
AUDIENCE: Julia is next.

00:34:26.620 --> 00:34:28.102 align:middle line:90%
MICHAEL CUTHBERT: Julia is next.

00:34:28.102 --> 00:34:30.060 align:middle line:84%
People have been saying
that about Julia and R.

00:34:30.060 --> 00:34:33.280 align:middle line:84%
There is a Julia port of
music21, if you'd like that.

00:34:33.280 --> 00:34:35.620 align:middle line:90%
I don't know how good it works.

00:34:35.620 --> 00:34:38.490 align:middle line:90%
So that's a perfect transition.

00:34:38.490 --> 00:34:40.929 align:middle line:84%
We can keep going more
to a second topic.

00:34:40.929 --> 00:34:43.210 align:middle line:84%
So this one, get
out your laptops.

00:34:43.210 --> 00:34:44.460 align:middle line:90%
We're going to have--

00:34:44.460 --> 00:34:50.159 align:middle line:84%
because I couldn't have scripted
a better transition to--

00:34:50.159 --> 00:34:52.449 align:middle line:90%
OK, so now more grab bag.

00:34:52.449 --> 00:34:54.600 align:middle line:84%
And these are more requested
from previous years

00:34:54.600 --> 00:34:55.420 align:middle line:90%
than anything.

00:34:55.420 --> 00:34:55.920 align:middle line:90%
Sorry.

00:34:55.920 --> 00:34:57.503 align:middle line:90%
I can't stand all that dust.

00:34:57.503 --> 00:35:00.220 align:middle line:90%


00:35:00.220 --> 00:35:00.720 align:middle line:90%
Oops.

00:35:00.720 --> 00:35:02.830 align:middle line:84%
Did pushing all
this shut it down?

00:35:02.830 --> 00:35:03.780 align:middle line:90%
No.

00:35:03.780 --> 00:35:06.060 align:middle line:90%
Here we go.

00:35:06.060 --> 00:35:07.590 align:middle line:90%
OK.

00:35:07.590 --> 00:35:09.010 align:middle line:90%
So here are some of the things.

00:35:09.010 --> 00:35:14.620 align:middle line:84%
Go ahead and go to
this website, m21sand2.

00:35:14.620 --> 00:35:18.630 align:middle line:84%
If you leave off the 2, you get
to use a three-year-old version

00:35:18.630 --> 00:35:20.370 align:middle line:90%
of this.

00:35:20.370 --> 00:35:23.430 align:middle line:84%
You should be seeing something
that looks a bit like this

00:35:23.430 --> 00:35:26.190 align:middle line:90%
when you get there.

00:35:26.190 --> 00:35:31.020 align:middle line:90%
21m-- 21-- m21sand2.

00:35:31.020 --> 00:35:33.480 align:middle line:90%
m21sand2.

00:35:33.480 --> 00:35:37.985 align:middle line:84%
sand Sandbox, the place
where you play around.

00:35:37.985 --> 00:35:44.070 align:middle line:90%


00:35:44.070 --> 00:35:48.300 align:middle line:84%
So the thing I've always
hated most about music21

00:35:48.300 --> 00:35:52.230 align:middle line:90%
is that you can't see anything.

00:35:52.230 --> 00:35:53.070 align:middle line:90%
There's two things.

00:35:53.070 --> 00:35:54.250 align:middle line:90%
You can't see anything.

00:35:54.250 --> 00:35:56.865 align:middle line:90%
You can't hear anything unless--

00:35:56.865 --> 00:35:59.702 align:middle line:84%
we didn't even have Jupyter
notebooks or something back

00:35:59.702 --> 00:36:00.910 align:middle line:90%
then, so we didn't have that.

00:36:00.910 --> 00:36:03.490 align:middle line:84%
And number three, it's
so hard to install.

00:36:03.490 --> 00:36:05.060 align:middle line:84%
That's getting
easier, but still.

00:36:05.060 --> 00:36:06.580 align:middle line:84%
So I thought that
something where

00:36:06.580 --> 00:36:10.070 align:middle line:84%
people can start playing with it
immediately online would work.

00:36:10.070 --> 00:36:15.570 align:middle line:84%
And so I've been working in
parallel for the past five

00:36:15.570 --> 00:36:21.080 align:middle line:84%
or six years, there's a
TypeScript or JavaScript port.

00:36:21.080 --> 00:36:25.090 align:middle line:84%
Who has done JavaScript
here in some ways?

00:36:25.090 --> 00:36:27.110 align:middle line:90%
OK, a little bit more than half.

00:36:27.110 --> 00:36:31.000 align:middle line:84%
So the big difference if
you're new to JavaScript

00:36:31.000 --> 00:36:34.120 align:middle line:84%
is that you're going to put
new in front of any time you

00:36:34.120 --> 00:36:36.080 align:middle line:90%
want to instantiate something.

00:36:36.080 --> 00:36:38.830 align:middle line:84%
And I've imported
music21 without importing

00:36:38.830 --> 00:36:40.160 align:middle line:90%
all of the things.

00:36:40.160 --> 00:36:44.200 align:middle line:84%
So you're going to have
to type that quite a bit.

00:36:44.200 --> 00:36:49.000 align:middle line:84%
But what's kind of nice is you
can go through and change a note

00:36:49.000 --> 00:36:53.720 align:middle line:84%
and immediately see the
stream there, or octave,

00:36:53.720 --> 00:36:55.577 align:middle line:84%
things like that, or
put everything down.

00:36:55.577 --> 00:36:57.410 align:middle line:84%
What happens if we put
everything down here?

00:36:57.410 --> 00:36:59.470 align:middle line:84%
Doesn't it automatically
give me the good clef?

00:36:59.470 --> 00:37:00.340 align:middle line:90%
No.

00:37:00.340 --> 00:37:01.290 align:middle line:90%
Did I put it in?

00:37:01.290 --> 00:37:03.690 align:middle line:84%
OK, well, we can put
in a proper clef.

00:37:03.690 --> 00:37:04.190 align:middle line:90%
s.

00:37:04.190 --> 00:37:09.060 align:middle line:84%
So we'll append to the stream
a new music21.clef.BassClef.

00:37:09.060 --> 00:37:13.190 align:middle line:90%


00:37:13.190 --> 00:37:15.120 align:middle line:84%
And now we can see
our notes again.

00:37:15.120 --> 00:37:19.833 align:middle line:84%
And by default, if you
click the thing by default--

00:37:19.833 --> 00:37:26.747 align:middle line:90%


00:37:26.747 --> 00:37:28.190 align:middle line:90%
[NOTES PLAYING]

00:37:28.190 --> 00:37:28.860 align:middle line:90%
There we go.

00:37:28.860 --> 00:37:31.740 align:middle line:84%
OK, well, I've lost all my
changes, but you can see.

00:37:31.740 --> 00:37:33.950 align:middle line:84%
And so some of the
things you can do

00:37:33.950 --> 00:37:36.530 align:middle line:84%
is create interactive
little systems

00:37:36.530 --> 00:37:38.720 align:middle line:84%
where you're scrolling
things up and down, where

00:37:38.720 --> 00:37:40.890 align:middle line:90%
you're hearing everything.

00:37:40.890 --> 00:37:43.950 align:middle line:84%
But it's still absolutely
a work in progress.

00:37:43.950 --> 00:37:51.270 align:middle line:84%
So if you do analyze key, you
get analyze is not a function.

00:37:51.270 --> 00:37:55.020 align:middle line:84%
So there's still a lot
of things missing there.

00:37:55.020 --> 00:37:58.100 align:middle line:84%
But there's something really
nice to being able to manipulate

00:37:58.100 --> 00:38:00.380 align:middle line:90%
with scores in a browser.

00:38:00.380 --> 00:38:03.380 align:middle line:84%
The alternatives that
people are doing right now

00:38:03.380 --> 00:38:08.672 align:middle line:84%
tend to be about actually using
HTML elements to represent

00:38:08.672 --> 00:38:10.380 align:middle line:84%
notes, now that you
have custom elements.

00:38:10.380 --> 00:38:12.500 align:middle line:84%
And that lets you
use your browser's

00:38:12.500 --> 00:38:16.400 align:middle line:84%
built-in getElementsByClass
and all these things

00:38:16.400 --> 00:38:18.030 align:middle line:90%
to move around a score.

00:38:18.030 --> 00:38:22.170 align:middle line:84%
And in theory, it should be
substantially faster than this,

00:38:22.170 --> 00:38:25.250 align:middle line:90%
or at least more powerful.

00:38:25.250 --> 00:38:27.020 align:middle line:84%
I don't know if
anybody wants to--

00:38:27.020 --> 00:38:30.780 align:middle line:84%
you can play around with any
of this for a little bit.

00:38:30.780 --> 00:38:35.240 align:middle line:84%
You can make this
a dotted quarter.

00:38:35.240 --> 00:38:39.635 align:middle line:84%
What I hate is
duration.dots equals 1.

00:38:39.635 --> 00:38:41.510 align:middle line:84%
And nothing's going to
happen until I get rid

00:38:41.510 --> 00:38:43.680 align:middle line:90%
of this analyze thing here.

00:38:43.680 --> 00:38:44.180 align:middle line:90%
Yep.

00:38:44.180 --> 00:38:45.380 align:middle line:90%
Play it around.

00:38:45.380 --> 00:38:49.860 align:middle line:90%
Give it a 7/8 time signature.

00:38:49.860 --> 00:38:54.210 align:middle line:90%
And then-- here let's do this.

00:38:54.210 --> 00:38:59.470 align:middle line:84%
Let's create p
equals stream.Part.

00:38:59.470 --> 00:39:00.120 align:middle line:90%
Oops.

00:39:00.120 --> 00:39:03.960 align:middle line:84%
I'm totally-- just being
in this class with you

00:39:03.960 --> 00:39:07.772 align:middle line:84%
all, I can't not
be in Python mode.

00:39:07.772 --> 00:39:10.230 align:middle line:84%
So I'm just going to keep typing
Python and then correcting

00:39:10.230 --> 00:39:12.220 align:middle line:90%
it to JavaScript until it runs.

00:39:12.220 --> 00:39:19.860 align:middle line:84%
But we can do something
like for let i equals 0,

00:39:19.860 --> 00:39:24.340 align:middle line:90%
i is less than 4, i plus plus.

00:39:24.340 --> 00:39:27.903 align:middle line:84%
And then-- oh, this
pains me as a Python--

00:39:27.903 --> 00:39:30.810 align:middle line:90%


00:39:30.810 --> 00:39:33.850 align:middle line:84%
as a Python person to
not have indented code.

00:39:33.850 --> 00:39:38.940 align:middle line:84%
But actually do we
have to call that?

00:39:38.940 --> 00:39:40.710 align:middle line:90%
We have to call that Measure.

00:39:40.710 --> 00:39:45.030 align:middle line:84%
Music21j is a lot more
strict about such things.

00:39:45.030 --> 00:39:51.300 align:middle line:90%
Did I-- Hmm.

00:39:51.300 --> 00:39:53.910 align:middle line:90%
What did I do wrong?

00:39:53.910 --> 00:39:55.690 align:middle line:84%
It's so hard to tell
without indentations.

00:39:55.690 --> 00:40:00.255 align:middle line:84%
But this editor doesn't allow
me to hit Tab to indent things.

00:40:00.255 --> 00:40:07.150 align:middle line:90%


00:40:07.150 --> 00:40:09.040 align:middle line:90%
Always make your life easier.

00:40:09.040 --> 00:40:12.420 align:middle line:84%
Get rid of that so you can
see everything on one page.

00:40:12.420 --> 00:40:17.318 align:middle line:90%


00:40:17.318 --> 00:40:18.860 align:middle line:84%
Anybody know what
I'm mistyping here?

00:40:18.860 --> 00:40:22.450 align:middle line:84%
I have a fully baked
version over here somewhere

00:40:22.450 --> 00:40:23.610 align:middle line:90%
on another tab.

00:40:23.610 --> 00:40:26.590 align:middle line:90%


00:40:26.590 --> 00:40:29.710 align:middle line:84%
Here, we'll go over to the fully
baked one that already works

00:40:29.710 --> 00:40:33.800 align:middle line:90%
so you can play around with it.

00:40:33.800 --> 00:40:40.850 align:middle line:84%
Just saying first note of each
measure will be a random number.

00:40:40.850 --> 00:40:44.510 align:middle line:84%
And as we go through,
we'll just change them.

00:40:44.510 --> 00:40:48.460 align:middle line:84%
And if I make any changes
here, it will automatically

00:40:48.460 --> 00:40:51.310 align:middle line:90%
give me a new random number.

00:40:51.310 --> 00:40:53.020 align:middle line:90%
I thought I had it.

00:40:53.020 --> 00:40:55.220 align:middle line:90%
Oh, this.

00:40:55.220 --> 00:40:58.400 align:middle line:84%
OK, I think I have
to copy and paste.

00:40:58.400 --> 00:41:00.235 align:middle line:90%
What I think happens is--

00:41:00.235 --> 00:41:02.840 align:middle line:90%


00:41:02.840 --> 00:41:03.930 align:middle line:90%
there we go.

00:41:03.930 --> 00:41:06.470 align:middle line:90%
[MUSIC PLAYING]

00:41:06.470 --> 00:41:08.820 align:middle line:90%
You can do overlapping things.

00:41:08.820 --> 00:41:11.700 align:middle line:90%
[MUSIC PLAYING]

00:41:11.700 --> 00:41:18.920 align:middle line:90%


00:41:18.920 --> 00:41:22.100 align:middle line:84%
Anyhow, so it can be kind of fun
for a live coding environment

00:41:22.100 --> 00:41:24.940 align:middle line:84%
if you don't care about the
quality of the music coming.

00:41:24.940 --> 00:41:26.940 align:middle line:84%
If you don't care about
the quality of the sound

00:41:26.940 --> 00:41:30.150 align:middle line:84%
because it's not really
optimized for sound quality,

00:41:30.150 --> 00:41:34.460 align:middle line:84%
but you could put it out
through other things.

00:41:34.460 --> 00:41:38.150 align:middle line:84%
Let's grab bag topic number
one, how to do interactive--

00:41:38.150 --> 00:41:39.960 align:middle line:84%
how to do interactive
programming.

00:41:39.960 --> 00:41:41.810 align:middle line:90%
So if you can do everything--

00:41:41.810 --> 00:41:42.630 align:middle line:90%
sorry, John.

00:41:42.630 --> 00:41:44.767 align:middle line:84%
You just came back in,
and I'm going to just say,

00:41:44.767 --> 00:41:45.600 align:middle line:90%
you're the only one.

00:41:45.600 --> 00:41:48.530 align:middle line:84%
Has anyone else taken
Interactive Music Systems?

00:41:48.530 --> 00:41:49.160 align:middle line:90%
Oh, you are?

00:41:49.160 --> 00:41:49.660 align:middle line:90%
OK.

00:41:49.660 --> 00:41:52.820 align:middle line:84%
So you have-- yeah, so you
can put everything into--

00:41:52.820 --> 00:41:56.010 align:middle line:84%
you guys usually use Kivy,
right, as your toolkit?

00:41:56.010 --> 00:41:59.000 align:middle line:84%
So you know there are things you
can do on the Python side that

00:41:59.000 --> 00:42:02.630 align:middle line:84%
connect up music21 to
things to get better

00:42:02.630 --> 00:42:05.040 align:middle line:90%
sounding interactive things.

00:42:05.040 --> 00:42:08.960 align:middle line:84%
But I often find sometimes
just the easiest little thing

00:42:08.960 --> 00:42:10.730 align:middle line:90%
can be all you need.

00:42:10.730 --> 00:42:11.700 align:middle line:90%
OK.

00:42:11.700 --> 00:42:13.970 align:middle line:84%
I'm going to close these
things because otherwise it

00:42:13.970 --> 00:42:16.280 align:middle line:84%
will eventually just
start playing again.

00:42:16.280 --> 00:42:19.860 align:middle line:84%
And we've just enough time for,
I think, for one more topic,

00:42:19.860 --> 00:42:22.220 align:middle line:84%
and then I might
finally keep my promise

00:42:22.220 --> 00:42:25.880 align:middle line:84%
and let you all go a
little bit earlier.

00:42:25.880 --> 00:42:28.640 align:middle line:84%
OK, so the last thing I want
to talk about a little bit

00:42:28.640 --> 00:42:30.420 align:middle line:90%
is music visualization.

00:42:30.420 --> 00:42:33.380 align:middle line:84%
And we're going to listen
to a piece of music

00:42:33.380 --> 00:42:36.890 align:middle line:84%
by a contemporary Estonian
composer, Arvo Part.

00:42:36.890 --> 00:42:39.650 align:middle line:84%
And I'm going to
ask you afterwards

00:42:39.650 --> 00:42:43.220 align:middle line:84%
to say something about
the structure or the form

00:42:43.220 --> 00:42:45.270 align:middle line:84%
of this piece and how
it works musically.

00:42:45.270 --> 00:42:48.780 align:middle line:84%
First, it's a piece for
choir, and so it has a text.

00:42:48.780 --> 00:42:51.810 align:middle line:84%
It's actually high,
high medieval today.

00:42:51.810 --> 00:42:54.130 align:middle line:90%
It's based on a Gregorian chant.

00:42:54.130 --> 00:42:56.310 align:middle line:90%
It's sung in German translation.

00:42:56.310 --> 00:42:57.856 align:middle line:90%
[SPEAKING GERMAN]

00:42:57.856 --> 00:43:07.840 align:middle line:90%


00:43:07.840 --> 00:43:11.470 align:middle line:84%
And the German texts can be
slightly important for that.

00:43:11.470 --> 00:43:15.828 align:middle line:84%
So it's about a two-minute
piece and wrong time

00:43:15.828 --> 00:43:16.870 align:middle line:90%
of the year for doing it.

00:43:16.870 --> 00:43:21.330 align:middle line:90%
But with that, here we go.

00:43:21.330 --> 00:43:23.934 align:middle line:90%
[MUSIC PLAYING]

00:43:23.934 --> 00:43:52.480 align:middle line:90%


00:43:52.480 --> 00:43:59.800 align:middle line:84%
1988, I think, was
one of my favorites.

00:43:59.800 --> 00:44:03.020 align:middle line:84%
Anybody catch anything
about the structure?

00:44:03.020 --> 00:44:07.730 align:middle line:84%
You have seen the entire
score, every single note.

00:44:07.730 --> 00:44:12.560 align:middle line:90%
So we can get something.

00:44:12.560 --> 00:44:13.060 align:middle line:90%
Yeah?

00:44:13.060 --> 00:44:15.265 align:middle line:84%
AUDIENCE: The measures always
switch between 1/2 and 3/2.

00:44:15.265 --> 00:44:17.598 align:middle line:84%
MICHAEL CUTHBERT: The measures
always switch between 1/2

00:44:17.598 --> 00:44:18.850 align:middle line:90%
and 3/2, 1/2 and 3/2.

00:44:18.850 --> 00:44:24.610 align:middle line:90%


00:44:24.610 --> 00:44:29.252 align:middle line:84%
How many sections
did the piece have?

00:44:29.252 --> 00:44:30.100 align:middle line:90%
Yeah?

00:44:30.100 --> 00:44:31.430 align:middle line:90%
AUDIENCE: Into three.

00:44:31.430 --> 00:44:32.560 align:middle line:90%
MICHAEL CUTHBERT: Sure.

00:44:32.560 --> 00:44:33.220 align:middle line:90%
Nice.

00:44:33.220 --> 00:44:34.220 align:middle line:90%
That's actually correct.

00:44:34.220 --> 00:44:35.480 align:middle line:90%
How many people knew that?

00:44:35.480 --> 00:44:38.330 align:middle line:84%
And how many people were like
me when they heard this once,

00:44:38.330 --> 00:44:43.070 align:middle line:84%
twice, three times, and didn't
fully catch the structure?

00:44:43.070 --> 00:44:44.025 align:middle line:90%
I was-- yeah, yeah.

00:44:44.025 --> 00:44:46.900 align:middle line:90%


00:44:46.900 --> 00:44:48.460 align:middle line:90%
Fantastic, fantastic.

00:44:48.460 --> 00:44:51.020 align:middle line:84%
Usually-- so yeah,
there's some things.

00:44:51.020 --> 00:44:54.250 align:middle line:90%
And what voice is most--

00:44:54.250 --> 00:44:58.190 align:middle line:84%
what two voices were
most melodically active?

00:44:58.190 --> 00:44:58.690 align:middle line:90%
Yeah?

00:44:58.690 --> 00:45:00.670 align:middle line:90%
AUDIENCE: Middle two, I think?

00:45:00.670 --> 00:45:02.030 align:middle line:90%
MICHAEL CUTHBERT: Good ear.

00:45:02.030 --> 00:45:04.300 align:middle line:90%
Good ear.

00:45:04.300 --> 00:45:06.130 align:middle line:90%
Y'all are really getting--

00:45:06.130 --> 00:45:08.440 align:middle line:84%
we should have been doing
more music analysis in class

00:45:08.440 --> 00:45:10.648 align:middle line:84%
because you're getting a
lot of things I thought were

00:45:10.648 --> 00:45:11.870 align:middle line:90%
going to be extremely hard.

00:45:11.870 --> 00:45:15.830 align:middle line:84%
And at least throughout the
room, we've had correct answers.

00:45:15.830 --> 00:45:20.900 align:middle line:84%
But I want to spend a little bit
of time on music visualization.

00:45:20.900 --> 00:45:22.900 align:middle line:90%
By the way, there are a few--

00:45:22.900 --> 00:45:27.190 align:middle line:84%
out of almost exactly,
there is one measure of 5/2.

00:45:27.190 --> 00:45:30.680 align:middle line:84%
But yeah, there's a couple
other things, but yep.

00:45:30.680 --> 00:45:32.750 align:middle line:90%
So are we up there?

00:45:32.750 --> 00:45:33.250 align:middle line:90%
Yeah.

00:45:33.250 --> 00:45:35.020 align:middle line:90%
Go ahead and download.

00:45:35.020 --> 00:45:41.720 align:middle line:84%
There is the XML file, musicXML
file, of this piece on Canvas.

00:45:41.720 --> 00:45:43.100 align:middle line:90%
And take a minute.

00:45:43.100 --> 00:45:45.070 align:middle line:84%
It's under copyright,
but I'm going

00:45:45.070 --> 00:45:47.570 align:middle line:84%
to assert a claim
of fair use for us

00:45:47.570 --> 00:45:51.680 align:middle line:90%
to be able to analyze with it.

00:45:51.680 --> 00:45:55.260 align:middle line:84%
Should show you just the first
page if you're in Jupyter,

00:45:55.260 --> 00:45:58.345 align:middle line:84%
and more than that
if you're not.

00:45:58.345 --> 00:46:05.870 align:middle line:90%


00:46:05.870 --> 00:46:13.890 align:middle line:84%
So some of these things might
be helpful for what we're doing.

00:46:13.890 --> 00:46:16.620 align:middle line:90%
So a little bit more.

00:46:16.620 --> 00:46:23.096 align:middle line:84%
We're going to be going through
the various ways of visualizing.

00:46:23.096 --> 00:46:33.200 align:middle line:90%


00:46:33.200 --> 00:46:35.330 align:middle line:84%
I don't think we've
maybe I've done

00:46:35.330 --> 00:46:38.600 align:middle line:84%
a tiny bit of visualization,
but mostly just on slides.

00:46:38.600 --> 00:46:39.823 align:middle line:90%
I don't think I've shown--

00:46:39.823 --> 00:46:43.400 align:middle line:90%


00:46:43.400 --> 00:46:45.580 align:middle line:84%
are we feeling in a good
place to move on now?

00:46:45.580 --> 00:46:46.879 align:middle line:90%
OK.

00:46:46.879 --> 00:46:53.230 align:middle line:84%
So we can do all the things
that we normally would do.

00:46:53.230 --> 00:46:58.740 align:middle line:84%
We can get the key of the
piece, which I believe changes

00:46:58.740 --> 00:46:59.830 align:middle line:90%
quite a bit.

00:46:59.830 --> 00:47:05.620 align:middle line:84%
I think if we do measures
1 through 20, analyze key,

00:47:05.620 --> 00:47:08.110 align:middle line:90%
we get something very different.

00:47:08.110 --> 00:47:10.110 align:middle line:90%
No, we don't.

00:47:10.110 --> 00:47:11.520 align:middle line:90%
Still get-- interesting.

00:47:11.520 --> 00:47:14.400 align:middle line:90%
Just the key signature changes.

00:47:14.400 --> 00:47:15.546 align:middle line:90%
OK.

00:47:15.546 --> 00:47:17.830 align:middle line:84%
But now we'll get into
some visualization things.

00:47:17.830 --> 00:47:21.330 align:middle line:84%
So the easiest thing
you can do with a stream

00:47:21.330 --> 00:47:23.680 align:middle line:90%
is to do something called plot.

00:47:23.680 --> 00:47:29.250 align:middle line:84%
And plot just gives
you whatever you--

00:47:29.250 --> 00:47:34.890 align:middle line:90%
a standard, ready-made-- oops.

00:47:34.890 --> 00:47:36.660 align:middle line:90%
That's why I never do this here.

00:47:36.660 --> 00:47:38.980 align:middle line:90%
Ready-made image.

00:47:38.980 --> 00:47:39.480 align:middle line:90%
Sorry.

00:47:39.480 --> 00:47:42.040 align:middle line:84%
It doesn't zoom
the image in here,

00:47:42.040 --> 00:47:44.600 align:middle line:84%
but you might be able to
see something like that.

00:47:44.600 --> 00:47:47.170 align:middle line:84%
And so you can
see a relationship

00:47:47.170 --> 00:47:54.470 align:middle line:84%
of the various parts
colored in different colors

00:47:54.470 --> 00:47:59.080 align:middle line:90%
and which ones are singing what.

00:47:59.080 --> 00:48:01.280 align:middle line:90%
So here are the three-part--

00:48:01.280 --> 00:48:02.673 align:middle line:90%
the three-fold relationships.

00:48:02.673 --> 00:48:04.840 align:middle line:84%
Sorry, I'm going to have
to zoom this out a tiny bit

00:48:04.840 --> 00:48:06.930 align:middle line:90%
so we can see this again.

00:48:06.930 --> 00:48:09.760 align:middle line:90%


00:48:09.760 --> 00:48:12.970 align:middle line:84%
The three-part relation--
three-section relationship

00:48:12.970 --> 00:48:14.780 align:middle line:84%
of the piece becomes
very clear, right?

00:48:14.780 --> 00:48:17.080 align:middle line:84%
You can see that
something happens

00:48:17.080 --> 00:48:21.160 align:middle line:84%
at the beginning,
this increase up here

00:48:21.160 --> 00:48:22.820 align:middle line:90%
up until a certain point.

00:48:22.820 --> 00:48:26.140 align:middle line:90%
And then a lot of things change.

00:48:26.140 --> 00:48:31.853 align:middle line:84%
So what measure does the
third section begin on?

00:48:31.853 --> 00:48:35.562 align:middle line:90%
AUDIENCE: [INAUDIBLE]

00:48:35.562 --> 00:48:37.520 align:middle line:84%
MICHAEL CUTHBERT: Yeah,
somewhere around there.

00:48:37.520 --> 00:48:42.520 align:middle line:84%
So you can-- 45, I
think, 46, 44, 45.

00:48:42.520 --> 00:48:45.860 align:middle line:84%
So you can see something
substantial changes.

00:48:45.860 --> 00:48:49.996 align:middle line:84%
And here's what
Jason pointed out,

00:48:49.996 --> 00:48:54.010 align:middle line:84%
that the inner voices in the
second and third sections

00:48:54.010 --> 00:49:02.020 align:middle line:84%
are the ones that are
very, very active.

00:49:02.020 --> 00:49:04.510 align:middle line:84%
So where does the
second section begin?

00:49:04.510 --> 00:49:10.130 align:middle line:90%
Measure 13 to measure 45.

00:49:10.130 --> 00:49:12.260 align:middle line:90%
So let's get this.

00:49:12.260 --> 00:49:17.350 align:middle line:90%
sec2 equals arvo.measures.

00:49:17.350 --> 00:49:20.690 align:middle line:90%
Let's say 14 to 45.

00:49:20.690 --> 00:49:25.090 align:middle line:90%
44, we'll say sec2.plot.

00:49:25.090 --> 00:49:27.910 align:middle line:84%
I think the default is
piano roll because that's

00:49:27.910 --> 00:49:29.030 align:middle line:90%
what most people want.

00:49:29.030 --> 00:49:32.440 align:middle line:90%
So we can look at Section 2.

00:49:32.440 --> 00:49:38.290 align:middle line:84%
And we'll say section 3 was
measures, what, 45 to 76.

00:49:38.290 --> 00:49:47.540 align:middle line:84%
Section 3 equals
arvo.measures 45 to 76.

00:49:47.540 --> 00:49:48.550 align:middle line:90%
We can plot that.

00:49:48.550 --> 00:49:56.270 align:middle line:90%


00:49:56.270 --> 00:49:58.010 align:middle line:84%
And there's a lot
of similarities

00:49:58.010 --> 00:50:02.785 align:middle line:84%
here between section
2 and section 3.

00:50:02.785 --> 00:50:05.300 align:middle line:90%


00:50:05.300 --> 00:50:09.080 align:middle line:84%
What's the biggest
difference musically

00:50:09.080 --> 00:50:12.710 align:middle line:84%
that you can tell from
these charts between section

00:50:12.710 --> 00:50:14.520 align:middle line:90%
2 and section three?

00:50:14.520 --> 00:50:17.070 align:middle line:84%
You'll probably want to go all
the way back up to your bigger

00:50:17.070 --> 00:50:17.570 align:middle line:90%
roll.

00:50:17.570 --> 00:50:21.528 align:middle line:90%


00:50:21.528 --> 00:50:22.320 align:middle line:90%
Over here?

00:50:22.320 --> 00:50:24.200 align:middle line:90%
This side's been mostly quiet.

00:50:24.200 --> 00:50:24.920 align:middle line:90%
Yeah?

00:50:24.920 --> 00:50:26.180 align:middle line:90%
AUDIENCE: Section 2.

00:50:26.180 --> 00:50:29.475 align:middle line:84%
Section 2 and section 3
close, but section 2 is up.

00:50:29.475 --> 00:50:32.100 align:middle line:84%
MICHAEL CUTHBERT: Section 2 and
Section 3 are almost identical,

00:50:32.100 --> 00:50:33.330 align:middle line:90%
but section 2 is up.

00:50:33.330 --> 00:50:34.102 align:middle line:90%
Good.

00:50:34.102 --> 00:50:38.670 align:middle line:84%
Can we figure out about
how much up it is?

00:50:38.670 --> 00:50:42.180 align:middle line:90%
Look at the key on this side.

00:50:42.180 --> 00:50:45.310 align:middle line:84%
Yeah, the E to the
A and the E to the A

00:50:45.310 --> 00:50:48.750 align:middle line:84%
So it's about a fifth
off in a lot of things,

00:50:48.750 --> 00:50:51.070 align:middle line:90%
except for on the extremes.

00:50:51.070 --> 00:50:57.870 align:middle line:84%
But what about the notes in
between these moving parts?

00:50:57.870 --> 00:51:01.170 align:middle line:90%
Where are they off?

00:51:01.170 --> 00:51:02.675 align:middle line:90%
What's the relationship there?

00:51:02.675 --> 00:51:07.384 align:middle line:90%


00:51:07.384 --> 00:51:08.728 align:middle line:90%
AUDIENCE: An octave up?

00:51:08.728 --> 00:51:10.020 align:middle line:90%
MICHAEL CUTHBERT: Yeah, about--

00:51:10.020 --> 00:51:11.200 align:middle line:90%
exactly an octave up.

00:51:11.200 --> 00:51:12.660 align:middle line:90%
So we have things moving.

00:51:12.660 --> 00:51:18.940 align:middle line:84%
Now, we'll go-- I'll open
up the score one more time.

00:51:18.940 --> 00:51:21.180 align:middle line:84%
I know why I wanted
the score open,

00:51:21.180 --> 00:51:24.060 align:middle line:84%
so I could keep going
to back to this.

00:51:24.060 --> 00:51:25.140 align:middle line:90%
Let me get a--

00:51:25.140 --> 00:51:26.070 align:middle line:90%
yep.

00:51:26.070 --> 00:51:27.930 align:middle line:90%
There we go.

00:51:27.930 --> 00:51:29.960 align:middle line:84%
So I'll just put this
in front for a second.

00:51:29.960 --> 00:51:33.540 align:middle line:90%


00:51:33.540 --> 00:51:38.700 align:middle line:84%
sorry, now I've lost
my train of thought.

00:51:38.700 --> 00:51:43.260 align:middle line:84%
How easy is it to see
which parts are static

00:51:43.260 --> 00:51:48.000 align:middle line:84%
and which parts are
in motion in this?

00:51:48.000 --> 00:51:49.720 align:middle line:90%
Quite a bit harder.

00:51:49.720 --> 00:51:52.570 align:middle line:84%
So what kind of
motion is happening?

00:51:52.570 --> 00:51:58.650 align:middle line:84%
We've identified that it's the
inner voices that are in motion.

00:51:58.650 --> 00:52:01.050 align:middle line:90%
What's the pattern?

00:52:01.050 --> 00:52:03.180 align:middle line:84%
Now go back to
your visualization

00:52:03.180 --> 00:52:05.750 align:middle line:84%
and see if you
can figure it out.

00:52:05.750 --> 00:52:08.340 align:middle line:90%


00:52:08.340 --> 00:52:09.680 align:middle line:90%
In any of the inner voices.

00:52:09.680 --> 00:52:12.360 align:middle line:90%


00:52:12.360 --> 00:52:15.820 align:middle line:84%
Maybe it's easier if you just
look at one of the sections.

00:52:15.820 --> 00:52:18.960 align:middle line:84%
So you can zoom in
a little bit more.

00:52:18.960 --> 00:52:20.440 align:middle line:90%
John, do you want to?

00:52:20.440 --> 00:52:22.650 align:middle line:84%
AUDIENCE: They move
in parallel sections.

00:52:22.650 --> 00:52:24.940 align:middle line:84%
MICHAEL CUTHBERT: They move
in parallel first, yeah.

00:52:24.940 --> 00:52:25.810 align:middle line:90%
That looks good.

00:52:25.810 --> 00:52:29.525 align:middle line:84%
And within any given
voice, what's it doing?

00:52:29.525 --> 00:52:32.730 align:middle line:90%


00:52:32.730 --> 00:52:35.400 align:middle line:84%
Is it playing, "Mary had a
little lamb, bop, bop, bop, bop,

00:52:35.400 --> 00:52:35.900 align:middle line:90%
bop, bop?

00:52:35.900 --> 00:52:39.280 align:middle line:84%
Is it jumping
around a huge octave

00:52:39.280 --> 00:52:40.935 align:middle line:90%
and then coming back down?

00:52:40.935 --> 00:52:41.435 align:middle line:90%
Adam?

00:52:41.435 --> 00:52:42.760 align:middle line:84%
AUDIENCE: They're just
playing the same note.

00:52:42.760 --> 00:52:44.320 align:middle line:84%
MICHAEL CUTHBERT: They're
just playing the same note.

00:52:44.320 --> 00:52:46.070 align:middle line:84%
Not all of them are
playing the same note.

00:52:46.070 --> 00:52:48.491 align:middle line:84%
These ones are
playing the same note.

00:52:48.491 --> 00:52:53.737 align:middle line:84%
But what are the other voices
doing, these inner voices?

00:52:53.737 --> 00:52:55.570 align:middle line:84%
That go all the way up
and then all the way?

00:52:55.570 --> 00:52:55.930 align:middle line:90%
Yeah?

00:52:55.930 --> 00:52:57.050 align:middle line:84%
AUDIENCE: Are you saying
they're repeating?

00:52:57.050 --> 00:52:59.000 align:middle line:84%
MICHAEL CUTHBERT: They're
repeating, but what do they do?

00:52:59.000 --> 00:53:00.080 align:middle line:90%
What's the pattern?

00:53:00.080 --> 00:53:00.610 align:middle line:90%
Yeah?

00:53:00.610 --> 00:53:01.370 align:middle line:90%
AUDIENCE: Stepwise?

00:53:01.370 --> 00:53:02.170 align:middle line:90%
MICHAEL CUTHBERT: Stepwise.

00:53:02.170 --> 00:53:02.670 align:middle line:90%
Good.

00:53:02.670 --> 00:53:05.610 align:middle line:84%
It's all stepwise, which is the
hard part about the piano roll,

00:53:05.610 --> 00:53:06.110 align:middle line:90%
right?

00:53:06.110 --> 00:53:09.490 align:middle line:84%
You would want a diatonic
piano roll at some point.

00:53:09.490 --> 00:53:11.530 align:middle line:90%
I think we have that somewhere.

00:53:11.530 --> 00:53:14.210 align:middle line:90%
And it's all stepwise.

00:53:14.210 --> 00:53:16.130 align:middle line:90%
And it's even more than that.

00:53:16.130 --> 00:53:16.630 align:middle line:90%
Yeah?

00:53:16.630 --> 00:53:17.418 align:middle line:90%
Go ahead, Vincent.

00:53:17.418 --> 00:53:19.460 align:middle line:84%
AUDIENCE: Neighbor tone's
around a certain pitch,

00:53:19.460 --> 00:53:21.370 align:middle line:84%
just like the top
voices around the C.

00:53:21.370 --> 00:53:22.450 align:middle line:84%
MICHAEL CUTHBERT: They're
all neighbor tones

00:53:22.450 --> 00:53:23.660 align:middle line:90%
around a certain pitch, yeah.

00:53:23.660 --> 00:53:25.580 align:middle line:84%
So you can-- top
one, I can't reach,

00:53:25.580 --> 00:53:28.360 align:middle line:84%
so we'll do the middle
one, I guess around

00:53:28.360 --> 00:53:33.190 align:middle line:84%
E. And is there a pattern that
you do three ups and then a

00:53:33.190 --> 00:53:36.290 align:middle line:90%
down, and then what is it?

00:53:36.290 --> 00:53:37.880 align:middle line:90%
Up, then down.

00:53:37.880 --> 00:53:39.230 align:middle line:90%
Up, then down.

00:53:39.230 --> 00:53:40.200 align:middle line:90%
Up and down.

00:53:40.200 --> 00:53:44.400 align:middle line:84%
So you could almost have
a formula with this.

00:53:44.400 --> 00:53:51.390 align:middle line:84%
In fact, one of the other
Python-based music packages,

00:53:51.390 --> 00:53:55.130 align:middle line:84%
which is more about creating
algorithmically generatable

00:53:55.130 --> 00:54:00.510 align:middle line:84%
music, is called arvo, based on
Arvo Part's ability to do this.

00:54:00.510 --> 00:54:03.240 align:middle line:84%
So you can download
and install arvo,

00:54:03.240 --> 00:54:07.770 align:middle line:84%
and it makes it much easier
than music21 does to generate.

00:54:07.770 --> 00:54:08.910 align:middle line:90%
Here's a motif.

00:54:08.910 --> 00:54:11.300 align:middle line:84%
Now spin it out over a
certain amount of time while

00:54:11.300 --> 00:54:13.080 align:middle line:90%
doing something else.

00:54:13.080 --> 00:54:16.430 align:middle line:84%
So we have this thing going
up and down and up and down

00:54:16.430 --> 00:54:18.680 align:middle line:90%
and things like that.

00:54:18.680 --> 00:54:20.750 align:middle line:84%
By the way, some of the
other interesting things

00:54:20.750 --> 00:54:23.930 align:middle line:84%
about the piece that we're not
going to visualize in music21

00:54:23.930 --> 00:54:31.040 align:middle line:84%
are, when does it change notes
on any multi-syllable, accented

00:54:31.040 --> 00:54:32.930 align:middle line:90%
German word?

00:54:32.930 --> 00:54:36.150 align:middle line:84%
Which I think is
interesting here.

00:54:36.150 --> 00:54:41.580 align:middle line:84%
So the accent always
gets the whole note.

00:54:41.580 --> 00:54:46.580 align:middle line:84%
And it's always the opposite
of whatever it was before.

00:54:46.580 --> 00:54:50.270 align:middle line:84%
And then you can see,
well, in section 2, all

00:54:50.270 --> 00:54:53.480 align:middle line:84%
of the voices kind of play at
once, and they all rest at once.

00:54:53.480 --> 00:54:56.840 align:middle line:84%
But in section 3, the
top and the bottom ones

00:54:56.840 --> 00:54:58.710 align:middle line:90%
only come in at certain times.

00:54:58.710 --> 00:55:01.830 align:middle line:84%
And the visualization of this
helped me in figuring out,

00:55:01.830 --> 00:55:03.420 align:middle line:90%
well, when are those times?

00:55:03.420 --> 00:55:07.640 align:middle line:84%
And it turns out, also
very strictly generated,

00:55:07.640 --> 00:55:12.320 align:middle line:84%
that it is just
every other word.

00:55:12.320 --> 00:55:14.670 align:middle line:90%
du Hoffnung, they do.

00:55:14.670 --> 00:55:15.680 align:middle line:90%
That's two words.

00:55:15.680 --> 00:55:18.170 align:middle line:90%
und Heiland, we don't sing.

00:55:18.170 --> 00:55:19.640 align:middle line:90%
Next.

00:55:19.640 --> 00:55:22.460 align:middle line:90%
Two words, der völker, we sing.

00:55:22.460 --> 00:55:25.260 align:middle line:90%
o komm, we don't.

00:55:25.260 --> 00:55:28.430 align:middle line:90%
And there's one exception to it.

00:55:28.430 --> 00:55:30.570 align:middle line:84%
No, sorry, there isn't
an exception on this one.

00:55:30.570 --> 00:55:32.860 align:middle line:84%
Someplace else, there's
an exception on things.

00:55:32.860 --> 00:55:36.540 align:middle line:84%
But I think probably set up so
that just the number of words

00:55:36.540 --> 00:55:39.660 align:middle line:84%
makes it so that God
stands alone at the end

00:55:39.660 --> 00:55:41.290 align:middle line:90%
without accompaniment.

00:55:41.290 --> 00:55:43.360 align:middle line:90%
So interesting piece.

00:55:43.360 --> 00:55:48.330 align:middle line:84%
Now let's do a tiny bit
more analysis on it.

00:55:48.330 --> 00:55:51.210 align:middle line:90%
There's a plot that--

00:55:51.210 --> 00:55:54.180 align:middle line:90%
I could call this a cook plot.

00:55:54.180 --> 00:55:58.800 align:middle line:84%
Cook, because I saw this now in
the reading for Nicholas Cook

00:55:58.800 --> 00:56:03.150 align:middle line:84%
article on computational
and comparative music--

00:56:03.150 --> 00:56:05.710 align:middle line:84%
computational and
comparative musicology.

00:56:05.710 --> 00:56:09.970 align:middle line:84%
But I first saw this in a book
by somebody named Emily Dolan.

00:56:09.970 --> 00:56:13.530 align:middle line:84%
So I call it a Dolan
graph, even though--

00:56:13.530 --> 00:56:17.310 align:middle line:84%
and it shows you who
is singing where,

00:56:17.310 --> 00:56:20.770 align:middle line:84%
at what point, which
parts are performing.

00:56:20.770 --> 00:56:24.430 align:middle line:84%
And do you remember
this from the Cook?

00:56:24.430 --> 00:56:26.040 align:middle line:84%
It's slightly
different graph that he

00:56:26.040 --> 00:56:30.340 align:middle line:84%
had, a slightly different shape,
size, but same type of thing.

00:56:30.340 --> 00:56:33.910 align:middle line:90%
What's being depicted here?

00:56:33.910 --> 00:56:34.780 align:middle line:90%
Take a guess.

00:56:34.780 --> 00:56:35.380 align:middle line:90%
What's that?

00:56:35.380 --> 00:56:35.770 align:middle line:90%
AUDIENCE: Dynamics?

00:56:35.770 --> 00:56:36.895 align:middle line:90%
MICHAEL CUTHBERT: Dynamics.

00:56:36.895 --> 00:56:40.040 align:middle line:84%
Yeah, so it's a who's playing
when, and what are the dynamics?

00:56:40.040 --> 00:56:41.990 align:middle line:84%
And if you zoom
in really closely,

00:56:41.990 --> 00:56:44.950 align:middle line:84%
you can see that soprano is
always singing a tiny bit

00:56:44.950 --> 00:56:46.520 align:middle line:90%
before the other parts.

00:56:46.520 --> 00:56:52.030 align:middle line:84%
But yeah, so the piece just sort
of builds up to about 2/3 point,

00:56:52.030 --> 00:56:56.730 align:middle line:84%
then drops off and just very
quiet, everything after that.

00:56:56.730 --> 00:56:59.560 align:middle line:90%


00:56:59.560 --> 00:57:02.710 align:middle line:84%
So there's quite often,
I think, for people

00:57:02.710 --> 00:57:06.800 align:middle line:84%
who can read music notation,
graphs and plotting,

00:57:06.800 --> 00:57:09.500 align:middle line:84%
visualization isn't
too much of a help.

00:57:09.500 --> 00:57:13.060 align:middle line:84%
But for getting a sense of
the form of a large piece

00:57:13.060 --> 00:57:18.490 align:middle line:84%
very quickly, these tools
can be very, very helpful.

00:57:18.490 --> 00:57:22.340 align:middle line:84%
We can see, what notes
does he use the most?

00:57:22.340 --> 00:57:25.420 align:middle line:84%
Well, obviously those
that are going to be--

00:57:25.420 --> 00:57:29.600 align:middle line:84%
that those sustained notes
are going to come quite a bit.

00:57:29.600 --> 00:57:35.150 align:middle line:84%
But we can see that of
the various pitch classes,

00:57:35.150 --> 00:57:42.310 align:middle line:84%
basically, there's a reason why
it was coming out as A major,

00:57:42.310 --> 00:57:44.890 align:middle line:90%
as our analysis.

00:57:44.890 --> 00:57:47.470 align:middle line:90%
Because A, definitely winning.

00:57:47.470 --> 00:57:49.030 align:middle line:90%
E, C-sharp.

00:57:49.030 --> 00:57:53.080 align:middle line:90%


00:57:53.080 --> 00:57:55.930 align:middle line:84%
I guess every-- surprisingly
for a piece that

00:57:55.930 --> 00:57:59.030 align:middle line:84%
sounds so consonant
in many ways,

00:57:59.030 --> 00:58:02.595 align:middle line:84%
every pitch class is
represented at least once there.

00:58:02.595 --> 00:58:06.130 align:middle line:90%


00:58:06.130 --> 00:58:06.920 align:middle line:90%
Let me see which--

00:58:06.920 --> 00:58:09.640 align:middle line:84%
I have a whole bunch of ones
that are maybe a little bit less

00:58:09.640 --> 00:58:10.640 align:middle line:90%
interesting.

00:58:10.640 --> 00:58:19.090 align:middle line:84%
But we can look at
certain pitches use

00:58:19.090 --> 00:58:20.380 align:middle line:90%
different notes more.

00:58:20.380 --> 00:58:23.330 align:middle line:90%
So we can plot a scatter plot.

00:58:23.330 --> 00:58:24.970 align:middle line:84%
And then what we
haven't seen yet

00:58:24.970 --> 00:58:29.600 align:middle line:84%
is the second and
third element here

00:58:29.600 --> 00:58:35.693 align:middle line:90%
is quarter length versus pitch.

00:58:35.693 --> 00:58:43.700 align:middle line:90%


00:58:43.700 --> 00:58:45.510 align:middle line:84%
I think there's other
things you can do.

00:58:45.510 --> 00:58:47.370 align:middle line:84%
You can play around
with octave and stuff.

00:58:47.370 --> 00:58:52.250 align:middle line:84%
So a plot gives you a
ready-made take in a score

00:58:52.250 --> 00:58:54.930 align:middle line:90%
and get some kind of analysis.

00:58:54.930 --> 00:58:57.710 align:middle line:84%
There's two slightly
lower level things

00:58:57.710 --> 00:59:00.870 align:middle line:84%
if you want to-- if you're
thinking of doing visualization

00:59:00.870 --> 00:59:01.370 align:middle line:90%
in there.

00:59:01.370 --> 00:59:05.120 align:middle line:84%
One, the graph, which is
underlying the plot, which

00:59:05.120 --> 00:59:10.140 align:middle line:84%
is what you're trying to do and
what data you want to extract.

00:59:10.140 --> 00:59:12.360 align:middle line:84%
So it's a feature
extraction again.

00:59:12.360 --> 00:59:14.520 align:middle line:84%
And what do you want
to put on each axis?

00:59:14.520 --> 00:59:17.120 align:middle line:84%
So there's axes that are
defined that you can--

00:59:17.120 --> 00:59:18.920 align:middle line:90%
I don't know, we can do--

00:59:18.920 --> 00:59:24.240 align:middle line:84%
let's plot pitch
against dynamic.

00:59:24.240 --> 00:59:25.680 align:middle line:90%
You know What?

00:59:25.680 --> 00:59:27.850 align:middle line:90%
Yeah, dynamics.

00:59:27.850 --> 00:59:28.475 align:middle line:90%
Does that work?

00:59:28.475 --> 00:59:36.115 align:middle line:90%


00:59:36.115 --> 00:59:37.690 align:middle line:90%
You know what?

00:59:37.690 --> 00:59:40.810 align:middle line:90%
Who puts pitch on the x-axis?

00:59:40.810 --> 00:59:45.550 align:middle line:84%
We'll put pitch on the
y-axis versus dynamics.

00:59:45.550 --> 00:59:48.437 align:middle line:90%
Swap that around.

00:59:48.437 --> 00:59:49.895 align:middle line:84%
That's why I was
having so trouble.

00:59:49.895 --> 00:59:53.520 align:middle line:90%


00:59:53.520 --> 00:59:55.590 align:middle line:90%
So you can see that the--

00:59:55.590 --> 01:00:02.490 align:middle line:84%
oops-- that the lowest
notes in the pieces only

01:00:02.490 --> 01:00:06.160 align:middle line:90%
appear on the quietest things.

01:00:06.160 --> 01:00:12.420 align:middle line:84%
And you can also look at
this terraced initial motion

01:00:12.420 --> 01:00:18.840 align:middle line:84%
of the piece as the notes were
going up, both going up in pitch

01:00:18.840 --> 01:00:20.500 align:middle line:90%
and getting higher in volume.

01:00:20.500 --> 01:00:23.800 align:middle line:84%
And then the very
highest volumes

01:00:23.800 --> 01:00:27.070 align:middle line:84%
are scattered all throughout,
but everything down here

01:00:27.070 --> 01:00:33.130 align:middle line:84%
shifted up a little
bit, just as we saw.

01:00:33.130 --> 01:00:35.110 align:middle line:84%
I think the best
thing to do would

01:00:35.110 --> 01:00:36.920 align:middle line:84%
be now that we've
thought about the piece,

01:00:36.920 --> 01:00:42.160 align:middle line:84%
thought about its structure,
listen to it one more time.

01:00:42.160 --> 01:00:50.500 align:middle line:84%
Maybe with the-- we'll listen to
it with the piano roll and see

01:00:50.500 --> 01:00:52.870 align:middle line:90%
if we can--

01:00:52.870 --> 01:00:53.930 align:middle line:90%
oops, not that one.

01:00:53.930 --> 01:00:55.930 align:middle line:90%
The big one.

01:00:55.930 --> 01:00:59.980 align:middle line:84%
And see if we can hear the
various parts of the piece

01:00:59.980 --> 01:01:05.050 align:middle line:84%
just as well as we
could on with the score.

01:01:05.050 --> 01:01:06.533 align:middle line:90%
Words are harder to tell.

01:01:06.533 --> 01:01:07.575 align:middle line:90%
There's no plot for that.

01:01:07.575 --> 01:01:10.960 align:middle line:90%


01:01:10.960 --> 01:01:12.680 align:middle line:90%
You're mostly colorblind.

01:01:12.680 --> 01:01:16.810 align:middle line:84%
Professor just realized that I
used a version of the plot that

01:01:16.810 --> 01:01:19.460 align:middle line:84%
does colors not
based on the part

01:01:19.460 --> 01:01:23.960 align:middle line:84%
but just as a way of being able
to see which pitches are which.

01:01:23.960 --> 01:01:24.950 align:middle line:90%
So I apologize.

01:01:24.950 --> 01:01:27.680 align:middle line:84%
I made a mistake and said you
can tell the lines by color.

01:01:27.680 --> 01:01:32.510 align:middle line:84%
But I have to strain to see
color, so sorry about that.

01:01:32.510 --> 01:01:36.020 align:middle line:84%
But I did, just while listening
to it, make one observation.

01:01:36.020 --> 01:01:39.460 align:middle line:84%
This interesting line that
the E is the very first thing

01:01:39.460 --> 01:01:40.490 align:middle line:90%
that you hear.

01:01:40.490 --> 01:01:43.990 align:middle line:84%
And it just after a
little absence comes back.

01:01:43.990 --> 01:01:46.390 align:middle line:84%
And it's one of the
few lines that's

01:01:46.390 --> 01:01:49.550 align:middle line:90%
so prominent throughout there.

01:01:49.550 --> 01:01:56.530 align:middle line:84%
So maybe E is the true
root point of this piece.

01:01:56.530 --> 01:02:00.250 align:middle line:84%
Well, thanks, everybody,
for going through grab bag.

01:02:00.250 --> 01:02:02.450 align:middle line:84%
I have more topics that
are interest to me,

01:02:02.450 --> 01:02:06.240 align:middle line:84%
but anything that's of
interest to you, let me know.

01:02:06.240 --> 01:02:21.000 align:middle line:90%