WEBVTT

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

00:00:01.996 --> 00:00:03.992 align:middle line:90%
[RUSTLING]

00:00:03.992 --> 00:00:07.485 align:middle line:90%
[CLICKING]

00:00:07.485 --> 00:00:10.127 align:middle line:90%


00:00:10.127 --> 00:00:11.460 align:middle line:90%
MICHAEL CUTHBERT: Hi, everybody.

00:00:11.460 --> 00:00:15.140 align:middle line:84%
Today we're going to
spend the bulk of our time

00:00:15.140 --> 00:00:21.140 align:middle line:84%
making up for lost lab time,
lost time coding and doing--

00:00:21.140 --> 00:00:24.180 align:middle line:84%
implementing some of the
ideas that we have, but first,

00:00:24.180 --> 00:00:28.680 align:middle line:84%
we're going to step back to
just a little bit on the quiz.

00:00:28.680 --> 00:00:30.870 align:middle line:84%
Apologies for taking a
while to get it back to you,

00:00:30.870 --> 00:00:32.100 align:middle line:90%
but now you have it.

00:00:32.100 --> 00:00:37.080 align:middle line:84%
And the quiz is the opposite
of the practical side.

00:00:37.080 --> 00:00:38.820 align:middle line:84%
It's more of the
theoretical side.

00:00:38.820 --> 00:00:43.093 align:middle line:84%
So I wanted to talk about
a couple aspects of that.

00:00:43.093 --> 00:00:45.510 align:middle line:84%
Somebody's going to remind me
to put the screen back down.

00:00:45.510 --> 00:00:47.000 align:middle line:90%
Paul's not here today.

00:00:47.000 --> 00:00:48.740 align:middle line:90%
So please do that.

00:00:48.740 --> 00:00:53.960 align:middle line:84%
Some of the practical
aspects on the quiz in space.

00:00:53.960 --> 00:00:59.330 align:middle line:84%
First, why are authors
and articles important?

00:00:59.330 --> 00:01:02.405 align:middle line:84%
Why am I really sensing
that not just you

00:01:02.405 --> 00:01:06.140 align:middle line:84%
know what the three contexts
are or what optic is, but really

00:01:06.140 --> 00:01:07.950 align:middle line:90%
whose idea this is?

00:01:07.950 --> 00:01:09.750 align:middle line:90%
And there's really two reasons.

00:01:09.750 --> 00:01:12.990 align:middle line:90%
One, the field is small.

00:01:12.990 --> 00:01:14.190 align:middle line:90%
The field is small.

00:01:14.190 --> 00:01:17.840 align:middle line:84%
And if you're working
in it-- and it's young.

00:01:17.840 --> 00:01:22.670 align:middle line:84%
Not young as y'all or-- it's
even older than me, but young,

00:01:22.670 --> 00:01:26.465 align:middle line:84%
like almost everyone who has
come up with the great ideas

00:01:26.465 --> 00:01:29.090 align:middle line:84%
that have changed the field are
still living and people you can

00:01:29.090 --> 00:01:31.370 align:middle line:90%
meet.

00:01:31.370 --> 00:01:33.410 align:middle line:90%
But more importantly--

00:01:33.410 --> 00:01:36.620 align:middle line:84%
And so some of the guest
speakers that we've had

00:01:36.620 --> 00:01:40.380 align:middle line:84%
recently have appeared--
it's campus preview weekend,

00:01:40.380 --> 00:01:43.910 align:middle line:90%
so we got to close this.

00:01:43.910 --> 00:01:46.372 align:middle line:90%
Otherwise, it'll get loud.

00:01:46.372 --> 00:01:48.410 align:middle line:84%
But some of the
speakers that we've seen

00:01:48.410 --> 00:01:51.740 align:middle line:84%
have actually already
appeared in articles

00:01:51.740 --> 00:01:53.550 align:middle line:84%
that we've been
reading and things.

00:01:53.550 --> 00:01:57.880 align:middle line:84%
So these are names that
will keep popping up again.

00:01:57.880 --> 00:02:01.430 align:middle line:84%
And when David Huron talks
about Carol Krumhansl, who

00:02:01.430 --> 00:02:03.540 align:middle line:90%
was after the quiz.

00:02:03.540 --> 00:02:06.990 align:middle line:84%
But this is a name that,
oh, I've already read that.

00:02:06.990 --> 00:02:10.520 align:middle line:90%
The other first reason is that--

00:02:10.520 --> 00:02:13.610 align:middle line:84%
I don't know if you saw on
one of our guest speakers

00:02:13.610 --> 00:02:15.540 align:middle line:90%
on music cognition.

00:02:15.540 --> 00:02:18.028 align:middle line:84%
A lot of times, there were
these nice, pretty pictures of--

00:02:18.028 --> 00:02:18.570 align:middle line:90%
I don't know.

00:02:18.570 --> 00:02:21.660 align:middle line:84%
Can I draw a light bulb
or something like that?

00:02:21.660 --> 00:02:23.370 align:middle line:90%
And some idea and things.

00:02:23.370 --> 00:02:25.370 align:middle line:84%
And over in the
corner, you would

00:02:25.370 --> 00:02:31.860 align:middle line:90%
see Devin's 2019 or whatever.

00:02:31.860 --> 00:02:35.750 align:middle line:90%
And those are just ways--

00:02:35.750 --> 00:02:39.440 align:middle line:84%
they're industry shortcuts
for how you can learn more

00:02:39.440 --> 00:02:40.770 align:middle line:90%
about a particular topic.

00:02:40.770 --> 00:02:43.830 align:middle line:84%
So I don't tend to
talk with footnotes.

00:02:43.830 --> 00:02:45.710 align:middle line:90%
Maybe I should more--

00:02:45.710 --> 00:02:50.600 align:middle line:90%
Strunk and White, 2004--

00:02:50.600 --> 00:02:53.700 align:middle line:84%
but these are things that
people do quite often.

00:02:53.700 --> 00:02:55.010 align:middle line:90%
And it's because--

00:02:55.010 --> 00:02:59.200 align:middle line:84%
Here's the worst thing
about almost every article

00:02:59.200 --> 00:03:01.490 align:middle line:84%
you'll read, whether in
science, engineering,

00:03:01.490 --> 00:03:05.230 align:middle line:90%
humanities, arts that--

00:03:05.230 --> 00:03:08.420 align:middle line:84%
I'm telling you to read
these articles and things,

00:03:08.420 --> 00:03:11.260 align:middle line:84%
but then the articles aren't
actually written for you

00:03:11.260 --> 00:03:12.560 align:middle line:90%
to read.

00:03:12.560 --> 00:03:14.830 align:middle line:90%
It's so ironic.

00:03:14.830 --> 00:03:17.180 align:middle line:84%
Why do we write and
publish research?

00:03:17.180 --> 00:03:22.120 align:middle line:84%
For the most part, we're
publishing research to talk to

00:03:22.120 --> 00:03:27.280 align:middle line:84%
or to argue with or push
back on or develop the theory

00:03:27.280 --> 00:03:29.330 align:middle line:90%
of somebody else who's living.

00:03:29.330 --> 00:03:34.993 align:middle line:84%
So these scholars tend to talk
to each other quite a bit.

00:03:34.993 --> 00:03:36.910 align:middle line:84%
And so what they're doing
when they're putting

00:03:36.910 --> 00:03:39.085 align:middle line:90%
these names down is really--

00:03:39.085 --> 00:03:42.360 align:middle line:84%
there's a seat here
today, if you'd like--

00:03:42.360 --> 00:03:47.530 align:middle line:84%
and what they're
really doing is trying

00:03:47.530 --> 00:03:50.870 align:middle line:84%
to argue against something that
you might not already know.

00:03:50.870 --> 00:03:54.430 align:middle line:84%
So when somebody is presenting
an idea, they're really saying,

00:03:54.430 --> 00:03:57.972 align:middle line:84%
hey, I've got a better idea
than this other person.

00:03:57.972 --> 00:03:59.680 align:middle line:84%
And so they're always
going to be talking

00:03:59.680 --> 00:04:01.910 align:middle line:90%
about names of other people.

00:04:01.910 --> 00:04:03.680 align:middle line:84%
And so it's just kind
of good to get that.

00:04:03.680 --> 00:04:07.210 align:middle line:90%
So that's something there.

00:04:07.210 --> 00:04:09.310 align:middle line:84%
The other question I
think that can come up

00:04:09.310 --> 00:04:12.190 align:middle line:84%
in the context of these
quizzes based primarily

00:04:12.190 --> 00:04:14.750 align:middle line:84%
on the readings and
these abstract things

00:04:14.750 --> 00:04:18.800 align:middle line:84%
is, why are there so many darn
old articles in this class?

00:04:18.800 --> 00:04:21.670 align:middle line:84%
Why are you doing a lot of
citations of things that

00:04:21.670 --> 00:04:24.020 align:middle line:90%
are 10 years old, 25 years old?

00:04:24.020 --> 00:04:26.960 align:middle line:84%
And then you got
the Illiac Suite.

00:04:26.960 --> 00:04:27.620 align:middle line:90%
What is that?

00:04:27.620 --> 00:04:30.970 align:middle line:90%
70-- 77 years old now?

00:04:30.970 --> 00:04:35.830 align:middle line:84%
So what's the point
of getting into it?

00:04:35.830 --> 00:04:38.980 align:middle line:84%
So I've been teaching for a
while, and one of the-- there's

00:04:38.980 --> 00:04:43.070 align:middle line:84%
one lecture that
I love the topic,

00:04:43.070 --> 00:04:45.350 align:middle line:84%
and I hope you'll love
it too when we get to it,

00:04:45.350 --> 00:04:46.970 align:middle line:90%
but I hate giving this lecture.

00:04:46.970 --> 00:04:53.360 align:middle line:84%
It's the lecture on
practical AI in music.

00:04:53.360 --> 00:04:54.920 align:middle line:90%
And why is that?

00:04:54.920 --> 00:04:58.120 align:middle line:84%
It's because the
various techniques

00:04:58.120 --> 00:05:01.810 align:middle line:84%
that I've been
teaching have changed

00:05:01.810 --> 00:05:06.110 align:middle line:84%
so often that they're not
really relevant two years later.

00:05:06.110 --> 00:05:10.570 align:middle line:84%
So I'm going to be
thinking about, oh, OK,

00:05:10.570 --> 00:05:13.180 align:middle line:84%
this weekend, it's time
to update everything

00:05:13.180 --> 00:05:15.790 align:middle line:84%
from TensorFlow, which
was so state of the art

00:05:15.790 --> 00:05:19.390 align:middle line:84%
three years ago, and I wrote
a whole lecture around it

00:05:19.390 --> 00:05:23.960 align:middle line:84%
for those who know this,
PyTorch, which I'm using now.

00:05:23.960 --> 00:05:27.100 align:middle line:84%
And it really means that
there's a lot of things

00:05:27.100 --> 00:05:29.800 align:middle line:84%
that we'll be spending
time in that class.

00:05:29.800 --> 00:05:33.868 align:middle line:84%
That if PyTorch ends up not
being the super great thing

00:05:33.868 --> 00:05:36.160 align:middle line:84%
that you're going to be using
for the rest of your life

00:05:36.160 --> 00:05:40.220 align:middle line:84%
because of GPT or whatever
else that's coming out,

00:05:40.220 --> 00:05:44.510 align:middle line:84%
those types of information
will get stale pretty fast.

00:05:44.510 --> 00:05:49.120 align:middle line:84%
But the notion of things
like equality and equivalence

00:05:49.120 --> 00:05:51.880 align:middle line:84%
and how you can put
equivalence classes, I hope,

00:05:51.880 --> 00:05:54.670 align:middle line:84%
will stay with you
even if you're not

00:05:54.670 --> 00:05:58.485 align:middle line:84%
doing anything with music or
even anything with computation.

00:05:58.485 --> 00:05:59.860 align:middle line:84%
I hope there are
things that will

00:05:59.860 --> 00:06:02.390 align:middle line:84%
stay with you for the
rest of your life,

00:06:02.390 --> 00:06:06.890 align:middle line:84%
and that it'll change how you
make an outlook on the world.

00:06:06.890 --> 00:06:12.800 align:middle line:84%
So that's a little bit why this
class has a good amount of it.

00:06:12.800 --> 00:06:16.480 align:middle line:84%
I figure if it's something
that inspired me 15 years ago,

00:06:16.480 --> 00:06:18.380 align:middle line:84%
and it's still
inspiring me today,

00:06:18.380 --> 00:06:20.170 align:middle line:84%
it has a good chance
that it'll still

00:06:20.170 --> 00:06:24.500 align:middle line:84%
be relevant inspirational in
10, 20, or 30 years from now.

00:06:24.500 --> 00:06:32.810 align:middle line:84%
For those who did the work
on the global rule, somebody

00:06:32.810 --> 00:06:37.780 align:middle line:84%
remind us what the global
rule is and what-- first,

00:06:37.780 --> 00:06:38.970 align:middle line:90%
where does it apply?

00:06:38.970 --> 00:06:42.640 align:middle line:90%


00:06:42.640 --> 00:06:44.380 align:middle line:90%
Anyone want to take a guess?

00:06:44.380 --> 00:06:47.210 align:middle line:84%
Matthew, do you want to take a
guess or call on somebody else?

00:06:47.210 --> 00:06:47.710 align:middle line:90%
AUDIENCE: Counterpoint?

00:06:47.710 --> 00:06:48.470 align:middle line:90%
MICHAEL CUTHBERT: Counterpoint.

00:06:48.470 --> 00:06:48.970 align:middle line:90%
Great.

00:06:48.970 --> 00:06:49.840 align:middle line:90%
Super.

00:06:49.840 --> 00:06:54.780 align:middle line:90%
So it's counterpoint rule, rule.

00:06:54.780 --> 00:07:00.120 align:middle line:84%
And what's it trying to
maximize in counterpoint?

00:07:00.120 --> 00:07:05.900 align:middle line:90%
So I'm just trying to think.

00:07:05.900 --> 00:07:08.610 align:middle line:90%


00:07:08.610 --> 00:07:11.160 align:middle line:84%
What's it trying to
maximize in counterpoint?

00:07:11.160 --> 00:07:12.562 align:middle line:90%
What's that?

00:07:12.562 --> 00:07:15.690 align:middle line:90%


00:07:15.690 --> 00:07:17.370 align:middle line:90%
You want to try it?

00:07:17.370 --> 00:07:20.010 align:middle line:84%
AUDIENCE: I guess it's trying
to maximize the musical notes

00:07:20.010 --> 00:07:22.090 align:middle line:90%
or how good it sounds.

00:07:22.090 --> 00:07:23.590 align:middle line:84%
MICHAEL CUTHBERT:
Max musicality.

00:07:23.590 --> 00:07:24.360 align:middle line:90%
Absolutely.

00:07:24.360 --> 00:07:24.960 align:middle line:90%
Great.

00:07:24.960 --> 00:07:25.460 align:middle line:90%
Super.

00:07:25.460 --> 00:07:29.280 align:middle line:90%


00:07:29.280 --> 00:07:31.140 align:middle line:90%
And it does this--

00:07:31.140 --> 00:07:34.110 align:middle line:84%
ironically, trying to
maximize musicality

00:07:34.110 --> 00:07:40.080 align:middle line:84%
came down to giving a formula
or giving a set of formulas.

00:07:40.080 --> 00:07:42.245 align:middle line:84%
And where do we begin
with the global rule?

00:07:42.245 --> 00:07:44.880 align:middle line:90%


00:07:44.880 --> 00:07:45.393 align:middle line:90%
[INAUDIBLE]?

00:07:45.393 --> 00:07:46.560 align:middle line:90%
AUDIENCE: From the last one?

00:07:46.560 --> 00:07:48.060 align:middle line:84%
MICHAEL CUTHBERT:
Start from the end

00:07:48.060 --> 00:07:53.230 align:middle line:84%
and go backwards and look at
specifically, do you have what?

00:07:53.230 --> 00:07:56.060 align:middle line:84%
Three possibilities
for the last one?

00:07:56.060 --> 00:07:59.400 align:middle line:90%


00:07:59.400 --> 00:08:00.566 align:middle line:90%
If you're going backwards?

00:08:00.566 --> 00:08:03.990 align:middle line:90%


00:08:03.990 --> 00:08:06.540 align:middle line:84%
No, you have two possibilities
because you can't repeat notes

00:08:06.540 --> 00:08:07.450 align:middle line:90%
in this context.

00:08:07.450 --> 00:08:13.150 align:middle line:84%
So you can be trying here and
here against some other thing.

00:08:13.150 --> 00:08:15.580 align:middle line:84%
David Lewin would actually
not be happy with me.

00:08:15.580 --> 00:08:18.160 align:middle line:84%
He always did his
counterpoints in alto clef,

00:08:18.160 --> 00:08:21.160 align:middle line:84%
but we'll do it in
treble and bass.

00:08:21.160 --> 00:08:25.560 align:middle line:84%
So yeah, you're trying to
figure out, OK, if we ended here

00:08:25.560 --> 00:08:28.530 align:middle line:84%
and the previous
note is here, what

00:08:28.530 --> 00:08:30.460 align:middle line:84%
are the other notes
that we can do?

00:08:30.460 --> 00:08:32.710 align:middle line:84%
So we have traditional
counterpoint rules,

00:08:32.710 --> 00:08:36.419 align:middle line:84%
but we also have this
notion that every note that

00:08:36.419 --> 00:08:44.373 align:middle line:84%
appears in the line must
at some point find what?

00:08:44.373 --> 00:08:44.915 align:middle line:90%
You remember?

00:08:44.915 --> 00:08:50.170 align:middle line:90%


00:08:50.170 --> 00:08:52.930 align:middle line:84%
Everybody quiet because
they all know this so easily

00:08:52.930 --> 00:08:55.810 align:middle line:90%
or because it's a little foggy?

00:08:55.810 --> 00:08:57.510 align:middle line:90%
Easy?

00:08:57.510 --> 00:08:58.440 align:middle line:90%
Foggy?

00:08:58.440 --> 00:08:59.410 align:middle line:90%
OK, good.

00:08:59.410 --> 00:09:00.010 align:middle line:90%
That's good.

00:09:00.010 --> 00:09:00.510 align:middle line:90%
Good.

00:09:00.510 --> 00:09:02.670 align:middle line:84%
I prefer silence when
it's foggy because then I

00:09:02.670 --> 00:09:04.360 align:middle line:90%
know what to do next.

00:09:04.360 --> 00:09:07.510 align:middle line:84%
So in order to get
maximum musicality,

00:09:07.510 --> 00:09:10.920 align:middle line:90%
you talked about smoo--

00:09:10.920 --> 00:09:13.980 align:middle line:90%
what begins with smoo--?

00:09:13.980 --> 00:09:15.893 align:middle line:90%
He wants what kind of lines?

00:09:15.893 --> 00:09:16.560 align:middle line:90%
AUDIENCE: Smooth

00:09:16.560 --> 00:09:17.350 align:middle line:90%
MICHAEL CUTHBERT: Smooth lines.

00:09:17.350 --> 00:09:18.490 align:middle line:90%
So we want smooth lines.

00:09:18.490 --> 00:09:22.270 align:middle line:84%
So if at some point, you
have a d here, a low d--

00:09:22.270 --> 00:09:24.165 align:middle line:90%
and we're going to get to c--

00:09:24.165 --> 00:09:26.770 align:middle line:84%
what are the notes that
we need to see after this?

00:09:26.770 --> 00:09:32.910 align:middle line:90%
Oops, just turned red.

00:09:32.910 --> 00:09:37.410 align:middle line:84%
What are the notes that
we need to see after this?

00:09:37.410 --> 00:09:40.240 align:middle line:84%
What's a note we
need to see after d?

00:09:40.240 --> 00:09:40.740 align:middle line:90%
AUDIENCE: E?

00:09:40.740 --> 00:09:42.180 align:middle line:90%
MICHAEL CUTHBERT: What's that?

00:09:42.180 --> 00:09:42.680 align:middle line:90%
AUDIENCE: E?

00:09:42.680 --> 00:09:43.722 align:middle line:90%
MICHAEL CUTHBERT: E. Good.

00:09:43.722 --> 00:09:44.222 align:middle line:90%
Good.

00:09:44.222 --> 00:09:48.090 align:middle line:84%
So if we have an e,
then what happens if we

00:09:48.090 --> 00:09:51.210 align:middle line:90%
have another d after that?

00:09:51.210 --> 00:09:55.850 align:middle line:84%
What are we going to need
after the d at some point?

00:09:55.850 --> 00:09:56.350 align:middle line:90%
Go ahead.

00:09:56.350 --> 00:09:56.800 align:middle line:90%
AUDIENCE: Another e.

00:09:56.800 --> 00:09:57.967 align:middle line:90%
MICHAEL CUTHBERT: Another e.

00:09:57.967 --> 00:09:58.680 align:middle line:90%
Good.

00:09:58.680 --> 00:10:02.770 align:middle line:84%
So basically, whenever
you have a note,

00:10:02.770 --> 00:10:07.695 align:middle line:84%
you have to have after it
every note between here--

00:10:07.695 --> 00:10:09.708 align:middle line:90%
every diatonic note.

00:10:09.708 --> 00:10:10.750 align:middle line:90%
Not every chromatic note.

00:10:10.750 --> 00:10:12.910 align:middle line:84%
You're not going to need
a d sharp at some point.

00:10:12.910 --> 00:10:17.350 align:middle line:84%
Every diatonic note between
here and the final cadence note.

00:10:17.350 --> 00:10:19.960 align:middle line:84%
And that's why it was a little
bit easier to work backwards.

00:10:19.960 --> 00:10:24.613 align:middle line:84%
Now, why was this rule
important for this class?

00:10:24.613 --> 00:10:26.725 align:middle line:90%


00:10:26.725 --> 00:10:28.350 align:middle line:84%
This one might be a
silent because it's

00:10:28.350 --> 00:10:32.400 align:middle line:84%
pretty easy, because almost
everything in this class.

00:10:32.400 --> 00:10:33.275 align:middle line:90%
Who can do it?

00:10:33.275 --> 00:10:36.540 align:middle line:90%


00:10:36.540 --> 00:10:37.380 align:middle line:90%
[INAUDIBLE]?

00:10:37.380 --> 00:10:40.740 align:middle line:90%


00:10:40.740 --> 00:10:43.578 align:middle line:84%
What kind of thing
can apply this rule?

00:10:43.578 --> 00:10:44.370 align:middle line:90%
AUDIENCE: Computer.

00:10:44.370 --> 00:10:45.495 align:middle line:90%
MICHAEL CUTHBERT: Computer.

00:10:45.495 --> 00:10:46.980 align:middle line:90%
So you can have an--

00:10:46.980 --> 00:10:48.690 align:middle line:90%
it can all be done.

00:10:48.690 --> 00:10:50.850 align:middle line:84%
The ironic thing, we're
maximizing musicality

00:10:50.850 --> 00:10:54.310 align:middle line:90%
through algorithms.

00:10:54.310 --> 00:10:54.810 align:middle line:90%
Great.

00:10:54.810 --> 00:10:58.770 align:middle line:84%
So that's about
all I want on that.

00:10:58.770 --> 00:11:01.650 align:middle line:84%
And people whose chose
that problem, those

00:11:01.650 --> 00:11:03.310 align:middle line:90%
tended to do pretty well.

00:11:03.310 --> 00:11:11.250 align:middle line:84%
Now let's get to second,
equality and equivalence.

00:11:11.250 --> 00:11:14.690 align:middle line:84%
And almost everybody
chose to do this one.

00:11:14.690 --> 00:11:17.662 align:middle line:90%


00:11:17.662 --> 00:11:21.270 align:middle line:84%
What's the name associated with
this, without looking down?

00:11:21.270 --> 00:11:23.388 align:middle line:90%
Dmitri is the first name--

00:11:23.388 --> 00:11:24.180 align:middle line:90%
AUDIENCE: Tymoczko.

00:11:24.180 --> 00:11:25.540 align:middle line:90%
MICHAEL CUTHBERT: Tymoczko.

00:11:25.540 --> 00:11:27.100 align:middle line:90%
Let's try to spell it together.

00:11:27.100 --> 00:11:27.988 align:middle line:90%
Give me a--

00:11:27.988 --> 00:11:28.530 align:middle line:90%
AUDIENCE: T--

00:11:28.530 --> 00:11:30.060 align:middle line:84%
MICHAEL CUTHBERT:
T-- give me a--

00:11:30.060 --> 00:11:30.330 align:middle line:90%
AUDIENCE: Y--

00:11:30.330 --> 00:11:31.784 align:middle line:84%
MICHAEL CUTHBERT:
Y-- give me a--

00:11:31.784 --> 00:11:32.712 align:middle line:90%
AUDIENCE: M--

00:11:32.712 --> 00:11:34.318 align:middle line:84%
MICHAEL CUTHBERT:
M-- give me a--

00:11:34.318 --> 00:11:34.860 align:middle line:90%
AUDIENCE: O--

00:11:34.860 --> 00:11:35.981 align:middle line:90%
MICHAEL CUTHBERT: O--

00:11:35.981 --> 00:11:36.689 align:middle line:90%
AUDIENCE: C-Z-K--

00:11:36.689 --> 00:11:39.525 align:middle line:90%


00:11:39.525 --> 00:11:40.786 align:middle line:90%
MICHAEL CUTHBERT: K--

00:11:40.786 --> 00:11:41.328 align:middle line:90%
AUDIENCE: Q--

00:11:41.328 --> 00:11:43.790 align:middle line:90%
MICHAEL CUTHBERT: Q, Tymoczkq.

00:11:43.790 --> 00:11:45.060 align:middle line:90%
He'd like that.

00:11:45.060 --> 00:11:47.930 align:middle line:90%
No, Tymoczko.

00:11:47.930 --> 00:11:51.140 align:middle line:84%
So this one's a little bit
hard, and I would not--

00:11:51.140 --> 00:11:52.130 align:middle line:90%
whatever.

00:11:52.130 --> 00:11:57.290 align:middle line:84%
Basically, one of the things
I try to do is I put in optic

00:11:57.290 --> 00:12:02.090 align:middle line:84%
and whatever you put and see
if Google could find the author

00:12:02.090 --> 00:12:04.400 align:middle line:90%
on the first thing so that--

00:12:04.400 --> 00:12:05.880 align:middle line:90%
on the first page.

00:12:05.880 --> 00:12:11.430 align:middle line:84%
And just remember that, if
you put in Wolfgang Mustard,

00:12:11.430 --> 00:12:12.420 align:middle line:90%
it finds Mozart.

00:12:12.420 --> 00:12:14.900 align:middle line:84%
So Google is pretty
good at this, but--

00:12:14.900 --> 00:12:17.910 align:middle line:90%
OK, so Dmitri Tymoczko's optic.

00:12:17.910 --> 00:12:21.530 align:middle line:90%
Almost everybody got optic--

00:12:21.530 --> 00:12:23.345 align:middle line:90%
octave-- P-T-I-C--

00:12:23.345 --> 00:12:27.993 align:middle line:90%


00:12:27.993 --> 00:12:28.910 align:middle line:90%
AUDIENCE: Cardinality.

00:12:28.910 --> 00:12:29.520 align:middle line:90%
MICHAEL CUTHBERT: Cardinality.

00:12:29.520 --> 00:12:30.020 align:middle line:90%
Good.

00:12:30.020 --> 00:12:31.200 align:middle line:90%
I know this back of my hand.

00:12:31.200 --> 00:12:33.290 align:middle line:84%
I just don't know how
to spell the word optic.

00:12:33.290 --> 00:12:35.420 align:middle line:84%
And then most people,
thank you for including

00:12:35.420 --> 00:12:37.400 align:middle line:84%
my little contribution
of spelling

00:12:37.400 --> 00:12:39.210 align:middle line:90%
on the list, a lot of people.

00:12:39.210 --> 00:12:40.300 align:middle line:90%
Great.

00:12:40.300 --> 00:12:42.400 align:middle line:84%
So people did really,
really great on that.

00:12:42.400 --> 00:12:44.460 align:middle line:84%
Here's some of the
things that, though,

00:12:44.460 --> 00:12:46.500 align:middle line:90%
were a little bit harder.

00:12:46.500 --> 00:12:49.300 align:middle line:84%
I think I might have thrown
some people for a loop,

00:12:49.300 --> 00:12:51.515 align:middle line:84%
and I didn't try
to grade too hard

00:12:51.515 --> 00:12:52.890 align:middle line:84%
on this, because
I realized, ooh,

00:12:52.890 --> 00:12:55.570 align:middle line:84%
I didn't do the greatest
job on this in lecture.

00:12:55.570 --> 00:13:01.030 align:middle line:84%
So it was the difference between
equality and equivalence.

00:13:01.030 --> 00:13:03.630 align:middle line:84%
When we talk about
sameness, which one

00:13:03.630 --> 00:13:05.770 align:middle line:84%
do you think we're most
likely talking about?

00:13:05.770 --> 00:13:08.670 align:middle line:90%
Votes for equality?

00:13:08.670 --> 00:13:11.460 align:middle line:90%
Same, equivalence.

00:13:11.460 --> 00:13:13.210 align:middle line:90%
Oh, we have more on equivalence.

00:13:13.210 --> 00:13:17.140 align:middle line:84%
I might not have
done as well on this.

00:13:17.140 --> 00:13:20.940 align:middle line:84%
I think of sameness
as having more

00:13:20.940 --> 00:13:24.210 align:middle line:84%
to do with equality
in some sense

00:13:24.210 --> 00:13:28.783 align:middle line:84%
and equivalence meaning
can be grouped together.

00:13:28.783 --> 00:13:35.400 align:middle line:90%


00:13:35.400 --> 00:13:37.320 align:middle line:84%
And we could say it
can be grouped together

00:13:37.320 --> 00:13:40.170 align:middle line:84%
in some logical connection
or can be grouped together,

00:13:40.170 --> 00:13:42.810 align:middle line:90%
connected in some logical way.

00:13:42.810 --> 00:13:47.090 align:middle line:84%
And the other thing that I think
probably falls a little bit

00:13:47.090 --> 00:13:51.800 align:middle line:84%
on me because didn't come
out as clearly is that,

00:13:51.800 --> 00:13:54.260 align:middle line:84%
when we're talking about
same, some people--

00:13:54.260 --> 00:13:56.310 align:middle line:84%
and you got full credit
if you did this--

00:13:56.310 --> 00:13:58.500 align:middle line:90%
talked about the big picture.

00:13:58.500 --> 00:14:02.490 align:middle line:84%
This note is same in
every conceivable way.

00:14:02.490 --> 00:14:05.450 align:middle line:84%
So are this piece is the
same as this other piece

00:14:05.450 --> 00:14:08.360 align:middle line:90%
in every conceivable way?

00:14:08.360 --> 00:14:12.680 align:middle line:84%
And that's one way that we
can think of a grand scale

00:14:12.680 --> 00:14:16.710 align:middle line:84%
equality of problem, is that
you all are really smart

00:14:16.710 --> 00:14:21.152 align:middle line:84%
and you all know how to conceive
of things that can break that.

00:14:21.152 --> 00:14:24.950 align:middle line:84%
I hit Play on this
recording and then I

00:14:24.950 --> 00:14:27.080 align:middle line:84%
hit Play on this recording
again, but one of them

00:14:27.080 --> 00:14:29.930 align:middle line:84%
happened 10 minutes
later, and one of them

00:14:29.930 --> 00:14:35.600 align:middle line:84%
was played through on speakers
that had 10 minutes more of wear

00:14:35.600 --> 00:14:37.440 align:middle line:90%
and tear on them or something.

00:14:37.440 --> 00:14:39.690 align:middle line:84%
So you can always conceive
of the way it's different.

00:14:39.690 --> 00:14:42.860 align:middle line:84%
So maybe that's
not as good, but we

00:14:42.860 --> 00:14:47.750 align:middle line:84%
might think of equality of
aspects of something, equality

00:14:47.750 --> 00:14:50.640 align:middle line:90%
of aspects of--

00:14:50.640 --> 00:14:52.137 align:middle line:90%
that--

00:14:52.137 --> 00:14:52.970 align:middle line:90%
I'm trying to think.

00:14:52.970 --> 00:14:55.980 align:middle line:84%
You all are sitting down,
so I'm trying to think.

00:14:55.980 --> 00:14:56.840 align:middle line:90%
Maybe Jake is.

00:14:56.840 --> 00:14:59.040 align:middle line:84%
That we are not
exactly the same,

00:14:59.040 --> 00:15:01.290 align:middle line:84%
but I think we're
approximately the same height.

00:15:01.290 --> 00:15:02.130 align:middle line:90%
Maybe we're the same height.

00:15:02.130 --> 00:15:03.047 align:middle line:90%
Let's say that we are.

00:15:03.047 --> 00:15:06.930 align:middle line:84%
So we are same in heightness
or something like that.

00:15:06.930 --> 00:15:12.600 align:middle line:84%
So two notes could be same in
frequency, equal in frequency.

00:15:12.600 --> 00:15:18.650 align:middle line:84%
So that's tend to use equality
for some sort of attribute

00:15:18.650 --> 00:15:25.010 align:middle line:84%
of something that is identical
or not cannot be distinguished

00:15:25.010 --> 00:15:26.420 align:middle line:90%
from each other.

00:15:26.420 --> 00:15:31.070 align:middle line:84%
Whereas equivalence, we
tend to think of as things

00:15:31.070 --> 00:15:33.330 align:middle line:90%
that we can group together.

00:15:33.330 --> 00:15:42.830 align:middle line:84%
None of us are the same in
any real, deep, great way,

00:15:42.830 --> 00:15:49.120 align:middle line:84%
but we all could be lumped under
the equivalence class of MIT

00:15:49.120 --> 00:15:54.185 align:middle line:90%
21M.383 students.

00:15:54.185 --> 00:15:57.250 align:middle line:84%
And it kind of tells you also
that equivalence classes might

00:15:57.250 --> 00:15:59.500 align:middle line:84%
be overlapping,
because some of you

00:15:59.500 --> 00:16:05.480 align:middle line:84%
might be also MIT 6.042
students together,

00:16:05.480 --> 00:16:07.550 align:middle line:84%
or you could be
in something else.

00:16:07.550 --> 00:16:09.970 align:middle line:90%
So they could be overlapping.

00:16:09.970 --> 00:16:13.900 align:middle line:84%
Then the hardest part, I think,
on this problem that snagged

00:16:13.900 --> 00:16:17.560 align:middle line:90%
a bunch of people is where--

00:16:17.560 --> 00:16:26.620 align:middle line:84%
in what contexts equivalence
classes might be used

00:16:26.620 --> 00:16:27.320 align:middle line:90%
and might not.

00:16:27.320 --> 00:16:36.160 align:middle line:84%
That we might think of
[PLAYING INSTRUMENT] as one

00:16:36.160 --> 00:16:41.950 align:middle line:84%
chord, arpeggiated, and
[PLAYING INSTRUMENT] as the same

00:16:41.950 --> 00:16:43.150 align:middle line:90%
chord or--

00:16:43.150 --> 00:16:45.890 align:middle line:84%
I guess I just use same
in an equivalent sense.

00:16:45.890 --> 00:16:50.990 align:middle line:84%
So maybe I'm less dogmatic
there-- as an equivalent chord,

00:16:50.990 --> 00:16:57.490 align:middle line:84%
even though one of
them was going up

00:16:57.490 --> 00:16:59.630 align:middle line:84%
and the other one
was going down.

00:16:59.630 --> 00:17:03.220 align:middle line:84%
So we might think that the
permutation doesn't matter

00:17:03.220 --> 00:17:05.470 align:middle line:84%
in that particular class
when we're talking about,

00:17:05.470 --> 00:17:07.780 align:middle line:90%
what chord did I arpeggiate?

00:17:07.780 --> 00:17:09.819 align:middle line:84%
And then later, we
might say, well,

00:17:09.819 --> 00:17:11.839 align:middle line:84%
direction is another
equivalence class.

00:17:11.839 --> 00:17:16.030 align:middle line:90%
Did it go up or did it go down?

00:17:16.030 --> 00:17:19.119 align:middle line:84%
And contexts for when
you might use one

00:17:19.119 --> 00:17:21.069 align:middle line:90%
and when you might not use one.

00:17:21.069 --> 00:17:24.849 align:middle line:84%
A lot of times the context
where equivalence classes come

00:17:24.849 --> 00:17:28.270 align:middle line:84%
in, it's a little kind
of too obvious in a class

00:17:28.270 --> 00:17:31.160 align:middle line:84%
called computational
music theory and analysis.

00:17:31.160 --> 00:17:34.480 align:middle line:84%
The equivalence classes
tend to not come in very--

00:17:34.480 --> 00:17:39.910 align:middle line:84%
as often in performance
than in analysis.

00:17:39.910 --> 00:17:46.540 align:middle line:84%
So I think more than
one person wrote, well,

00:17:46.540 --> 00:17:48.850 align:middle line:84%
that you can think
of a performance

00:17:48.850 --> 00:17:52.310 align:middle line:84%
where cardinality
doesn't matter.

00:17:52.310 --> 00:17:55.670 align:middle line:84%
And I might have written
something like, well,

00:17:55.670 --> 00:17:57.555 align:middle line:84%
if you play that
measure three times

00:17:57.555 --> 00:17:59.930 align:middle line:84%
because that's what's written--
and I only play it once--

00:17:59.930 --> 00:18:02.450 align:middle line:84%
it's going to matter for
a performance class play,

00:18:02.450 --> 00:18:06.040 align:middle line:84%
but we might not think of
the cardinality as mattering.

00:18:06.040 --> 00:18:08.290 align:middle line:84%
If we're trying
to do a search on,

00:18:08.290 --> 00:18:12.080 align:middle line:84%
does this piece have
any diminished triads?

00:18:12.080 --> 00:18:15.010 align:middle line:84%
We don't really care
how many major triads

00:18:15.010 --> 00:18:17.360 align:middle line:84%
and how many minor,
but in that case,

00:18:17.360 --> 00:18:19.330 align:middle line:84%
we might just be
lumping everything

00:18:19.330 --> 00:18:22.570 align:middle line:84%
under the type of
triad equivalence class

00:18:22.570 --> 00:18:25.690 align:middle line:90%
and not counting how many.

00:18:25.690 --> 00:18:30.530 align:middle line:84%
A particular one, but we use
these all the time in real life.

00:18:30.530 --> 00:18:34.000 align:middle line:84%
So the example that
popped into my head today

00:18:34.000 --> 00:18:40.910 align:middle line:84%
is, if you're going
to Taylor Swift--

00:18:40.910 --> 00:18:44.590 align:middle line:84%
if you're going to be
analyzing a Taylor Swift song

00:18:44.590 --> 00:18:48.140 align:middle line:84%
and you're going to look at
the harmonic structure of it,

00:18:48.140 --> 00:18:52.840 align:middle line:84%
does it matter,
presumably, if you're

00:18:52.840 --> 00:18:55.030 align:middle line:84%
listening to Taylor
Swift's recording

00:18:55.030 --> 00:18:56.590 align:middle line:84%
or if you're
listening to a cover

00:18:56.590 --> 00:19:01.566 align:middle line:84%
band, one that's trying to be
faithful for harmonic structure?

00:19:01.566 --> 00:19:04.270 align:middle line:90%


00:19:04.270 --> 00:19:05.030 align:middle line:90%
Not really.

00:19:05.030 --> 00:19:07.270 align:middle line:84%
You hope a good
cover band is trying

00:19:07.270 --> 00:19:09.970 align:middle line:84%
to sound like that, trying
to use the same harmonies.

00:19:09.970 --> 00:19:18.110 align:middle line:84%
So we could come up with a cover
band equivalence class cover.

00:19:18.110 --> 00:19:20.600 align:middle line:84%
Maybe we just call it the
cover equivalence class,

00:19:20.600 --> 00:19:23.980 align:middle line:84%
which applies if you're
doing harmonic analysis.

00:19:23.980 --> 00:19:27.250 align:middle line:84%
Does it matter whether you're
seeing Taylor Swift or a cover

00:19:27.250 --> 00:19:31.210 align:middle line:84%
band if you just paid $900
for front row tickets?

00:19:31.210 --> 00:19:32.540 align:middle line:90%
Yeah, it does.

00:19:32.540 --> 00:19:35.500 align:middle line:84%
So we can think of live
performance as a place

00:19:35.500 --> 00:19:38.210 align:middle line:84%
where cover equivalence
doesn't exist.

00:19:38.210 --> 00:19:40.580 align:middle line:84%
Now, we mostly talked
about pitch equivalence.

00:19:40.580 --> 00:19:43.720 align:middle line:90%
So that's a big thing there.

00:19:43.720 --> 00:19:47.590 align:middle line:84%
So that we might be thinking too
much about pitch and not enough

00:19:47.590 --> 00:19:51.640 align:middle line:84%
about duration equivalence,
not enough about bigger things.

00:19:51.640 --> 00:19:54.340 align:middle line:84%
The other thing
just to talk about

00:19:54.340 --> 00:19:57.220 align:middle line:84%
is that, often, when we're
talking about these pitch

00:19:57.220 --> 00:20:00.080 align:middle line:84%
equivalences, like octave
or cardinality or things,

00:20:00.080 --> 00:20:04.504 align:middle line:84%
we're not really thinking
about the sort of--

00:20:04.504 --> 00:20:08.190 align:middle line:84%
I don't know-- the
scale of the piece.

00:20:08.190 --> 00:20:11.020 align:middle line:84%
We're not really
thinking, does this piece

00:20:11.020 --> 00:20:13.870 align:middle line:84%
have the same number
of notes as this piece

00:20:13.870 --> 00:20:16.700 align:middle line:84%
if we apply cardinality
equivalence or something?

00:20:16.700 --> 00:20:20.140 align:middle line:84%
But we might be thinking
about, does this chord

00:20:20.140 --> 00:20:23.620 align:middle line:84%
have the same number
of unique pitch classes

00:20:23.620 --> 00:20:28.110 align:middle line:84%
if we're applying octave,
permutation, transposition,

00:20:28.110 --> 00:20:30.630 align:middle line:90%
and cardinality?

00:20:30.630 --> 00:20:34.270 align:middle line:84%
So that level comes
up quite a bit.

00:20:34.270 --> 00:20:39.900 align:middle line:84%
I think there's
one place where we

00:20:39.900 --> 00:20:43.540 align:middle line:84%
do tend to think of equivalence
classes on a piece level

00:20:43.540 --> 00:20:46.020 align:middle line:90%
sometimes.

00:20:46.020 --> 00:20:49.080 align:middle line:90%
That's when you have--

00:20:49.080 --> 00:20:50.580 align:middle line:90%
I don't know--

00:20:50.580 --> 00:20:57.598 align:middle line:90%
Beethoven's third symphony in--

00:20:57.598 --> 00:20:59.710 align:middle line:90%
I don't know-- E-flat major.

00:20:59.710 --> 00:21:02.310 align:middle line:84%
Sorry, of course, this
isn't a music history class

00:21:02.310 --> 00:21:04.380 align:middle line:84%
on the history of
Beethoven, but that we do

00:21:04.380 --> 00:21:09.000 align:middle line:84%
tend to group pieces in
classical music by key.

00:21:09.000 --> 00:21:11.380 align:middle line:84%
The other place that
immediately comes to head,

00:21:11.380 --> 00:21:15.660 align:middle line:84%
where there might be
equivalence classes of pieces

00:21:15.660 --> 00:21:19.200 align:middle line:84%
is a DJ might have a beats per
minute equivalence class, where

00:21:19.200 --> 00:21:23.080 align:middle line:84%
you want to group together
all songs with the same BPM

00:21:23.080 --> 00:21:24.610 align:middle line:90%
so you can switch between them.

00:21:24.610 --> 00:21:27.840 align:middle line:90%
So think on that.

00:21:27.840 --> 00:21:33.480 align:middle line:84%
Any thoughts or
questions on this?

00:21:33.480 --> 00:21:36.030 align:middle line:84%
And thank you to the person
who gave me the opportunity

00:21:36.030 --> 00:21:39.390 align:middle line:84%
to explore the permutation
equivalence class

00:21:39.390 --> 00:21:40.150 align:middle line:90%
on happy birthday.

00:21:40.150 --> 00:21:44.130 align:middle line:90%


00:21:44.130 --> 00:21:50.080 align:middle line:84%
OK last ones to talk
about, the three contexts.

00:21:50.080 --> 00:21:54.700 align:middle line:84%
This one was a
little bit harder.

00:21:54.700 --> 00:21:56.610 align:middle line:90%
Some people got.

00:21:56.610 --> 00:21:58.560 align:middle line:84%
It was by Eleanor
Selfridge-Field.

00:21:58.560 --> 00:22:02.438 align:middle line:84%
And some people thought
it was the decently

00:22:02.438 --> 00:22:04.230 align:middle line:84%
similar about the same
time in the semester

00:22:04.230 --> 00:22:05.740 align:middle line:90%
article by Nicholas Cook.

00:22:05.740 --> 00:22:08.880 align:middle line:84%
And if you wrote that, you
are getting some credit

00:22:08.880 --> 00:22:12.540 align:middle line:84%
because you were really
in the right ballpark.

00:22:12.540 --> 00:22:18.300 align:middle line:84%
So she talks about the three
main contexts talks about are--

00:22:18.300 --> 00:22:20.680 align:middle line:84%
you can read them off
or better sing them out.

00:22:20.680 --> 00:22:22.830 align:middle line:90%
First one?

00:22:22.830 --> 00:22:23.760 align:middle line:90%
AUDIENCE: Symbolic?

00:22:23.760 --> 00:22:25.710 align:middle line:84%
MICHAEL CUTHBERT:
So symbolic is--

00:22:25.710 --> 00:22:29.250 align:middle line:84%
well, we'll get-- is there
but not one of her terms.

00:22:29.250 --> 00:22:31.060 align:middle line:84%
And that ends up being
the problematic one.

00:22:31.060 --> 00:22:32.780 align:middle line:90%
But yeah, we'll keep that one.

00:22:32.780 --> 00:22:33.280 align:middle line:90%
Else?

00:22:33.280 --> 00:22:33.970 align:middle line:90%
What's that?

00:22:33.970 --> 00:22:34.290 align:middle line:90%
AUDIENCE: Graphical?

00:22:34.290 --> 00:22:35.457 align:middle line:90%
MICHAEL CUTHBERT: Graphical.

00:22:35.457 --> 00:22:37.410 align:middle line:90%
Yep.

00:22:37.410 --> 00:22:38.220 align:middle line:90%
Graphical.

00:22:38.220 --> 00:22:40.110 align:middle line:84%
And what's the
opposite-- what do we

00:22:40.110 --> 00:22:42.353 align:middle line:90%
contrast graphical things with?

00:22:42.353 --> 00:22:43.020 align:middle line:90%
AUDIENCE: Sound.

00:22:43.020 --> 00:22:44.020 align:middle line:90%
MICHAEL CUTHBERT: Sound.

00:22:44.020 --> 00:22:46.230 align:middle line:90%
Good.

00:22:46.230 --> 00:22:50.685 align:middle line:84%
And then the logical
is what she has.

00:22:50.685 --> 00:22:54.810 align:middle line:84%
And so symbolic will
be in there, things.

00:22:54.810 --> 00:22:58.320 align:middle line:84%
One of the things that
came up a lot in the quiz

00:22:58.320 --> 00:23:04.470 align:middle line:84%
was that people were immediately
going to a higher level

00:23:04.470 --> 00:23:06.430 align:middle line:90%
than what she was intending.

00:23:06.430 --> 00:23:09.990 align:middle line:84%
So when we think
about graphical,

00:23:09.990 --> 00:23:14.820 align:middle line:84%
this is a graphical context
for representing music,

00:23:14.820 --> 00:23:18.090 align:middle line:84%
but in her mind, what
is the graphical thing

00:23:18.090 --> 00:23:20.580 align:middle line:90%
I just created here?

00:23:20.580 --> 00:23:22.290 align:middle line:90%
Anyone want to take a guess?

00:23:22.290 --> 00:23:25.263 align:middle line:90%
If you don't go to high--

00:23:25.263 --> 00:23:26.430 align:middle line:90%
AUDIENCE: Circle and a line?

00:23:26.430 --> 00:23:27.930 align:middle line:84%
MICHAEL CUTHBERT:
Circle and a line.

00:23:27.930 --> 00:23:31.020 align:middle line:84%
Going to say-- great,
a circle and a line.

00:23:31.020 --> 00:23:36.900 align:middle line:84%
So by the time you move that to,
Professor, you drew a quarter

00:23:36.900 --> 00:23:41.250 align:middle line:84%
note with a stem
down, stem down,

00:23:41.250 --> 00:23:46.050 align:middle line:84%
on the third space with
this context, you draw a C,

00:23:46.050 --> 00:23:50.010 align:middle line:84%
you've already been moving
to the logical domain.

00:23:50.010 --> 00:23:53.980 align:middle line:84%
Similarly, when
you hear a sound--

00:23:53.980 --> 00:23:56.140 align:middle line:84%
I can only represent
sound right now.

00:23:56.140 --> 00:23:58.660 align:middle line:84%
Well, duh, I can do
it in the sound domain

00:23:58.660 --> 00:24:02.700 align:middle line:84%
but in the graphic
domain of sound.

00:24:02.700 --> 00:24:08.590 align:middle line:84%
You don't necessarily
yet hear, oh, I hear a C.

00:24:08.590 --> 00:24:12.270 align:middle line:84%
Maybe you can say-- or I hear
an A. Maybe you can say--

00:24:12.270 --> 00:24:14.860 align:middle line:84%
if you're an oscillator
in your head, you can say,

00:24:14.860 --> 00:24:18.790 align:middle line:84%
I hear something oscillating
at 4:40 times per second.

00:24:18.790 --> 00:24:23.070 align:middle line:84%
But then to move that
to an A4, octave 4,

00:24:23.070 --> 00:24:25.690 align:middle line:84%
is a motion to the
logical domain.

00:24:25.690 --> 00:24:27.960 align:middle line:84%
So this, I don't think
I was clear enough

00:24:27.960 --> 00:24:31.200 align:middle line:84%
on and maybe Eleanor
Selfridge-Field wasn't enough

00:24:31.200 --> 00:24:34.720 align:middle line:84%
or we just need to read it
a little bit more closely.

00:24:34.720 --> 00:24:38.550 align:middle line:84%
And similarly, even
things like instrument,

00:24:38.550 --> 00:24:41.160 align:middle line:84%
I hear an instrument,
you're already

00:24:41.160 --> 00:24:43.330 align:middle line:90%
moving to the logical domain.

00:24:43.330 --> 00:24:48.010 align:middle line:84%
You might, if you're a
signal processor, be saying,

00:24:48.010 --> 00:24:53.370 align:middle line:84%
oh, I'm hearing a waveform where
only the odd partial harmonics

00:24:53.370 --> 00:24:58.620 align:middle line:84%
are present, and then your
memory bank is saying,

00:24:58.620 --> 00:25:01.140 align:middle line:90%
oh, I'm hearing a clarinet.

00:25:01.140 --> 00:25:05.470 align:middle line:84%
So those are the odd [INAUDIBLE]
I don't teach that class.

00:25:05.470 --> 00:25:08.286 align:middle line:90%
I think that's right.

00:25:08.286 --> 00:25:13.140 align:middle line:84%
So because elements
of the logical domain,

00:25:13.140 --> 00:25:15.150 align:middle line:84%
a lot of our answers
were transferring

00:25:15.150 --> 00:25:17.860 align:middle line:84%
to the sound or the
graphical domain,

00:25:17.860 --> 00:25:27.500 align:middle line:84%
the logical domain got sort of
tangled up with the next higher

00:25:27.500 --> 00:25:31.310 align:middle line:84%
domain, here, the next,
more abstract thing, which

00:25:31.310 --> 00:25:34.613 align:middle line:84%
in this case, I'm going to
call it the meaning domain.

00:25:34.613 --> 00:25:37.610 align:middle line:90%


00:25:37.610 --> 00:25:41.265 align:middle line:90%
We can call it the her--

00:25:41.265 --> 00:25:42.890 align:middle line:84%
I'm going to actually
try to write this

00:25:42.890 --> 00:25:43.807 align:middle line:90%
without looking down--

00:25:43.807 --> 00:25:48.920 align:middle line:84%
--menutic domain, which is
the study of the construction

00:25:48.920 --> 00:25:51.510 align:middle line:84%
of meaning or the
conceptualization of meaning.

00:25:51.510 --> 00:25:54.150 align:middle line:84%
It's actually a pretty cool
word if you don't know it,

00:25:54.150 --> 00:25:56.930 align:middle line:84%
but I don't like it too
much because my whole life,

00:25:56.930 --> 00:26:02.030 align:middle line:84%
I've had blowhards,
if I say that word.

00:26:02.030 --> 00:26:04.320 align:middle line:84%
Who use hermenutic and
throw it around everywhere?

00:26:04.320 --> 00:26:06.362 align:middle line:84%
I'm having a hermeneutic
construction of meaning.

00:26:06.362 --> 00:26:09.380 align:middle line:84%
It's like, well, no, that's
just what that means.

00:26:09.380 --> 00:26:11.970 align:middle line:84%
If you [INAUDIBLE] up, learn
your hermenutics [INAUDIBLE].

00:26:11.970 --> 00:26:14.460 align:middle line:84%
So I'll often just call
it the meaning domain.

00:26:14.460 --> 00:26:19.800 align:middle line:84%
And so you might be that
your logical sound domain,

00:26:19.800 --> 00:26:22.220 align:middle line:84%
you've heard
[MAKING TONGUE CLICKING SOUNDS]

00:26:22.220 --> 00:26:25.580 align:middle line:84%
And your graphical domain, you
saw a whole bunch of things

00:26:25.580 --> 00:26:29.000 align:middle line:84%
on page and your
logical domain said, oh,

00:26:29.000 --> 00:26:33.320 align:middle line:84%
there's a whole bunch of
randomly spaced staccato 8th

00:26:33.320 --> 00:26:37.430 align:middle line:84%
notes, or even randomly
spaced might be too far down.

00:26:37.430 --> 00:26:40.940 align:middle line:84%
So at this level, you might
say, oh, the title of the piece

00:26:40.940 --> 00:26:44.690 align:middle line:84%
is fireflies, and
this is a depiction

00:26:44.690 --> 00:26:47.070 align:middle line:84%
of how the fireflies
are coming in and out.

00:26:47.070 --> 00:26:53.060 align:middle line:84%
So there is a next level
of domain to have there.

00:26:53.060 --> 00:26:59.060 align:middle line:84%
Difficulty is that-- there's
this word semantic that came up

00:26:59.060 --> 00:27:03.050 align:middle line:90%
a lot, semantic--

00:27:03.050 --> 00:27:05.180 align:middle line:84%
sorry, I'm writing over
it, but I'm writing there

00:27:05.180 --> 00:27:06.230 align:middle line:90%
for a particular reason--

00:27:06.230 --> 00:27:11.420 align:middle line:90%


00:27:11.420 --> 00:27:14.750 align:middle line:84%
that Eleanor
Selfridge-Field uses

00:27:14.750 --> 00:27:19.550 align:middle line:84%
to imply this level
of understanding.

00:27:19.550 --> 00:27:22.050 align:middle line:84%
That that's the greater
meaning of things.

00:27:22.050 --> 00:27:24.690 align:middle line:90%
So it's a fourth context there.

00:27:24.690 --> 00:27:29.390 align:middle line:84%
But over time, it's
kind of been migrated up

00:27:29.390 --> 00:27:33.110 align:middle line:84%
in music information
retrieval to be

00:27:33.110 --> 00:27:35.760 align:middle line:90%
closer to the logical domain.

00:27:35.760 --> 00:27:39.710 align:middle line:84%
So people will say,
oh, I don't want to--

00:27:39.710 --> 00:27:42.320 align:middle line:84%
I don't want to know
exactly how you're

00:27:42.320 --> 00:27:44.520 align:middle line:90%
going to draw it on the page.

00:27:44.520 --> 00:27:50.910 align:middle line:84%
I want to know it's semantically
a quarter note C5 or something.

00:27:50.910 --> 00:27:53.840 align:middle line:84%
And so this term,
I'm going to try

00:27:53.840 --> 00:27:58.190 align:middle line:84%
to avoid too much because
it's being used in two

00:27:58.190 --> 00:28:04.294 align:middle line:90%
very different contexts here.

00:28:04.294 --> 00:28:06.796 align:middle line:84%
Questions on this
or more discussion?

00:28:06.796 --> 00:28:14.760 align:middle line:90%


00:28:14.760 --> 00:28:17.510 align:middle line:84%
I know we want to
get to some coding

00:28:17.510 --> 00:28:20.480 align:middle line:84%
and get to some other
things, but thanks

00:28:20.480 --> 00:28:22.440 align:middle line:90%
for sticking with all of this.

00:28:22.440 --> 00:28:24.560 align:middle line:84%
Oh, and there was one
thing that came up

00:28:24.560 --> 00:28:26.210 align:middle line:84%
and a really good
answer that made

00:28:26.210 --> 00:28:29.880 align:middle line:84%
me realize that I definitely
didn't say this in class.

00:28:29.880 --> 00:28:36.890 align:middle line:84%
That she says, most notation
formats focus on one of these--

00:28:36.890 --> 00:28:40.080 align:middle line:84%
or music representations
focus on one of these things.

00:28:40.080 --> 00:28:45.500 align:middle line:84%
So yeah, definitely
the CD focused on sound

00:28:45.500 --> 00:28:53.520 align:middle line:84%
and the PDF of music focuses on
graphics and things like that.

00:28:53.520 --> 00:28:57.380 align:middle line:84%
But the one way that
that article has aged

00:28:57.380 --> 00:29:00.560 align:middle line:84%
is that nowadays, we
have so many formats that

00:29:00.560 --> 00:29:04.950 align:middle line:84%
try to do-- encode two or
more of these things together.

00:29:04.950 --> 00:29:07.220 align:middle line:84%
So that you might
have MusicXML, which

00:29:07.220 --> 00:29:11.690 align:middle line:84%
is encoding some pixel
placements of notes

00:29:11.690 --> 00:29:14.380 align:middle line:90%
also and also encoding--

00:29:14.380 --> 00:29:18.550 align:middle line:84%
you can do links to the
waveform of something.

00:29:18.550 --> 00:29:22.790 align:middle line:84%
And even going from CD
to MP3 in modern formats,

00:29:22.790 --> 00:29:25.090 align:middle line:84%
yes, it encodes the
sound but also encodes

00:29:25.090 --> 00:29:28.630 align:middle line:84%
some of the metadata,
the year it was proposed

00:29:28.630 --> 00:29:29.960 align:middle line:90%
and things like that.

00:29:29.960 --> 00:29:33.400 align:middle line:84%
And nowadays, they can even
be putting recommendations

00:29:33.400 --> 00:29:35.480 align:middle line:84%
to other songs or
something like that.

00:29:35.480 --> 00:29:38.020 align:middle line:90%
Cool.

00:29:38.020 --> 00:29:41.720 align:middle line:84%
Let's come back because
want to make some things.

00:29:41.720 --> 00:29:44.430 align:middle line:84%
We've been in theory
mode for too long.

00:29:44.430 --> 00:29:48.910 align:middle line:90%


00:29:48.910 --> 00:29:52.930 align:middle line:84%
Last class, we ended by doing
some algorithmic composition

00:29:52.930 --> 00:29:55.990 align:middle line:90%
with random walks.

00:29:55.990 --> 00:30:00.500 align:middle line:84%
Here's a random walk composition
that I wrote in 10 minutes once,

00:30:00.500 --> 00:30:03.020 align:middle line:84%
and I just want to say
one or two things on it.

00:30:03.020 --> 00:30:03.800 align:middle line:90%
Maybe you hate it.

00:30:03.800 --> 00:30:04.760 align:middle line:90%
Maybe you like it.

00:30:04.760 --> 00:30:08.211 align:middle line:90%
[MUSIC PLAYING]

00:30:08.211 --> 00:30:37.300 align:middle line:90%


00:30:37.300 --> 00:30:41.470 align:middle line:84%
So one of the things I did in
my aesthetic on the piece, just

00:30:41.470 --> 00:30:43.640 align:middle line:84%
to say a few little
things on it,

00:30:43.640 --> 00:30:49.538 align:middle line:84%
is that I gave a large amount
of gravity toward whatever note,

00:30:49.538 --> 00:30:51.830 align:middle line:84%
which is a kind of transpose
to make it more dissonant,

00:30:51.830 --> 00:30:53.620 align:middle line:84%
whatever note
something started on.

00:30:53.620 --> 00:30:56.860 align:middle line:84%
When it went away, it
was really, really likely

00:30:56.860 --> 00:30:59.750 align:middle line:84%
to get pulled back to
where it came from.

00:30:59.750 --> 00:31:02.650 align:middle line:84%
So that's why you'll see
just a few things that

00:31:02.650 --> 00:31:04.880 align:middle line:90%
get perturbed out of way.

00:31:04.880 --> 00:31:08.030 align:middle line:84%
And then, as the piece goes
on within each section,

00:31:08.030 --> 00:31:09.590 align:middle line:84%
the gravity got
weaker and weaker.

00:31:09.590 --> 00:31:11.798 align:middle line:84%
And so that kind
of let it have--

00:31:11.798 --> 00:31:13.840 align:middle line:84%
I don't know-- kind of
the opposite of a Lewinian

00:31:13.840 --> 00:31:17.500 align:middle line:84%
global rule that things got
a little bit farther out

00:31:17.500 --> 00:31:18.530 align:middle line:90%
as it went.

00:31:18.530 --> 00:31:20.800 align:middle line:84%
The other thing that I
couldn't believe when I first

00:31:20.800 --> 00:31:23.050 align:middle line:84%
saw, I was like, oh, I think
this will be a good idea,

00:31:23.050 --> 00:31:24.850 align:middle line:84%
write the code or
the code, generate

00:31:24.850 --> 00:31:28.000 align:middle line:84%
put, and it sounded
just a mess, totally.

00:31:28.000 --> 00:31:30.491 align:middle line:84%
Maybe it still sounded
like a mess to you.

00:31:30.491 --> 00:31:34.600 align:middle line:84%
But putting in
these staccato marks

00:31:34.600 --> 00:31:36.760 align:middle line:84%
made all the difference
for making it

00:31:36.760 --> 00:31:38.720 align:middle line:90%
more of a percussive piece.

00:31:38.720 --> 00:31:42.490 align:middle line:84%
So you can do things like that
if you want your pieces to be

00:31:42.490 --> 00:31:44.210 align:middle line:90%
a little bit more interesting.

00:31:44.210 --> 00:31:44.710 align:middle line:90%
Yeah.

00:31:44.710 --> 00:31:46.960 align:middle line:84%
AUDIENCE: Is there some
form of articulation

00:31:46.960 --> 00:31:48.670 align:middle line:84%
label that you
could use to avoid

00:31:48.670 --> 00:31:50.055 align:middle line:90%
having to staccato every note?

00:31:50.055 --> 00:31:52.900 align:middle line:90%


00:31:52.900 --> 00:31:54.655 align:middle line:90%
MICHAEL CUTHBERT: You could--

00:31:54.655 --> 00:31:56.560 align:middle line:90%
in modern thing you would say--

00:31:56.560 --> 00:31:58.360 align:middle line:84%
you dot, dot, dot,
dot, and then you

00:31:58.360 --> 00:32:02.080 align:middle line:84%
probably say staccat sim
staccato-- similarly,

00:32:02.080 --> 00:32:03.050 align:middle line:90%
staccato throughout.

00:32:03.050 --> 00:32:06.400 align:middle line:84%
Or probably you would
just tell a performer,

00:32:06.400 --> 00:32:08.540 align:middle line:84%
if you're talking
to actual humans,

00:32:08.540 --> 00:32:11.290 align:middle line:84%
all notes smaller
than whole notes

00:32:11.290 --> 00:32:14.818 align:middle line:90%
are staccatissimo or something.

00:32:14.818 --> 00:32:16.360 align:middle line:84%
AUDIENCE: Is it
possible to implement

00:32:16.360 --> 00:32:20.140 align:middle line:84%
that in this graphical
software or does

00:32:20.140 --> 00:32:21.307 align:middle line:90%
the MIDI play not recognize?

00:32:21.307 --> 00:32:23.182 align:middle line:84%
MICHAEL CUTHBERT: Yeah,
it doesn't recognize.

00:32:23.182 --> 00:32:25.210 align:middle line:84%
When you start talking,
you think, ever

00:32:25.210 --> 00:32:27.640 align:middle line:84%
more expressive as
it goes, the MIDI

00:32:27.640 --> 00:32:30.320 align:middle line:84%
just ignores that,
for the most part.

00:32:30.320 --> 00:32:37.485 align:middle line:84%
I mean, maybe that's the great
large language model thing too.

00:32:37.485 --> 00:32:39.790 align:middle line:84%
The first thing that
takes a Mahler score

00:32:39.790 --> 00:32:42.840 align:middle line:84%
is MIDI and give it all
of his rehearsal marks,

00:32:42.840 --> 00:32:46.880 align:middle line:84%
the [SPEAKING GERMAN],
all that stuff.

00:32:46.880 --> 00:32:49.480 align:middle line:84%
It's like, oh, I must
turn myself into fire

00:32:49.480 --> 00:32:51.830 align:middle line:90%
and perform this in this way.

00:32:51.830 --> 00:32:54.958 align:middle line:84%
And yeah, maybe that would
be kind of interesting.

00:32:54.958 --> 00:32:56.000 align:middle line:90%
I hadn't thought of that.

00:32:56.000 --> 00:32:59.170 align:middle line:90%
Thanks for the idea.

00:32:59.170 --> 00:33:01.453 align:middle line:84%
Yeah, so we don't have
that type of thing.

00:33:01.453 --> 00:33:03.370 align:middle line:84%
Besides, when you're
doing computation things,

00:33:03.370 --> 00:33:07.300 align:middle line:84%
one of the things is
it's pretty cheap to,

00:33:07.300 --> 00:33:11.380 align:middle line:84%
in a loop, put staccatos
on every single thing.

00:33:11.380 --> 00:33:12.650 align:middle line:90%
Yeah, great.

00:33:12.650 --> 00:33:14.710 align:middle line:84%
So anyhow, I want to
spend time on that, just

00:33:14.710 --> 00:33:18.850 align:middle line:84%
a little amuse-bouche before
getting to go ahead and open up

00:33:18.850 --> 00:33:21.564 align:middle line:90%
Jupyter.

00:33:21.564 --> 00:33:23.470 align:middle line:90%
I'll give you a second or two.

00:33:23.470 --> 00:33:28.000 align:middle line:90%


00:33:28.000 --> 00:33:34.000 align:middle line:84%
We have a bunch of little things
that we haven't gotten to yet

00:33:34.000 --> 00:33:39.460 align:middle line:84%
that I want to make
sure that we can get to.

00:33:39.460 --> 00:33:44.770 align:middle line:84%
Reminder that the problem
set is a Russian nesting doll

00:33:44.770 --> 00:33:49.570 align:middle line:84%
of unlocking tools, so that
please pay very close attention

00:33:49.570 --> 00:33:53.690 align:middle line:84%
on each of the questions on
what tools have been unlocked.

00:33:53.690 --> 00:33:57.232 align:middle line:84%
But if I'm telling you, well,
you now have access to chord,

00:33:57.232 --> 00:33:58.940 align:middle line:84%
and now you have access
to Roman numeral,

00:33:58.940 --> 00:34:00.950 align:middle line:84%
I should at least
introduce these to you.

00:34:00.950 --> 00:34:08.870 align:middle line:84%
I can't remember if I
introduced chord very briefly,

00:34:08.870 --> 00:34:10.380 align:middle line:90%
or if we didn't.

00:34:10.380 --> 00:34:12.980 align:middle line:90%
Maybe-- I don't think we did.

00:34:12.980 --> 00:34:14.920 align:middle line:84%
I probably need
some other things.

00:34:14.920 --> 00:34:19.770 align:middle line:84%
I'm going to import chord note
pitch for now, so go ahead

00:34:19.770 --> 00:34:21.600 align:middle line:90%
and do that.

00:34:21.600 --> 00:34:23.469 align:middle line:90%
Did I put the screen down even?

00:34:23.469 --> 00:34:24.659 align:middle line:90%
It's all good.

00:34:24.659 --> 00:34:30.239 align:middle line:84%
OK, so the hardest way
that you can create a chord

00:34:30.239 --> 00:34:34.542 align:middle line:84%
is, let's say, C equals
note.Note C. I'm giving you

00:34:34.542 --> 00:34:36.000 align:middle line:84%
the hardest way,
so maybe you don't

00:34:36.000 --> 00:34:37.375 align:middle line:84%
want to do this
because I'm going

00:34:37.375 --> 00:34:41.699 align:middle line:84%
to give you the easier way in a
bit, or if you just get behind.

00:34:41.699 --> 00:34:44.679 align:middle line:84%
Note G-- oh, I should probably
give them octaves, shouldn't I?

00:34:44.679 --> 00:34:47.580 align:middle line:90%
C4, E4, G4.

00:34:47.580 --> 00:34:51.719 align:middle line:84%
And then we'll say
ch for chord, "cha."

00:34:51.719 --> 00:34:54.659 align:middle line:84%
Remember that
chord is a bad name

00:34:54.659 --> 00:34:58.080 align:middle line:84%
for a variable--
chord.pitch-- chord.Chord.

00:34:58.080 --> 00:35:00.762 align:middle line:84%
Lowercase chord
indicates it is a--

00:35:00.762 --> 00:35:01.470 align:middle line:90%
AUDIENCE: Module.

00:35:01.470 --> 00:35:02.895 align:middle line:90%
MICHAEL CUTHBERT: Module.

00:35:02.895 --> 00:35:03.653 align:middle line:90%
Uppercase means--

00:35:03.653 --> 00:35:04.320 align:middle line:90%
AUDIENCE: Class.

00:35:04.320 --> 00:35:05.550 align:middle line:84%
MICHAEL CUTHBERT: Class,
good, and so we're

00:35:05.550 --> 00:35:06.675 align:middle line:90%
getting the object to that.

00:35:06.675 --> 00:35:08.560 align:middle line:90%
So we could do c--

00:35:08.560 --> 00:35:10.740 align:middle line:90%
oops.

00:35:10.740 --> 00:35:14.220 align:middle line:84%
Apparently there's a
button for Google Search--

00:35:14.220 --> 00:35:15.437 align:middle line:90%
c, e, g.

00:35:15.437 --> 00:35:24.210 align:middle line:90%


00:35:24.210 --> 00:35:27.660 align:middle line:90%
And do that.

00:35:27.660 --> 00:35:29.970 align:middle line:84%
The other thing that you
can do, and you can actually

00:35:29.970 --> 00:35:33.790 align:middle line:84%
thank Dmitri Tymoczko
for bugging me on, Mike,

00:35:33.790 --> 00:35:35.140 align:middle line:90%
why can't I just do this?

00:35:35.140 --> 00:35:38.040 align:middle line:90%
OK.

00:35:38.040 --> 00:35:41.490 align:middle line:84%
That's more often how you're
going to be doing things

00:35:41.490 --> 00:35:42.850 align:middle line:90%
when you're coding here.

00:35:42.850 --> 00:35:46.860 align:middle line:84%
But obviously, when you're
doing something algorithmically,

00:35:46.860 --> 00:35:48.670 align:middle line:84%
quite often you're
going to have notes.

00:35:48.670 --> 00:35:52.620 align:middle line:84%
You can also start
with pitches here.

00:35:52.620 --> 00:35:55.410 align:middle line:84%
Some of the things
to say-- chords,

00:35:55.410 --> 00:35:57.120 align:middle line:90%
you can iterate over them.

00:35:57.120 --> 00:36:02.190 align:middle line:90%
For thing in ch, print thing.

00:36:02.190 --> 00:36:07.540 align:middle line:84%
And you get the notes and that
each of the nodes are there.

00:36:07.540 --> 00:36:10.560 align:middle line:84%
You can change the
duration of one note

00:36:10.560 --> 00:36:13.650 align:middle line:84%
in a chord and not the other,
but that doesn't work too, too,

00:36:13.650 --> 00:36:15.360 align:middle line:90%
too well.

00:36:15.360 --> 00:36:18.990 align:middle line:90%
Let's create a second chord.

00:36:18.990 --> 00:36:24.510 align:middle line:84%
Weird equals chord.Chord--
oh, I don't know--

00:36:24.510 --> 00:36:26.888 align:middle line:90%
E3, G5.

00:36:26.888 --> 00:36:30.570 align:middle line:90%


00:36:30.570 --> 00:36:31.780 align:middle line:90%
What are we going to do?

00:36:31.780 --> 00:36:39.820 align:middle line:90%
Let's put in D7, C-sharp 8.

00:36:39.820 --> 00:36:42.030 align:middle line:90%
That's a pretty weird chord.

00:36:42.030 --> 00:36:42.730 align:middle line:90%
I don't know.

00:36:42.730 --> 00:36:45.810 align:middle line:84%
I'll put in a B9 in
there, just because I know

00:36:45.810 --> 00:36:47.380 align:middle line:90%
exactly what that will put in.

00:36:47.380 --> 00:36:49.380 align:middle line:84%
This is the function
that you're going

00:36:49.380 --> 00:36:53.693 align:middle line:84%
to wish you had access to on
one of them, the root function.

00:36:53.693 --> 00:36:59.910 align:middle line:90%


00:36:59.910 --> 00:37:01.830 align:middle line:90%
We all get that.

00:37:01.830 --> 00:37:05.070 align:middle line:90%
This one might not have a name--

00:37:05.070 --> 00:37:06.420 align:middle line:90%
commonName.

00:37:06.420 --> 00:37:11.250 align:middle line:84%
Diminished-minor ninth
chord-- is that correct?

00:37:11.250 --> 00:37:14.730 align:middle line:90%
Weird.show.

00:37:14.730 --> 00:37:15.540 align:middle line:90%
Woo.

00:37:15.540 --> 00:37:16.930 align:middle line:90%
That one went too high.

00:37:16.930 --> 00:37:19.193 align:middle line:84%
OK, let's-- oh,
because it's an E3.

00:37:19.193 --> 00:37:20.610 align:middle line:84%
No, that actually
might be correct

00:37:20.610 --> 00:37:23.410 align:middle line:84%
because it has to fit it all
into one staff when you do this.

00:37:23.410 --> 00:37:31.560 align:middle line:84%
Maybe instead of E3,
let's say E4, 5, 6--

00:37:31.560 --> 00:37:35.530 align:middle line:84%
octaves don't
matter-- 5, 5, 6, 6.

00:37:35.530 --> 00:37:36.800 align:middle line:90%
It'll sort it for us.

00:37:36.800 --> 00:37:39.480 align:middle line:90%


00:37:39.480 --> 00:37:42.210 align:middle line:84%
Yeah, that looks a
little bit better.

00:37:42.210 --> 00:37:47.610 align:middle line:84%
Easier, though, is
close_and_weird--

00:37:47.610 --> 00:37:49.140 align:middle line:90%
I guess I'll call it--

00:37:49.140 --> 00:37:51.585 align:middle line:90%
equals weird.closedPosition.

00:37:51.585 --> 00:37:58.100 align:middle line:90%


00:37:58.100 --> 00:37:59.420 align:middle line:90%
Oops.

00:37:59.420 --> 00:38:02.300 align:middle line:90%
OK.

00:38:02.300 --> 00:38:06.560 align:middle line:84%
So who remembers what
closed position is from 301

00:38:06.560 --> 00:38:07.525 align:middle line:90%
or something like that?

00:38:07.525 --> 00:38:11.480 align:middle line:90%


00:38:11.480 --> 00:38:12.020 align:middle line:90%
Yeah?

00:38:12.020 --> 00:38:13.228 align:middle line:90%
AUDIENCE: It's in one octave.

00:38:13.228 --> 00:38:16.730 align:middle line:84%
MICHAEL CUTHBERT: Yeah,
it's all within one octave.

00:38:16.730 --> 00:38:19.770 align:middle line:84%
There's actually two
different things.

00:38:19.770 --> 00:38:23.030 align:middle line:84%
Some definitions
allow the bass note

00:38:23.030 --> 00:38:30.230 align:middle line:84%
to be in a different octave, but
the top nodes are all as close

00:38:30.230 --> 00:38:31.290 align:middle line:90%
together as you can get.

00:38:31.290 --> 00:38:33.110 align:middle line:84%
Yeah, and that can
be pretty useful

00:38:33.110 --> 00:38:37.360 align:middle line:90%
for an analysis type of task.

00:38:37.360 --> 00:38:43.590 align:middle line:84%
So we'll choose a
different Bach piece today.

00:38:43.590 --> 00:38:46.220 align:middle line:84%
I'm sorry I'm not
keeping up my promise

00:38:46.220 --> 00:38:48.720 align:middle line:90%
to do a bit more than just Bach.

00:38:48.720 --> 00:38:52.670 align:middle line:84%
But it does make things
go a little bit faster.

00:38:52.670 --> 00:38:55.950 align:middle line:84%
And this will say,
bach equals corpus--

00:38:55.950 --> 00:38:57.180 align:middle line:90%
so I'm importing corpus.

00:38:57.180 --> 00:38:57.770 align:middle line:90%
Sorry.

00:38:57.770 --> 00:39:00.080 align:middle line:90%
I should be talking around--

00:39:00.080 --> 00:39:03.720 align:middle line:90%
corpus bwv269.

00:39:03.720 --> 00:39:06.020 align:middle line:84%
This is going to be one
of our favorite ones

00:39:06.020 --> 00:39:08.976 align:middle line:90%
coming up for a bit.

00:39:08.976 --> 00:39:10.260 align:middle line:90%
I think it's 269.

00:39:10.260 --> 00:39:11.840 align:middle line:90%
Do I have the right template?

00:39:11.840 --> 00:39:13.030 align:middle line:90%
Yep, great.

00:39:13.030 --> 00:39:17.750 align:middle line:90%


00:39:17.750 --> 00:39:19.940 align:middle line:90%
[SPEAKING GERMAN]

00:39:19.940 --> 00:39:21.710 align:middle line:90%


00:39:21.710 --> 00:39:24.560 align:middle line:90%
Great.

00:39:24.560 --> 00:39:30.763 align:middle line:84%
And so one of the things
we can do is we can get--

00:39:30.763 --> 00:39:31.680 align:middle line:90%
so what did I call it?

00:39:31.680 --> 00:39:34.595 align:middle line:84%
Bach-- let's do
bach.chordify.show.

00:39:34.595 --> 00:39:37.970 align:middle line:90%


00:39:37.970 --> 00:39:40.550 align:middle line:84%
I think we've encountered
this, but we haven't really

00:39:40.550 --> 00:39:42.570 align:middle line:90%
talked about it very much.

00:39:42.570 --> 00:39:45.090 align:middle line:84%
And I'm going to need to
zoom out for a second,

00:39:45.090 --> 00:39:47.690 align:middle line:90%
or you can do this on your own.

00:39:47.690 --> 00:39:51.390 align:middle line:84%
Or maybe I'll just do
this-- bach.measures--

00:39:51.390 --> 00:39:52.295 align:middle line:90%
so we remember this.

00:39:52.295 --> 00:39:53.520 align:middle line:90%
It begins with pickup?

00:39:53.520 --> 00:39:57.645 align:middle line:90%
Yep-- 0 through 4 .show.

00:39:57.645 --> 00:40:00.020 align:middle line:84%
Chordify is slow enough so
you probably shouldn't call it

00:40:00.020 --> 00:40:01.130 align:middle line:90%
every single time.

00:40:01.130 --> 00:40:04.070 align:middle line:90%
bach.chord-- bach...

00:40:04.070 --> 00:40:08.600 align:middle line:84%
Might as well make the part
that's faster go first.

00:40:08.600 --> 00:40:12.110 align:middle line:84%
bach.measures, 0 to
4, .chordify.show.

00:40:12.110 --> 00:40:13.190 align:middle line:90%
You don't have to--

00:40:13.190 --> 00:40:15.320 align:middle line:90%
am I going too fast today?

00:40:15.320 --> 00:40:16.120 align:middle line:90%
Yes, I am?

00:40:16.120 --> 00:40:16.620 align:middle line:90%
Good.

00:40:16.620 --> 00:40:19.020 align:middle line:84%
Thank you for having the
courage to nod when you do it.

00:40:19.020 --> 00:40:20.850 align:middle line:84%
So we're going to
do the same thing,

00:40:20.850 --> 00:40:26.570 align:middle line:84%
and I just want to make
sure that we can get--

00:40:26.570 --> 00:40:28.770 align:middle line:84%
I can't really
tell if that's a G,

00:40:28.770 --> 00:40:33.900 align:middle line:84%
but it does look about an
octave below that note,

00:40:33.900 --> 00:40:36.570 align:middle line:84%
and I do know that
that's a G. And so yep.

00:40:36.570 --> 00:40:39.800 align:middle line:84%
So it's taking at every
moment what's sometimes

00:40:39.800 --> 00:40:43.530 align:middle line:84%
called a salami slice,
which is to say,

00:40:43.530 --> 00:40:48.570 align:middle line:84%
every time something changes,
there is a new chord created.

00:40:48.570 --> 00:40:52.980 align:middle line:84%
So we can see here that there's
nothing that changes here

00:40:52.980 --> 00:40:54.348 align:middle line:90%
in between here and here.

00:40:54.348 --> 00:40:55.140 align:middle line:90%
So this is a chord.

00:40:55.140 --> 00:40:55.807 align:middle line:90%
This is a chord.

00:40:55.807 --> 00:40:59.750 align:middle line:84%
But here, this will need to be
made into two chords in order

00:40:59.750 --> 00:41:02.400 align:middle line:90%
to deal with it.

00:41:02.400 --> 00:41:07.850 align:middle line:84%
And we can see here
that this works.

00:41:07.850 --> 00:41:11.787 align:middle line:84%
It's rather hard to figure out
what chords these things are.

00:41:11.787 --> 00:41:12.870 align:middle line:90%
So what did we just learn?

00:41:12.870 --> 00:41:13.370 align:middle line:90%
Yeah?

00:41:13.370 --> 00:41:15.650 align:middle line:90%
AUDIENCE: What's MXL?

00:41:15.650 --> 00:41:20.906 align:middle line:84%
MICHAEL CUTHBERT:
It's a MusicXML format

00:41:20.906 --> 00:41:23.310 align:middle line:90%
that is compressed MusicXML.

00:41:23.310 --> 00:41:25.890 align:middle line:84%
So it's kind of nice that
it's MusicXML all compressed.

00:41:25.890 --> 00:41:33.040 align:middle line:84%
So MusicXML takes up a
lot for notation format

00:41:33.040 --> 00:41:35.870 align:middle line:84%
and not a lot for video
format or something--

00:41:35.870 --> 00:41:38.310 align:middle line:84%
not a lot for something
in the sound domain,

00:41:38.310 --> 00:41:42.030 align:middle line:84%
but a lot for something in
the logical domain of things.

00:41:42.030 --> 00:41:43.980 align:middle line:84%
But it compresses
incredibly well.

00:41:43.980 --> 00:41:47.780 align:middle line:84%
Anybody who works on
compression algorithms

00:41:47.780 --> 00:41:49.410 align:middle line:90%
might find that interesting.

00:41:49.410 --> 00:41:51.910 align:middle line:84%
So a lot of people
compress their MusicXML.

00:41:51.910 --> 00:41:52.660 align:middle line:90%
Good question.

00:41:52.660 --> 00:41:55.440 align:middle line:84%
OK, so what's something
we just learned

00:41:55.440 --> 00:42:02.203 align:middle line:84%
that we can do to help make this
a little bit easier to read,

00:42:02.203 --> 00:42:03.870 align:middle line:84%
to figure out what
chords are happening?

00:42:03.870 --> 00:42:04.860 align:middle line:90%
Yeah, John?

00:42:04.860 --> 00:42:06.640 align:middle line:84%
AUDIENCE: After
[INAUDIBLE] to compress.

00:42:06.640 --> 00:42:06.960 align:middle line:90%
MICHAEL CUTHBERT: Yeah.

00:42:06.960 --> 00:42:07.540 align:middle line:90%
Yep.

00:42:07.540 --> 00:42:09.000 align:middle line:90%
Did somebody want to--

00:42:09.000 --> 00:42:11.502 align:middle line:84%
what was it that we used
to compress the chords?

00:42:11.502 --> 00:42:12.210 align:middle line:90%
We just learned--

00:42:12.210 --> 00:42:12.720 align:middle line:90%
AUDIENCE: Closed position.

00:42:12.720 --> 00:42:14.550 align:middle line:84%
MICHAEL CUTHBERT:
Closed position, good.

00:42:14.550 --> 00:42:22.320 align:middle line:84%
So let's say chf, or
chordified, is bach.--

00:42:22.320 --> 00:42:24.450 align:middle line:84%
here, we'll just do
a little excerpt--

00:42:24.450 --> 00:42:28.410 align:middle line:90%
0 through 4 .chordify.

00:42:28.410 --> 00:42:32.352 align:middle line:84%
And I'll make sure that
that's the same as before,

00:42:32.352 --> 00:42:33.490 align:middle line:90%
that I did type it right.

00:42:33.490 --> 00:42:33.990 align:middle line:90%
Yep.

00:42:33.990 --> 00:42:38.280 align:middle line:84%
OK, so how am I
going to do this?

00:42:38.280 --> 00:42:43.330 align:middle line:84%
Actually, before I do that,
let's just look at it in text--

00:42:43.330 --> 00:42:45.660 align:middle line:90%
show.text.

00:42:45.660 --> 00:42:47.080 align:middle line:90%
Instrument 3, 4.

00:42:47.080 --> 00:42:47.580 align:middle line:90%
Yep.

00:42:47.580 --> 00:42:51.020 align:middle line:84%
And we have all these
chords within measure.

00:42:51.020 --> 00:42:55.660 align:middle line:84%
So we want to put all of these
chords into closed position.

00:42:55.660 --> 00:42:58.060 align:middle line:84%
What's our favorite
three-letter word

00:42:58.060 --> 00:42:59.390 align:middle line:90%
that we're going to start with?

00:42:59.390 --> 00:43:00.095 align:middle line:90%
AUDIENCE: Four.

00:43:00.095 --> 00:43:00.800 align:middle line:90%
MICHAEL CUTHBERT: Four.

00:43:00.800 --> 00:43:01.300 align:middle line:90%
Great.

00:43:01.300 --> 00:43:04.240 align:middle line:90%
So let's do this.

00:43:04.240 --> 00:43:10.040 align:middle line:84%
For my_chord in--
what do we call that?

00:43:10.040 --> 00:43:13.490 align:middle line:84%
We call that chf
or chf.-something.

00:43:13.490 --> 00:43:15.647 align:middle line:84%
Whisper to your neighbor
what the answer should be,

00:43:15.647 --> 00:43:16.980 align:middle line:90%
and then we'll all shout it out.

00:43:16.980 --> 00:43:21.700 align:middle line:90%


00:43:21.700 --> 00:43:24.790 align:middle line:90%
[SIDE CONVERSATION]

00:43:24.790 --> 00:43:28.750 align:middle line:90%


00:43:28.750 --> 00:43:32.835 align:middle line:84%
Who votes for the next
thing being a colon?

00:43:32.835 --> 00:43:37.480 align:middle line:90%


00:43:37.480 --> 00:43:38.830 align:middle line:90%
No, nobody?

00:43:38.830 --> 00:43:41.890 align:middle line:90%
Who votes for recurse?

00:43:41.890 --> 00:43:43.035 align:middle line:90%
Who votes for flatten?

00:43:43.035 --> 00:43:45.670 align:middle line:90%


00:43:45.670 --> 00:43:47.950 align:middle line:90%
Who votes for something else?

00:43:47.950 --> 00:43:49.990 align:middle line:90%
OK, something else?

00:43:49.990 --> 00:43:51.940 align:middle line:84%
AUDIENCE: A bracket
in the chord class.

00:43:51.940 --> 00:43:53.830 align:middle line:90%
MICHAEL CUTHBERT: Ah, yeah--

00:43:53.830 --> 00:43:58.100 align:middle line:84%
bracket on the chord class,
which is equivalent to--

00:43:58.100 --> 00:43:59.560 align:middle line:90%
anyone remember?

00:43:59.560 --> 00:44:00.310 align:middle line:90%
AUDIENCE: Recurse.

00:44:00.310 --> 00:44:02.020 align:middle line:90%
MICHAEL CUTHBERT: Recurse and?

00:44:02.020 --> 00:44:02.320 align:middle line:90%
AUDIENCE: Get elements...

00:44:02.320 --> 00:44:03.770 align:middle line:84%
MICHAEL CUTHBERT: Get
elements by class.

00:44:03.770 --> 00:44:05.600 align:middle line:84%
So yeah, that would be
really, really great.

00:44:05.600 --> 00:44:07.017 align:middle line:84%
The other thing--
by the way, this

00:44:07.017 --> 00:44:09.970 align:middle line:84%
is a case where flatten isn't
going to be too bad either

00:44:09.970 --> 00:44:12.950 align:middle line:84%
because we don't really care
what order we're getting them.

00:44:12.950 --> 00:44:17.170 align:middle line:84%
We're going to put them
all into closed position.

00:44:17.170 --> 00:44:19.660 align:middle line:84%
So for my_chord
chord in this thing,

00:44:19.660 --> 00:44:23.200 align:middle line:90%
we can do something like this.

00:44:23.200 --> 00:44:26.290 align:middle line:90%
We say, closedPosition.

00:44:26.290 --> 00:44:27.380 align:middle line:90%
Oh, shoot.

00:44:27.380 --> 00:44:29.920 align:middle line:84%
But that returns a new
thing, and we don't

00:44:29.920 --> 00:44:31.750 align:middle line:90%
have a stream to put it in.

00:44:31.750 --> 00:44:33.970 align:middle line:84%
A lot of these
things that change

00:44:33.970 --> 00:44:36.370 align:middle line:84%
streams and change chords
and stuff like that

00:44:36.370 --> 00:44:40.480 align:middle line:90%
has an in-place option.

00:44:40.480 --> 00:44:44.260 align:middle line:84%
It also has something--
forceOctave,

00:44:44.260 --> 00:44:46.120 align:middle line:84%
and we'll say
forceOctave equals 4.

00:44:46.120 --> 00:44:47.870 align:middle line:84%
And that's something
that's pretty useful.

00:44:47.870 --> 00:44:50.050 align:middle line:84%
That says, now you're
shrinking everything

00:44:50.050 --> 00:44:51.530 align:middle line:90%
to be within one octave.

00:44:51.530 --> 00:44:54.300 align:middle line:84%
Let's not have you do your own
transpose function or something

00:44:54.300 --> 00:44:54.800 align:middle line:90%
after that.

00:44:54.800 --> 00:44:56.860 align:middle line:90%
Let's just put it all into four.

00:44:56.860 --> 00:44:59.230 align:middle line:84%
So hopefully this
works so I don't--

00:44:59.230 --> 00:45:01.570 align:middle line:84%
AUDIENCE: Should be
running closedPosition

00:45:01.570 --> 00:45:02.720 align:middle line:90%
on my_chord, not c?

00:45:02.720 --> 00:45:04.220 align:middle line:90%
MICHAEL CUTHBERT: Oh, thank you.

00:45:04.220 --> 00:45:05.210 align:middle line:90%
Thank you.

00:45:05.210 --> 00:45:10.120 align:middle line:84%
This class is like
a running example

00:45:10.120 --> 00:45:15.250 align:middle line:84%
of how two people coding code
faster than two people coding

00:45:15.250 --> 00:45:19.060 align:middle line:84%
together code more code
faster than two people coding

00:45:19.060 --> 00:45:21.070 align:middle line:90%
separately-- maybe not 17.

00:45:21.070 --> 00:45:22.190 align:middle line:90%
That's probably too many.

00:45:22.190 --> 00:45:24.970 align:middle line:90%
But yeah.

00:45:24.970 --> 00:45:28.720 align:middle line:84%
So I haven't ever
figured out the time

00:45:28.720 --> 00:45:32.660 align:middle line:84%
to fix the tie algorithm
when you do closed position

00:45:32.660 --> 00:45:35.620 align:middle line:84%
because obviously it's kind
of cool that it finds that,

00:45:35.620 --> 00:45:37.675 align:middle line:84%
oh, there's a tie
that was opened,

00:45:37.675 --> 00:45:39.550 align:middle line:84%
but then this got moved
to here or something.

00:45:39.550 --> 00:45:40.310 align:middle line:90%
So great.

00:45:40.310 --> 00:45:44.800 align:middle line:84%
So now we have a
certain number of chords

00:45:44.800 --> 00:45:46.720 align:middle line:90%
that are happening here.

00:45:46.720 --> 00:45:48.760 align:middle line:84%
What key do we think
the piece is in now

00:45:48.760 --> 00:45:51.970 align:middle line:90%
that we can see it more easily?

00:45:51.970 --> 00:45:52.757 align:middle line:90%
AUDIENCE: G major.

00:45:52.757 --> 00:45:54.340 align:middle line:84%
MICHAEL CUTHBERT: G
major, good, good.

00:45:54.340 --> 00:45:57.740 align:middle line:84%
And so now we can start putting
Roman numerals on things.

00:45:57.740 --> 00:45:59.213 align:middle line:90%
What do we call this in G major?

00:45:59.213 --> 00:46:00.130 align:middle line:90%
AUDIENCE: The first...

00:46:00.130 --> 00:46:01.630 align:middle line:90%
MICHAEL CUTHBERT: I.

00:46:01.630 --> 00:46:03.630 align:middle line:90%
AUDIENCE: I.

00:46:03.630 --> 00:46:04.172 align:middle line:90%
AUDIENCE: IV.

00:46:04.172 --> 00:46:04.713 align:middle line:90%
AUDIENCE: IV.

00:46:04.713 --> 00:46:05.590 align:middle line:90%
MICHAEL CUTHBERT: IV.

00:46:05.590 --> 00:46:06.050 align:middle line:90%
What--

00:46:06.050 --> 00:46:06.633 align:middle line:90%
AUDIENCE: IV6.

00:46:06.633 --> 00:46:09.220 align:middle line:84%
MICHAEL CUTHBERT: IV6--
IV in first inversion?

00:46:09.220 --> 00:46:10.920 align:middle line:90%
AUDIENCE: VI.

00:46:10.920 --> 00:46:12.890 align:middle line:90%
MICHAEL CUTHBERT: VI, yep.

00:46:12.890 --> 00:46:13.390 align:middle line:90%
AUDIENCE: V.

00:46:13.390 --> 00:46:15.170 align:middle line:84%
AUDIENCE: VI-- or
first inversion.

00:46:15.170 --> 00:46:16.670 align:middle line:84%
MICHAEL CUTHBERT:
V first inversion.

00:46:16.670 --> 00:46:19.253 align:middle line:84%
Now, then there's certain things
that we have to be like, ooh,

00:46:19.253 --> 00:46:21.250 align:middle line:90%
but was that--

00:46:21.250 --> 00:46:24.800 align:middle line:84%
we go all the way
back up to here--

00:46:24.800 --> 00:46:25.300 align:middle line:90%
no.

00:46:25.300 --> 00:46:26.740 align:middle line:90%
OK, good.

00:46:26.740 --> 00:46:29.110 align:middle line:84%
What's hard to tell is if
that was a passing tone

00:46:29.110 --> 00:46:31.150 align:middle line:84%
or if that was--
which one of these two

00:46:31.150 --> 00:46:34.190 align:middle line:84%
was the passing tone in that
case-- can you see my pointer?

00:46:34.190 --> 00:46:36.660 align:middle line:84%
Yeah-- which one of those two
was the passing tone there.

00:46:36.660 --> 00:46:37.160 align:middle line:90%
Great.

00:46:37.160 --> 00:46:40.910 align:middle line:84%
So we can go there, and
we can do this here.

00:46:40.910 --> 00:46:44.730 align:middle line:84%
We'll get to how we can have the
computer do all of this for us

00:46:44.730 --> 00:46:46.205 align:middle line:90%
in just a bit.

00:46:46.205 --> 00:46:48.960 align:middle line:90%


00:46:48.960 --> 00:46:50.328 align:middle line:90%
Questions or anything?

00:46:50.328 --> 00:46:51.870 align:middle line:84%
I should go a little
bit more slowly.

00:46:51.870 --> 00:46:52.560 align:middle line:90%
Yeah, John?

00:46:52.560 --> 00:46:54.373 align:middle line:84%
AUDIENCE: If we force
octave to be four,

00:46:54.373 --> 00:46:56.290 align:middle line:84%
why do we have some notes
in the fifth octave?

00:46:56.290 --> 00:46:59.040 align:middle line:84%
MICHAEL CUTHBERT: Why do we have
some notes in the fifth octave?

00:46:59.040 --> 00:47:03.210 align:middle line:84%
What it says is that forced the
lowest note to be an octave 4,

00:47:03.210 --> 00:47:09.030 align:middle line:84%
and so since it can
go up to an octave--

00:47:09.030 --> 00:47:13.060 align:middle line:84%
yeah, so that's the case
where it's the highest here.

00:47:13.060 --> 00:47:16.200 align:middle line:84%
It does mean, if
you do compositions

00:47:16.200 --> 00:47:18.450 align:middle line:84%
where you're putting
chords in closed positions

00:47:18.450 --> 00:47:22.270 align:middle line:84%
and jumping them around,
it can sound very jumpy.

00:47:22.270 --> 00:47:26.410 align:middle line:90%
So that's one example here.

00:47:26.410 --> 00:47:26.910 align:middle line:90%
Great.

00:47:26.910 --> 00:47:29.782 align:middle line:90%
Anything else?

00:47:29.782 --> 00:47:31.240 align:middle line:84%
I should have been
going with this.

00:47:31.240 --> 00:47:34.740 align:middle line:90%
Let me-- OK.

00:47:34.740 --> 00:47:38.610 align:middle line:84%
Let's dir the chord
class for a second--

00:47:38.610 --> 00:47:41.190 align:middle line:90%
chord.Chord.

00:47:41.190 --> 00:47:41.910 align:middle line:90%
Oops.

00:47:41.910 --> 00:47:47.430 align:middle line:84%
Actually, I should be just
diring one of the chords.

00:47:47.430 --> 00:47:51.960 align:middle line:84%
So some of the things are
things that you've already

00:47:51.960 --> 00:47:54.157 align:middle line:84%
seen because chords
are music21 objects.

00:47:54.157 --> 00:47:55.490 align:middle line:90%
Obviously, they have a duration.

00:47:55.490 --> 00:47:57.040 align:middle line:90%
You know how to deal with it.

00:47:57.040 --> 00:48:00.520 align:middle line:84%
They don't have a
.pitch attribute.

00:48:00.520 --> 00:48:04.000 align:middle line:84%
They have a .pitches, which
gives you all the pitches there.

00:48:04.000 --> 00:48:05.850 align:middle line:84%
But there's some
kind of things--

00:48:05.850 --> 00:48:07.390 align:middle line:90%
canBeTonic.

00:48:07.390 --> 00:48:10.710 align:middle line:84%
Can this chord be a
tonic in some key?

00:48:10.710 --> 00:48:12.050 align:middle line:90%
What chords can be tonics?

00:48:12.050 --> 00:48:14.730 align:middle line:90%


00:48:14.730 --> 00:48:15.910 align:middle line:90%
What kinds of chords?

00:48:15.910 --> 00:48:19.292 align:middle line:84%
What equivalence
class of chords?

00:48:19.292 --> 00:48:20.250 align:middle line:90%
AUDIENCE: Major chords.

00:48:20.250 --> 00:48:21.870 align:middle line:84%
MICHAEL CUTHBERT:
Major chords and--

00:48:21.870 --> 00:48:22.200 align:middle line:90%
AUDIENCE: Minor.

00:48:22.200 --> 00:48:23.460 align:middle line:84%
MICHAEL CUTHBERT:
Minor chords, great.

00:48:23.460 --> 00:48:24.100 align:middle line:90%
Super.

00:48:24.100 --> 00:48:27.360 align:middle line:90%
So that's some of the things.

00:48:27.360 --> 00:48:29.440 align:middle line:84%
Does the chord
contain a seventh?

00:48:29.440 --> 00:48:31.050 align:middle line:90%
I think weird does.

00:48:31.050 --> 00:48:36.180 align:middle line:90%
.containsSeventh-- True.

00:48:36.180 --> 00:48:39.270 align:middle line:84%
But do we still
have that first one?

00:48:39.270 --> 00:48:40.110 align:middle line:90%
Yep.

00:48:40.110 --> 00:48:42.040 align:middle line:90%
ch.containsSeventh.

00:48:42.040 --> 00:48:45.780 align:middle line:84%
So you'll find that there's all
these slightly useful things

00:48:45.780 --> 00:48:47.760 align:middle line:90%
in here.

00:48:47.760 --> 00:48:50.010 align:middle line:90%
I don't know what C--

00:48:50.010 --> 00:48:51.580 align:middle line:90%
is it an augmented triad?

00:48:51.580 --> 00:48:52.750 align:middle line:90%
Is it an augmented sixth?

00:48:52.750 --> 00:48:54.310 align:middle line:90%
Is it a French augmented sixth?

00:48:54.310 --> 00:48:56.340 align:middle line:84%
It's a half-diminished
augmented sixth?

00:48:56.340 --> 00:48:58.020 align:middle line:84%
A lot of these
things here-- is it

00:48:58.020 --> 00:49:00.000 align:middle line:90%
transpositionally symmetrical?

00:49:00.000 --> 00:49:03.160 align:middle line:84%
These things come
up quite a bit.

00:49:03.160 --> 00:49:07.120 align:middle line:84%
And you can put the same pitch
more than once into a chord.

00:49:07.120 --> 00:49:10.530 align:middle line:84%
So sometimes you want to
remove the redundant pitches,

00:49:10.530 --> 00:49:15.600 align:middle line:84%
redundant pitch
classes, and so on.

00:49:15.600 --> 00:49:17.700 align:middle line:84%
Sometimes you might
have weird chords

00:49:17.700 --> 00:49:20.080 align:middle line:84%
that you want to
respell and so on.

00:49:20.080 --> 00:49:23.110 align:middle line:84%
So these are some of the things
that are of useful in here.

00:49:23.110 --> 00:49:28.860 align:middle line:84%
And if you want to talk
about ontology errors here,

00:49:28.860 --> 00:49:30.810 align:middle line:90%
ch.third gives you the third.

00:49:30.810 --> 00:49:33.000 align:middle line:90%
ch.fifth gives you the fifth.

00:49:33.000 --> 00:49:38.290 align:middle line:84%
And ch.base gives you a
bound method of something.

00:49:38.290 --> 00:49:39.990 align:middle line:90%
So that's something I wish--

00:49:39.990 --> 00:49:43.320 align:middle line:84%
I wish I could figure out how
to change that these were done

00:49:43.320 --> 00:49:47.070 align:middle line:84%
differently early on, and
it's a little too late

00:49:47.070 --> 00:49:50.130 align:middle line:84%
sometimes to change things,
just like it's a little too

00:49:50.130 --> 00:49:55.740 align:middle line:84%
late to change how certain
words in English are spelled.

00:49:55.740 --> 00:49:56.290 align:middle line:90%
Cool.

00:49:56.290 --> 00:49:59.640 align:middle line:84%
So that's the end of the
introduction to chords,

00:49:59.640 --> 00:50:03.995 align:middle line:84%
unless people want to
do something with this.

00:50:03.995 --> 00:50:06.908 align:middle line:90%


00:50:06.908 --> 00:50:07.950 align:middle line:90%
AUDIENCE: Roman numerals?

00:50:07.950 --> 00:50:08.710 align:middle line:90%
MICHAEL CUTHBERT: What's that?

00:50:08.710 --> 00:50:09.390 align:middle line:90%
AUDIENCE: Roman numerals.

00:50:09.390 --> 00:50:10.150 align:middle line:84%
MICHAEL CUTHBERT:
Roman numerals--

00:50:10.150 --> 00:50:12.400 align:middle line:84%
we'll get to Roman
numerals in just a second.

00:50:12.400 --> 00:50:13.065 align:middle line:90%
So great.

00:50:13.065 --> 00:50:15.190 align:middle line:84%
So we're definitely going
to get to Roman numerals.

00:50:15.190 --> 00:50:22.890 align:middle line:84%
But first, a small leftover
from our work on cognition

00:50:22.890 --> 00:50:26.520 align:middle line:84%
and keys and the
probe tone method by--

00:50:26.520 --> 00:50:30.075 align:middle line:84%
anyone know, if you
know the author?

00:50:30.075 --> 00:50:30.962 align:middle line:90%
AUDIENCE: Carol--

00:50:30.962 --> 00:50:31.920 align:middle line:90%
MICHAEL CUTHBERT: What?

00:50:31.920 --> 00:50:32.550 align:middle line:90%
AUDIENCE: Carol Krumhansl.

00:50:32.550 --> 00:50:33.967 align:middle line:84%
MICHAEL CUTHBERT:
Carol Krumhansl.

00:50:33.967 --> 00:50:34.540 align:middle line:90%
Great!

00:50:34.540 --> 00:50:35.040 align:middle line:90%
well done.

00:50:35.040 --> 00:50:37.110 align:middle line:90%
Yep.

00:50:37.110 --> 00:50:40.840 align:middle line:84%
Who was one of the people
who referenced this.

00:50:40.840 --> 00:50:45.960 align:middle line:84%
Yeah, the probe tone message
by Krumhansl, Carol Krumhansl.

00:50:45.960 --> 00:50:48.300 align:middle line:84%
And so what we're going
to do is I'm going

00:50:48.300 --> 00:50:52.260 align:middle line:90%
to get us to two pieces here.

00:50:52.260 --> 00:50:56.423 align:middle line:84%
You don't have to do
this part if you don't--

00:50:56.423 --> 00:50:58.090 align:middle line:84%
actually, at this
point in the semester,

00:50:58.090 --> 00:51:00.570 align:middle line:84%
you don't have to type
anything that I'm typing

00:51:00.570 --> 00:51:02.860 align:middle line:90%
unless it's helpful for you.

00:51:02.860 --> 00:51:04.960 align:middle line:84%
Maybe in the first
part, it's good.

00:51:04.960 --> 00:51:08.760 align:middle line:84%
So this is a
particular little jig.

00:51:08.760 --> 00:51:12.120 align:middle line:84%
We're going to be working with
a lot of jigs in the next time

00:51:12.120 --> 00:51:13.930 align:middle line:90%
that we do some coding together.

00:51:13.930 --> 00:51:18.040 align:middle line:84%
So that's a nice little 9/8
jig, a little bit unusual.

00:51:18.040 --> 00:51:20.100 align:middle line:84%
What key does it
look like it's in?

00:51:20.100 --> 00:51:21.060 align:middle line:90%
AUDIENCE: D major.

00:51:21.060 --> 00:51:22.018 align:middle line:90%
MICHAEL CUTHBERT: Yeah.

00:51:22.018 --> 00:51:24.600 align:middle line:84%
You always have to-- you
can let people give us

00:51:24.600 --> 00:51:26.080 align:middle line:90%
a chance to do it.

00:51:26.080 --> 00:51:27.380 align:middle line:90%
Yep, D major here.

00:51:27.380 --> 00:51:30.090 align:middle line:90%


00:51:30.090 --> 00:51:34.160 align:middle line:84%
And then we'll get a piece by
the 20th century composer Arnold

00:51:34.160 --> 00:51:40.330 align:middle line:90%
Schoenberg, Schoenberg opus.

00:51:40.330 --> 00:51:46.740 align:middle line:84%
S-C-H-O-E-N-B-E-R-G slash
O-P-U-S 19/movement6--

00:51:46.740 --> 00:51:47.780 align:middle line:90%
all one word.

00:51:47.780 --> 00:51:49.030 align:middle line:90%
I know it's a little bit hard.

00:51:49.030 --> 00:51:52.190 align:middle line:90%


00:51:52.190 --> 00:51:56.120 align:middle line:84%
I wish I had another
title that we can do.

00:51:56.120 --> 00:51:57.430 align:middle line:90%
It's a little piano piece.

00:51:57.430 --> 00:52:01.050 align:middle line:90%


00:52:01.050 --> 00:52:01.550 align:middle line:90%
Great.

00:52:01.550 --> 00:52:03.710 align:middle line:90%
And Adam, what key is it in?

00:52:03.710 --> 00:52:05.810 align:middle line:90%
AUDIENCE: No one knows.

00:52:05.810 --> 00:52:07.760 align:middle line:90%
MICHAEL CUTHBERT: OK.

00:52:07.760 --> 00:52:11.720 align:middle line:84%
Yeah, so this is a
rather ambiguous piece.

00:52:11.720 --> 00:52:16.160 align:middle line:84%
Just so you can get a
tiny bit in your ear, just

00:52:16.160 --> 00:52:19.335 align:middle line:90%
the first couple chords.

00:52:19.335 --> 00:52:23.295 align:middle line:90%
[PIANO CHORDS]

00:52:23.295 --> 00:52:32.210 align:middle line:90%


00:52:32.210 --> 00:52:37.752 align:middle line:84%
So something wrong on--
there's a cleft change missing.

00:52:37.752 --> 00:52:41.640 align:middle line:90%
[PIANO MELODY]

00:52:41.640 --> 00:52:42.620 align:middle line:90%


00:52:42.620 --> 00:52:45.500 align:middle line:84%
Yeah, I know there's something
a little bit wrong in this

00:52:45.500 --> 00:52:46.170 align:middle line:90%
encoding.

00:52:46.170 --> 00:52:49.590 align:middle line:84%
Anyhow, a little
bit ambiguous piece.

00:52:49.590 --> 00:52:52.940 align:middle line:84%
So what I want to do is
let's get into unlocking

00:52:52.940 --> 00:52:56.840 align:middle line:90%
some key analysis things.

00:52:56.840 --> 00:53:03.490 align:middle line:84%
So what we can do is-- we
called it a jig, right?

00:53:03.490 --> 00:53:04.170 align:middle line:90%
Yep.

00:53:04.170 --> 00:53:11.173 align:middle line:84%
k1-- our first key will
be jig.analyze key.

00:53:11.173 --> 00:53:17.750 align:middle line:90%


00:53:17.750 --> 00:53:20.600 align:middle line:90%
So that's pretty good.

00:53:20.600 --> 00:53:26.630 align:middle line:84%
Now, in addition to analyzing
key, there's specific--

00:53:26.630 --> 00:53:31.900 align:middle line:84%
a number of people have
implemented their own analysis

00:53:31.900 --> 00:53:32.400 align:middle line:90%
things.

00:53:32.400 --> 00:53:35.690 align:middle line:84%
So you'll have to get this--
so we're going to run through

00:53:35.690 --> 00:53:38.330 align:middle line:90%
a bunch of different methods--

00:53:38.330 --> 00:53:47.490 align:middle line:84%
the standard key
method and Simple.

00:53:47.490 --> 00:53:55.790 align:middle line:84%
So key is something I put
a guarantee to people using

00:53:55.790 --> 00:53:58.850 align:middle line:84%
music21 that that will
be whatever I think

00:53:58.850 --> 00:54:00.360 align:middle line:90%
is giving the best results.

00:54:00.360 --> 00:54:02.850 align:middle line:84%
And I'll try to keep
improving it and get that.

00:54:02.850 --> 00:54:07.700 align:middle line:84%
Krumhansl is exactly Carol
Krumhansl's probe tone method

00:54:07.700 --> 00:54:12.090 align:middle line:84%
with the exact same
things, which was learned--

00:54:12.090 --> 00:54:15.200 align:middle line:84%
we learned the different
weights, the different amounts,

00:54:15.200 --> 00:54:17.827 align:middle line:84%
how important the tonic is,
how important the third is,

00:54:17.827 --> 00:54:19.410 align:middle line:84%
how important the
fifth is in the key.

00:54:19.410 --> 00:54:23.210 align:middle line:90%
How did she learn that?

00:54:23.210 --> 00:54:23.960 align:middle line:90%
AUDIENCE: ProTone.

00:54:23.960 --> 00:54:25.043 align:middle line:90%
MICHAEL CUTHBERT: ProTone.

00:54:25.043 --> 00:54:33.710 align:middle line:84%
So she was asking people,
just getting people's reaction

00:54:33.710 --> 00:54:35.280 align:middle line:90%
to how far and out.

00:54:35.280 --> 00:54:38.010 align:middle line:90%
So it's based on cognition.

00:54:38.010 --> 00:54:42.410 align:middle line:84%
The Essen one was
based on labeled keys

00:54:42.410 --> 00:54:46.655 align:middle line:84%
for the entire Essen folk
song repertory, which

00:54:46.655 --> 00:54:49.080 align:middle line:84%
we've used a couple
times on things,

00:54:49.080 --> 00:54:51.240 align:middle line:84%
and it's come up in
this class quite a bit.

00:54:51.240 --> 00:54:54.440 align:middle line:84%
And so people use that
database on the ones that

00:54:54.440 --> 00:55:00.980 align:middle line:84%
were labeled in the key to learn
not from people, but from what

00:55:00.980 --> 00:55:04.880 align:middle line:84%
number of notes were in a piece
that was labeled as in F, what's

00:55:04.880 --> 00:55:06.900 align:middle line:84%
the number of things
were labeled as in E?

00:55:06.900 --> 00:55:08.730 align:middle line:84%
And all of these
weights, by the way,

00:55:08.730 --> 00:55:16.400 align:middle line:84%
have these weird numbers,
like the tonic 6.238--

00:55:16.400 --> 00:55:19.680 align:middle line:84%
don't make it too much like
pi, 2 pi or something--

00:55:19.680 --> 00:55:26.750 align:middle line:84%
so these really long, complex
numbers on things like that.

00:55:26.750 --> 00:55:29.000 align:middle line:84%
Where Craig Sapp,
who has come up

00:55:29.000 --> 00:55:31.250 align:middle line:84%
in this class a couple of
times for making the Rosetta

00:55:31.250 --> 00:55:32.280 align:middle line:90%
Stone and things--

00:55:32.280 --> 00:55:35.510 align:middle line:84%
I think it was Craig Sapp who
came up with a very simple--

00:55:35.510 --> 00:55:41.040 align:middle line:84%
he's like, no, we can just
use 1, 0, 1, 0 1, 0.5.

00:55:41.040 --> 00:55:44.160 align:middle line:84%
And I think everything in his
weighting is either 0 or 0.5.

00:55:44.160 --> 00:55:46.380 align:middle line:84%
And he's like, it's
much easier to remember,

00:55:46.380 --> 00:55:50.070 align:middle line:84%
much easier to program, and it
works, he thought, even better.

00:55:50.070 --> 00:55:51.720 align:middle line:90%
So we have all these in here.

00:55:51.720 --> 00:55:55.710 align:middle line:90%
So we'll do this here.

00:55:55.710 --> 00:55:59.970 align:middle line:84%
You don't need to know
Python f-string formats,

00:55:59.970 --> 00:56:02.400 align:middle line:84%
but I'm going to give 20
letters for the method.

00:56:02.400 --> 00:56:07.050 align:middle line:84%
And then we'll analyze
using that method here.

00:56:07.050 --> 00:56:10.490 align:middle line:90%
Actually, we'll just do this--

00:56:10.490 --> 00:56:11.480 align:middle line:90%
key_out.

00:56:11.480 --> 00:56:15.810 align:middle line:84%
I'll make this a little
bit easier to read.

00:56:15.810 --> 00:56:25.015 align:middle line:84%
And so we'll call key_out equals
jig.analyze using the method.

00:56:25.015 --> 00:56:29.660 align:middle line:90%


00:56:29.660 --> 00:56:30.160 align:middle line:90%
Oops.

00:56:30.160 --> 00:56:31.395 align:middle line:84%
AUDIENCE: You put
method in a string.

00:56:31.395 --> 00:56:32.937 align:middle line:84%
MICHAEL CUTHBERT:
Method-- thank you.

00:56:32.937 --> 00:56:39.070 align:middle line:84%
I put method in a string,
a string of Methodists.

00:56:39.070 --> 00:56:42.470 align:middle line:84%
So when you put
the jig into there,

00:56:42.470 --> 00:56:45.890 align:middle line:90%
everybody agrees it's D major.

00:56:45.890 --> 00:56:47.390 align:middle line:84%
That makes pretty
good sense, right?

00:56:47.390 --> 00:56:50.020 align:middle line:84%
You would not
trust any algorithm

00:56:50.020 --> 00:56:53.860 align:middle line:84%
that came up with a
result other than D major

00:56:53.860 --> 00:56:55.220 align:middle line:90%
for this entire piece.

00:56:55.220 --> 00:56:56.720 align:middle line:90%
This is the whole piece.

00:56:56.720 --> 00:56:58.970 align:middle line:84%
But let's see what happens
when we give it Schoenberg.

00:56:58.970 --> 00:57:02.290 align:middle line:84%
So I'm going to just copy and
paste, the copy and paste method

00:57:02.290 --> 00:57:04.490 align:middle line:90%
for coding quickly in class.

00:57:04.490 --> 00:57:09.520 align:middle line:90%
And did I call it sch, I think?

00:57:09.520 --> 00:57:15.640 align:middle line:84%
And here, we end up with
quite a bit of distinctions.

00:57:15.640 --> 00:57:19.310 align:middle line:84%
Maybe E minor and A minor
aren't too far apart,

00:57:19.310 --> 00:57:21.950 align:middle line:84%
but we even have a
major key in there.

00:57:21.950 --> 00:57:24.400 align:middle line:84%
So depending on how
you do your weighting,

00:57:24.400 --> 00:57:26.300 align:middle line:84%
different things
could be better.

00:57:26.300 --> 00:57:30.640 align:middle line:84%
There's always the goal of
trying to come up with a better

00:57:30.640 --> 00:57:33.050 align:middle line:90%
key analysis routine.

00:57:33.050 --> 00:57:39.580 align:middle line:84%
And the other main unsolved
task in this domain

00:57:39.580 --> 00:57:42.557 align:middle line:84%
is, pieces aren't
always just in one key.

00:57:42.557 --> 00:57:44.140 align:middle line:84%
And I'm not talking
about Charles Ives

00:57:44.140 --> 00:57:46.240 align:middle line:90%
with multi-tonality and things.

00:57:46.240 --> 00:57:49.400 align:middle line:84%
I'm talking about pieces change
keys throughout the piece.

00:57:49.400 --> 00:57:51.320 align:middle line:90%
And sometimes it's easy.

00:57:51.320 --> 00:57:53.720 align:middle line:84%
They change the key
signature at that moment.

00:57:53.720 --> 00:57:55.570 align:middle line:84%
But quite often,
pieces change keys

00:57:55.570 --> 00:57:57.200 align:middle line:84%
without giving you
a key signature.

00:57:57.200 --> 00:58:00.860 align:middle line:84%
Can you have a method that
says, well, it begins in E,

00:58:00.860 --> 00:58:03.470 align:middle line:84%
and then it goes to A,
then it goes to C major,

00:58:03.470 --> 00:58:05.270 align:middle line:84%
and then it goes
some other place?

00:58:05.270 --> 00:58:08.470 align:middle line:84%
Can you detect where all
those key changes are?

00:58:08.470 --> 00:58:10.120 align:middle line:90%
So that's something that--

00:58:10.120 --> 00:58:11.810 align:middle line:84%
people have worked
on it a little bit,

00:58:11.810 --> 00:58:13.935 align:middle line:84%
but it's still an
unsolved general problem.

00:58:13.935 --> 00:58:18.790 align:middle line:90%


00:58:18.790 --> 00:58:23.350 align:middle line:84%
Any questions on
these types of things?

00:58:23.350 --> 00:58:25.070 align:middle line:90%
By the way, you can--

00:58:25.070 --> 00:58:28.400 align:middle line:84%
there's a bunch of other things
you can use on analyzing.

00:58:28.400 --> 00:58:31.100 align:middle line:84%
You can get the pitch
range and stuff like that.

00:58:31.100 --> 00:58:34.130 align:middle line:90%
But that works.

00:58:34.130 --> 00:58:38.950 align:middle line:84%
Oh, and I'll just say, on this
last one, key_out.alternative--

00:58:38.950 --> 00:58:42.370 align:middle line:90%


00:58:42.370 --> 00:58:43.000 align:middle line:90%
what is it?

00:58:43.000 --> 00:58:45.760 align:middle line:84%
I can never--
alternateInterpretations

00:58:45.760 --> 00:58:49.660 align:middle line:84%
interpretations
gives you a list of--

00:58:49.660 --> 00:58:51.400 align:middle line:90%
so this is one, C major.

00:58:51.400 --> 00:58:55.540 align:middle line:84%
It gives you a list from
the next most likely to

00:58:55.540 --> 00:58:56.860 align:middle line:90%
by far the least likely.

00:58:56.860 --> 00:58:58.870 align:middle line:84%
In fact, let's do
that on the jig.

00:58:58.870 --> 00:59:02.110 align:middle line:90%
We'll run the jig one more time.

00:59:02.110 --> 00:59:03.180 align:middle line:90%
What did we call it, k1?

00:59:03.180 --> 00:59:03.680 align:middle line:90%
Yeah.

00:59:03.680 --> 00:59:10.240 align:middle line:84%
So k1 is the jig's key, and
k1.alternateInterpretations.

00:59:10.240 --> 00:59:13.210 align:middle line:90%


00:59:13.210 --> 00:59:14.320 align:middle line:90%
Yep.

00:59:14.320 --> 00:59:16.955 align:middle line:84%
So if it's not in D major,
it might be in B minor.

00:59:16.955 --> 00:59:19.330 align:middle line:84%
Yeah, it might be, depending
on what the second section--

00:59:19.330 --> 00:59:21.480 align:middle line:84%
it's very unlikely to
be in A-flat major.

00:59:21.480 --> 00:59:25.210 align:middle line:90%


00:59:25.210 --> 00:59:25.960 align:middle line:90%
Great.

00:59:25.960 --> 00:59:29.710 align:middle line:84%
With the last 10 minutes-- but
I'm always happy to slow down--

00:59:29.710 --> 00:59:32.440 align:middle line:90%
questions, come back, talk.

00:59:32.440 --> 00:59:33.230 align:middle line:90%
No?

00:59:33.230 --> 00:59:35.510 align:middle line:90%
OK, sure.

00:59:35.510 --> 00:59:36.010 align:middle line:90%
Great.

00:59:36.010 --> 00:59:44.590 align:middle line:84%
So let's get what we all
want, which is Roman numerals.

00:59:44.590 --> 00:59:48.150 align:middle line:84%
So go ahead and, from
music21, import roman.

00:59:48.150 --> 00:59:54.550 align:middle line:90%


00:59:54.550 --> 01:00:00.615 align:middle line:84%
And I'm trying to find where
I have this part broken up.

01:00:00.615 --> 01:00:03.160 align:middle line:90%


01:00:03.160 --> 01:00:04.070 align:middle line:90%
Here we go.

01:00:04.070 --> 01:00:11.930 align:middle line:84%
OK, within roman, we can say
rn equals roman.RomanNumeral.

01:00:11.930 --> 01:00:14.110 align:middle line:84%
What are the two parts
of a Roman numeral

01:00:14.110 --> 01:00:22.290 align:middle line:84%
the computer is going to
need in order to figure out

01:00:22.290 --> 01:00:23.730 align:middle line:90%
what pitches there are?

01:00:23.730 --> 01:00:25.000 align:middle line:90%
Sorry, I--

01:00:25.000 --> 01:00:27.280 align:middle line:90%
AUDIENCE: [INAUDIBLE]

01:00:27.280 --> 01:00:28.400 align:middle line:90%
MICHAEL CUTHBERT: Yep?

01:00:28.400 --> 01:00:30.523 align:middle line:90%
AUDIENCE: [INAUDIBLE]

01:00:30.523 --> 01:00:31.440 align:middle line:90%
MICHAEL CUTHBERT: Yep.

01:00:31.440 --> 01:00:34.950 align:middle line:84%
We'll call that the figure,
the string representing things

01:00:34.950 --> 01:00:37.210 align:middle line:90%
like I, V things and the key.

01:00:37.210 --> 01:00:39.630 align:middle line:84%
So what we can do is, if
you had a key object--

01:00:39.630 --> 01:00:42.280 align:middle line:90%
I think we still have one, k1--

01:00:42.280 --> 01:00:47.020 align:middle line:84%
we can pass that in and
get this IV in D major.

01:00:47.020 --> 01:00:49.200 align:middle line:84%
The other thing--
what we'll often

01:00:49.200 --> 01:00:53.730 align:middle line:84%
do when we're coding in
class is I'll just give it

01:00:53.730 --> 01:00:55.530 align:middle line:90%
a capital D for D major.

01:00:55.530 --> 01:00:57.340 align:middle line:90%
Lowercase d would be D minor.

01:00:57.340 --> 01:00:59.460 align:middle line:90%
And that works just as well.

01:00:59.460 --> 01:01:01.660 align:middle line:84%
If you're actually
writing a program,

01:01:01.660 --> 01:01:04.080 align:middle line:84%
unfortunately one of the
least-optimized things

01:01:04.080 --> 01:01:06.520 align:middle line:90%
is creating a new key object.

01:01:06.520 --> 01:01:08.670 align:middle line:84%
It's about an order
of magnitude slower

01:01:08.670 --> 01:01:11.110 align:middle line:84%
than it should be in
an idealized world.

01:01:11.110 --> 01:01:13.680 align:middle line:84%
So it is helpful to
reuse your key object

01:01:13.680 --> 01:01:17.070 align:middle line:84%
if you're going to keep
using it over and over again.

01:01:17.070 --> 01:01:23.050 align:middle line:84%
OK, so we have Roman
numeral IV in D major.

01:01:23.050 --> 01:01:27.480 align:middle line:84%
Somebody this side of
the room, what pitches

01:01:27.480 --> 01:01:29.970 align:middle line:84%
are we going to be
expecting with Roman numeral

01:01:29.970 --> 01:01:31.160 align:middle line:90%
IV in D major?

01:01:31.160 --> 01:01:33.720 align:middle line:90%


01:01:33.720 --> 01:01:34.620 align:middle line:90%
Yep, go ahead.

01:01:34.620 --> 01:01:35.427 align:middle line:90%
AUDIENCE: G, B, D.

01:01:35.427 --> 01:01:37.510 align:middle line:84%
MICHAEL CUTHBERT: G, B,
D. Were you going to that?

01:01:37.510 --> 01:01:37.825 align:middle line:90%
AUDIENCE: Yeah.

01:01:37.825 --> 01:01:39.033 align:middle line:90%
MICHAEL CUTHBERT: Good, good.

01:01:39.033 --> 01:01:46.740 align:middle line:84%
So what we can do is G, B, D.
And what octave should they

01:01:46.740 --> 01:01:47.240 align:middle line:90%
be in?

01:01:47.240 --> 01:01:50.670 align:middle line:90%


01:01:50.670 --> 01:01:53.460 align:middle line:84%
Do that more gesturally
so that we can get that.

01:01:53.460 --> 01:01:54.015 align:middle line:90%
You went--

01:01:54.015 --> 01:01:55.030 align:middle line:90%
AUDIENCE: It doesn't matter.

01:01:55.030 --> 01:01:55.900 align:middle line:84%
MICHAEL CUTHBERT:
It doesn't matter.

01:01:55.900 --> 01:01:57.412 align:middle line:90%
It doesn't matter, right?

01:01:57.412 --> 01:01:59.940 align:middle line:84%
So there's this weird
thing that happens

01:01:59.940 --> 01:02:07.000 align:middle line:84%
that, when we want to put a
pitch onto a staff or something,

01:02:07.000 --> 01:02:08.350 align:middle line:90%
we need to give it an octave.

01:02:08.350 --> 01:02:10.180 align:middle line:84%
We need to reify
it at that moment.

01:02:10.180 --> 01:02:12.930 align:middle line:90%
But it doesn't matter.

01:02:12.930 --> 01:02:18.450 align:middle line:84%
So here's the first
question on this

01:02:18.450 --> 01:02:24.960 align:middle line:84%
is, what kinds of-- when we
say that we have the same Roman

01:02:24.960 --> 01:02:28.480 align:middle line:84%
numeral here as the
same Roman numeral here,

01:02:28.480 --> 01:02:31.050 align:middle line:84%
what kinds of
equivalence classes

01:02:31.050 --> 01:02:36.750 align:middle line:84%
are we talking about if I say
that Roman numeral IV equals

01:02:36.750 --> 01:02:37.760 align:middle line:90%
Roman numeral IV?

01:02:37.760 --> 01:02:40.350 align:middle line:90%


01:02:40.350 --> 01:02:44.405 align:middle line:84%
I want to throw some equivalence
classes on pitches or notes.

01:02:44.405 --> 01:02:48.960 align:middle line:90%


01:02:48.960 --> 01:02:51.852 align:middle line:84%
Somebody throw out an easy
one because we just said one.

01:02:51.852 --> 01:02:52.560 align:middle line:90%
AUDIENCE: Octave.

01:02:52.560 --> 01:02:53.852 align:middle line:90%
MICHAEL CUTHBERT: Octave, good.

01:02:53.852 --> 01:02:55.710 align:middle line:90%
So that's definitely one.

01:02:55.710 --> 01:02:56.550 align:middle line:90%
Yeah, go ahead.

01:02:56.550 --> 01:02:57.240 align:middle line:90%
AUDIENCE: Permutation.

01:02:57.240 --> 01:02:58.490 align:middle line:90%
MICHAEL CUTHBERT: Permutation.

01:02:58.490 --> 01:03:01.590 align:middle line:84%
Yeah, it doesn't really
matter what order they are.

01:03:01.590 --> 01:03:04.200 align:middle line:84%
I'll come back with octave
on just a little bit

01:03:04.200 --> 01:03:06.610 align:middle line:84%
because there's a
caveat, but later.

01:03:06.610 --> 01:03:09.810 align:middle line:84%
So everyone should try to
figure out the caveat on that.

01:03:09.810 --> 01:03:11.323 align:middle line:90%
What else?

01:03:11.323 --> 01:03:12.240 align:middle line:90%
AUDIENCE: Cardinality.

01:03:12.240 --> 01:03:13.782 align:middle line:84%
MICHAEL CUTHBERT:
Cardinality, right?

01:03:13.782 --> 01:03:16.110 align:middle line:90%
I mean, is--

01:03:16.110 --> 01:03:17.200 align:middle line:90%
I almost wrote on that.

01:03:17.200 --> 01:03:20.040 align:middle line:90%


01:03:20.040 --> 01:03:30.480 align:middle line:84%
Yeah, because this is I in C
major, but so is this, and so

01:03:30.480 --> 01:03:32.770 align:middle line:90%
is this, and so is this.

01:03:32.770 --> 01:03:35.320 align:middle line:84%
It doesn't really matter
how many notes we have.

01:03:35.320 --> 01:03:36.990 align:middle line:90%
Good.

01:03:36.990 --> 01:03:40.480 align:middle line:84%
Now, when we're just talking
about a Roman numeral like IV,

01:03:40.480 --> 01:03:46.080 align:middle line:84%
what's the other thing
that we're in there for?

01:03:46.080 --> 01:03:47.080 align:middle line:90%
What do you think about?

01:03:47.080 --> 01:03:47.767 align:middle line:90%
Yeah?

01:03:47.767 --> 01:03:49.350 align:middle line:84%
AUDIENCE: Whether
it's major or minor.

01:03:49.350 --> 01:03:52.440 align:middle line:84%
MICHAEL CUTHBERT: Whether
it's major or minor, yep.

01:03:52.440 --> 01:03:54.513 align:middle line:90%
So we have something on--

01:03:54.513 --> 01:03:57.510 align:middle line:90%


01:03:57.510 --> 01:03:59.470 align:middle line:84%
let's try to think
some of these things.

01:03:59.470 --> 01:04:06.930 align:middle line:84%
And do we have the same blanket
octave equivalence, the one

01:04:06.930 --> 01:04:09.580 align:middle line:84%
that we've been thinking of
that you've already coded?

01:04:09.580 --> 01:04:11.690 align:middle line:90%
What's my caveat on octave?

01:04:11.690 --> 01:04:15.765 align:middle line:90%


01:04:15.765 --> 01:04:16.265 align:middle line:90%
Yeah?

01:04:16.265 --> 01:04:18.543 align:middle line:84%
AUDIENCE: I would think
the second chord inversion.

01:04:18.543 --> 01:04:19.960 align:middle line:84%
MICHAEL CUTHBERT:
Chord inversion.

01:04:19.960 --> 01:04:23.070 align:middle line:84%
Yeah, we have this
different kind of inversion

01:04:23.070 --> 01:04:34.800 align:middle line:84%
where this is I, and this
is I first inversion.

01:04:34.800 --> 01:04:35.842 align:middle line:90%
What is it?

01:04:35.842 --> 01:04:40.150 align:middle line:84%
Ib if you're British,
I6 if you're American.

01:04:40.150 --> 01:04:42.510 align:middle line:90%
Yep.

01:04:42.510 --> 01:04:50.250 align:middle line:84%
Yeah, so we have
this unusual thing,

01:04:50.250 --> 01:04:53.565 align:middle line:84%
which is very usual for us
as musicians or as people

01:04:53.565 --> 01:04:54.940 align:middle line:84%
who have taken
traditional class,

01:04:54.940 --> 01:04:56.515 align:middle line:90%
but a little bit different for--

01:04:56.515 --> 01:04:59.620 align:middle line:90%


01:04:59.620 --> 01:05:03.450 align:middle line:84%
well, the octave of this
doesn't matter in itself.

01:05:03.450 --> 01:05:06.000 align:middle line:90%
We can move this up to--

01:05:06.000 --> 01:05:08.070 align:middle line:84%
sorry, this is all
over in the corner--

01:05:08.070 --> 01:05:12.930 align:middle line:90%
G, E, G, C, and it's still I6.

01:05:12.930 --> 01:05:15.690 align:middle line:84%
So there's something about the
octave that doesn't matter.

01:05:15.690 --> 01:05:24.600 align:middle line:84%
But we don't have, we might
say, a bass pitch equivalence.

01:05:24.600 --> 01:05:28.940 align:middle line:84%
So we're always going to be
creating new equivalence classes

01:05:28.940 --> 01:05:29.610 align:middle line:90%
on things.

01:05:29.610 --> 01:05:32.970 align:middle line:84%
And so there's a very
unusual equivalence class.

01:05:32.970 --> 01:05:38.930 align:middle line:84%
We also have a kind of limited
transposition equivalence class

01:05:38.930 --> 01:05:45.200 align:middle line:84%
that I can write C,
E, G and say it's I.

01:05:45.200 --> 01:05:57.950 align:middle line:84%
But I can also write D,
F-sharp, A and call it I,

01:05:57.950 --> 01:06:04.680 align:middle line:84%
as long as I say that I is I in
C major, and I is I in D major,

01:06:04.680 --> 01:06:09.980 align:middle line:84%
so that there's this
abstraction out of--

01:06:09.980 --> 01:06:13.010 align:middle line:84%
that transposition,
it's measured according

01:06:13.010 --> 01:06:15.745 align:middle line:90%
to distance from what note?

01:06:15.745 --> 01:06:19.280 align:middle line:90%


01:06:19.280 --> 01:06:23.173 align:middle line:84%
Not a note like C or
something, a conceptual note.

01:06:23.173 --> 01:06:23.840 align:middle line:90%
AUDIENCE: Tonic.

01:06:23.840 --> 01:06:25.090 align:middle line:90%
MICHAEL CUTHBERT: Tonic, yeah.

01:06:25.090 --> 01:06:27.650 align:middle line:84%
So we want to have
things that are

01:06:27.650 --> 01:06:30.800 align:middle line:90%
the difference from the tonic.

01:06:30.800 --> 01:06:32.630 align:middle line:84%
So I think this
might actually be

01:06:32.630 --> 01:06:36.488 align:middle line:84%
different on yours than
on mine because I'm

01:06:36.488 --> 01:06:38.030 align:middle line:84%
running a beta
version that I haven't

01:06:38.030 --> 01:06:40.340 align:middle line:90%
still haven't got the bugs out.

01:06:40.340 --> 01:06:45.080 align:middle line:84%
So you can see, Roman numeral
comes from some abstract class

01:06:45.080 --> 01:06:48.150 align:middle line:84%
called Harmony, which also
represents chord symbols,

01:06:48.150 --> 01:06:50.100 align:middle line:90%
which I will not get to today.

01:06:50.100 --> 01:06:52.740 align:middle line:90%
And it comes from Chord.

01:06:52.740 --> 01:06:56.540 align:middle line:84%
I think you're missing ChordBase
probably, for most people.

01:06:56.540 --> 01:06:57.850 align:middle line:90%
Or maybe-- no, it's there?

01:06:57.850 --> 01:06:58.350 align:middle line:90%
It's there?

01:06:58.350 --> 01:06:59.845 align:middle line:90%
OK, great.

01:06:59.845 --> 01:07:02.640 align:middle line:84%
I couldn't remember what
version got that in.

01:07:02.640 --> 01:07:03.770 align:middle line:90%
Great.

01:07:03.770 --> 01:07:10.590 align:middle line:84%
So with our Roman numeral IV, we
can get back, its figure is IV.

01:07:10.590 --> 01:07:13.320 align:middle line:84%
Well, that's not
telling you too much.

01:07:13.320 --> 01:07:14.490 align:middle line:90%
Let's get another one.

01:07:14.490 --> 01:07:23.210 align:middle line:84%
We'll call it rn1 equals
roman.RomanNumeral flat II6

01:07:23.210 --> 01:07:24.810 align:middle line:90%
in C major.

01:07:24.810 --> 01:07:28.240 align:middle line:84%
What's another
word for flat II6?

01:07:28.240 --> 01:07:31.970 align:middle line:84%
Anyone remember--
flat major II6?

01:07:31.970 --> 01:07:34.700 align:middle line:84%
Don't worry if you don't know
this because this is something

01:07:34.700 --> 01:07:36.710 align:middle line:84%
that some people
may know, but it's

01:07:36.710 --> 01:07:38.250 align:middle line:84%
the next semester
beyond the prereq.

01:07:38.250 --> 01:07:38.960 align:middle line:90%
Yep?

01:07:38.960 --> 01:07:40.835 align:middle line:84%
AUDIENCE: [INAUDIBLE]
augmented sixth chords.

01:07:40.835 --> 01:07:42.335 align:middle line:84%
MICHAEL CUTHBERT:
It's traditionally

01:07:42.335 --> 01:07:44.570 align:middle line:84%
taught the same week as
augmented sixth chord, so

01:07:44.570 --> 01:07:48.830 align:middle line:84%
everybody-- or the
week before it.

01:07:48.830 --> 01:07:51.560 align:middle line:84%
That's the type of stuff--
it's named after an emperor--

01:07:51.560 --> 01:07:52.710 align:middle line:90%
or no it's not.

01:07:52.710 --> 01:07:55.380 align:middle line:84%
It's named after a city--
a Neapolitan chord.

01:07:55.380 --> 01:07:58.100 align:middle line:84%
So it's named-- not Napoleon
chord, sorry-- named

01:07:58.100 --> 01:07:59.930 align:middle line:90%
after the city of Naples.

01:07:59.930 --> 01:08:01.710 align:middle line:90%
Very, very cool chord.

01:08:01.710 --> 01:08:04.220 align:middle line:84%
If we had two more
minutes, I would play it.

01:08:04.220 --> 01:08:06.110 align:middle line:90%
So here's something here.

01:08:06.110 --> 01:08:10.160 align:middle line:84%
It has a VI at the end,
so what do we call it?

01:08:10.160 --> 01:08:12.156 align:middle line:90%
What's the inversion?

01:08:12.156 --> 01:08:12.890 align:middle line:90%
AUDIENCE: First.

01:08:12.890 --> 01:08:14.307 align:middle line:84%
MICHAEL CUTHBERT:
First inversion.

01:08:14.307 --> 01:08:17.090 align:middle line:84%
So you can call
inversion and put it

01:08:17.090 --> 01:08:22.790 align:middle line:84%
as I. You can see it's a little
bit strange that it has--

01:08:22.790 --> 01:08:25.010 align:middle line:84%
inversion takes some
time to calculate

01:08:25.010 --> 01:08:26.819 align:middle line:90%
on very complex chords.

01:08:26.819 --> 01:08:28.740 align:middle line:90%
So it's method.

01:08:28.740 --> 01:08:33.330 align:middle line:84%
But we can get that
its romanNumeralAlone--

01:08:33.330 --> 01:08:34.649 align:middle line:90%
this is a little bit wordy.

01:08:34.649 --> 01:08:36.399 align:middle line:84%
I should have come up
with another thing--

01:08:36.399 --> 01:08:43.550 align:middle line:84%
is II and its
frontAlterationAccidental--

01:08:43.550 --> 01:08:48.319 align:middle line:90%
woo-- is a flat.

01:08:48.319 --> 01:08:54.130 align:middle line:84%
So it's a II with a
flat in front of it.

01:08:54.130 --> 01:08:57.500 align:middle line:90%


01:08:57.500 --> 01:09:00.500 align:middle line:84%
So one of the things
we can do, just

01:09:00.500 --> 01:09:05.560 align:middle line:84%
looking at the last moment,
what you'll probably be wanting

01:09:05.560 --> 01:09:07.854 align:middle line:90%
is roman.romanNumeralFromChord.

01:09:07.854 --> 01:09:11.569 align:middle line:90%


01:09:11.569 --> 01:09:15.350 align:middle line:84%
So given a chord and a key,
what's the Roman numeral?

01:09:15.350 --> 01:09:17.920 align:middle line:90%
So we still have weird--

01:09:17.920 --> 01:09:22.960 align:middle line:84%
no, let's start
with ch in C major.

01:09:22.960 --> 01:09:24.590 align:middle line:90%
My CEG is still there.

01:09:24.590 --> 01:09:25.090 align:middle line:90%
Great.

01:09:25.090 --> 01:09:26.899 align:middle line:90%
What would that be in--

01:09:26.899 --> 01:09:28.510 align:middle line:90%
here, let's just do this--

01:09:28.510 --> 01:09:32.380 align:middle line:90%
for s in ABCDEFG?

01:09:32.380 --> 01:09:35.920 align:middle line:90%


01:09:35.920 --> 01:09:38.350 align:middle line:90%
We'll print this.

01:09:38.350 --> 01:09:41.350 align:middle line:90%
Print the Roman numeral in the--

01:09:41.350 --> 01:09:42.554 align:middle line:90%
I'm using s for step.

01:09:42.554 --> 01:09:46.609 align:middle line:90%


01:09:46.609 --> 01:09:49.720 align:middle line:90%
Does that makes sense?

01:09:49.720 --> 01:09:51.974 align:middle line:90%
Some odd, odd chords in there.

01:09:51.974 --> 01:09:54.920 align:middle line:84%
But you can figure out
these types of things here.

01:09:54.920 --> 01:09:59.620 align:middle line:84%
And so we can even do
roman.RomanNumeralFromChord.

01:09:59.620 --> 01:10:03.740 align:middle line:84%
I almost always, when I'm using
this a lot, abbreviate this.

01:10:03.740 --> 01:10:09.490 align:middle line:84%
So rnfc equals
that, so I can just

01:10:09.490 --> 01:10:11.895 align:middle line:84%
do that.
romanNumeralFromChord, weird.

01:10:11.895 --> 01:10:14.920 align:middle line:90%


01:10:14.920 --> 01:10:15.782 align:middle line:90%
Oops.

01:10:15.782 --> 01:10:16.740 align:middle line:90%
I should give it a key.

01:10:16.740 --> 01:10:20.440 align:middle line:90%


01:10:20.440 --> 01:10:21.380 align:middle line:90%
There we go.

01:10:21.380 --> 01:10:29.500 align:middle line:84%
Sharp I, half-diminished flat
VII, VI, flat V, flat III.

01:10:29.500 --> 01:10:34.090 align:middle line:84%
So music21 will try to find
all these things for you.

01:10:34.090 --> 01:10:36.160 align:middle line:84%
I've kept you over,
so I'm not going

01:10:36.160 --> 01:10:43.090 align:middle line:84%
to show you how you can run this
on every chord in a Bach piece,

01:10:43.090 --> 01:10:47.030 align:middle line:84%
put it as the dot lyric,
and then reshow the piece.

01:10:47.030 --> 01:10:49.870 align:middle line:84%
We'll leave that as an
exercise for take home

01:10:49.870 --> 01:10:53.330 align:middle line:84%
and might come
into a class later.

01:10:53.330 --> 01:10:55.830 align:middle line:90%
So thanks, everybody.

01:10:55.830 --> 01:11:04.000 align:middle line:90%