WEBVTT

00:00:00.000 --> 00:00:01.467 align:middle line:90%


00:00:01.467 --> 00:00:05.868 align:middle line:84%
[SQUEAKING]
[RUSTLING] [CLICKING]

00:00:05.868 --> 00:00:09.800 align:middle line:90%


00:00:09.800 --> 00:00:11.300 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: OK, we're

00:00:11.300 --> 00:00:14.810 align:middle line:84%
going to go through a
little bit of a topic

00:00:14.810 --> 00:00:18.630 align:middle line:84%
that you've unlocked now with
the end of problem set 3,

00:00:18.630 --> 00:00:21.240 align:middle line:84%
which wasn't totally--
wasn't officially locked,

00:00:21.240 --> 00:00:23.220 align:middle line:84%
but we didn't really
talk about it.

00:00:23.220 --> 00:00:25.020 align:middle line:90%
And that's stream filtering.

00:00:25.020 --> 00:00:27.650 align:middle line:84%
So let me put this
down, and let's do

00:00:27.650 --> 00:00:29.130 align:middle line:90%
a little bit of Jupyter work.

00:00:29.130 --> 00:00:32.119 align:middle line:84%
So go ahead and get
yourself situated in that.

00:00:32.119 --> 00:00:34.465 align:middle line:90%
I'll give you a second or two.

00:00:34.465 --> 00:00:37.130 align:middle line:90%


00:00:37.130 --> 00:00:37.983 align:middle line:90%
Uh-oh.

00:00:37.983 --> 00:00:41.930 align:middle line:90%
[SIDE CONVERSATION]

00:00:41.930 --> 00:00:48.110 align:middle line:84%
And I think I saw scores
generated in text for everybody.

00:00:48.110 --> 00:00:50.580 align:middle line:84%
There was a great
question on the list.

00:00:50.580 --> 00:00:55.730 align:middle line:84%
What do you do if you're not yet
on version 9, which none of us

00:00:55.730 --> 00:01:01.260 align:middle line:84%
are, and you want to
see more of the score,

00:01:01.260 --> 00:01:04.910 align:middle line:84%
you can do show
musicxml dot pdf.

00:01:04.910 --> 00:01:11.660 align:middle line:84%
And if you have MuseScore,
that will automatically

00:01:11.660 --> 00:01:14.820 align:middle line:84%
generate your PDF of more
than just the first page.

00:01:14.820 --> 00:01:21.372 align:middle line:84%
You can also just
do show musicxml.

00:01:21.372 --> 00:01:22.830 align:middle line:84%
So those should be
straight quotes.

00:01:22.830 --> 00:01:24.747 align:middle line:84%
I'm just used to putting
them as curly quotes.

00:01:24.747 --> 00:01:25.880 align:middle line:90%
You all know that, right?

00:01:25.880 --> 00:01:30.650 align:middle line:84%
And that will just open it in
your favorite notation editor.

00:01:30.650 --> 00:01:31.740 align:middle line:90%
Great.

00:01:31.740 --> 00:01:34.790 align:middle line:90%
So let's get started with--

00:01:34.790 --> 00:01:39.930 align:middle line:84%
let's not load our
favorite Bach chorale,

00:01:39.930 --> 00:01:42.830 align:middle line:84%
but let's load our
new favorite piece

00:01:42.830 --> 00:01:47.990 align:middle line:84%
by a Boston-based
composer, Amy Beach.

00:01:47.990 --> 00:01:50.690 align:middle line:90%
And it's a piece for--

00:01:50.690 --> 00:01:52.380 align:middle line:84%
you see I even
start typing Bach.

00:01:52.380 --> 00:01:54.488 align:middle line:90%
It makes life-- oops.

00:01:54.488 --> 00:01:56.480 align:middle line:90%
Aah!

00:01:56.480 --> 00:02:01.710 align:middle line:84%
When I'm not teaching
in the semester I have--

00:02:01.710 --> 00:02:04.313 align:middle line:84%
well, it's import
star all right now,

00:02:04.313 --> 00:02:05.980 align:middle line:84%
so we don't have to
remember everything.

00:02:05.980 --> 00:02:09.120 align:middle line:84%
But not every module
is unlocked yet.

00:02:09.120 --> 00:02:10.960 align:middle line:84%
Usually, when I'm
not teaching class,

00:02:10.960 --> 00:02:14.940 align:middle line:84%
I make it so that that's
automatically imported for me

00:02:14.940 --> 00:02:16.630 align:middle line:90%
so I don't have to type that.

00:02:16.630 --> 00:02:18.995 align:middle line:84%
So if you see me make that
mistake, that's what it is.

00:02:18.995 --> 00:02:22.410 align:middle line:90%


00:02:22.410 --> 00:02:26.190 align:middle line:84%
We'll just start by
looking at this piece.

00:02:26.190 --> 00:02:29.340 align:middle line:84%
And it has a similar
structure to the piece

00:02:29.340 --> 00:02:30.340 align:middle line:90%
that we have been doing.

00:02:30.340 --> 00:02:33.460 align:middle line:84%
Ooh, we have some layout
errors today on my thing,

00:02:33.460 --> 00:02:37.770 align:middle line:84%
but it's a piece called
Prayer of a Tired Child

00:02:37.770 --> 00:02:41.650 align:middle line:84%
For four Part Course
of Women's Voices.

00:02:41.650 --> 00:02:51.820 align:middle line:84%
And see that the four parts are
soprano 1, soprano 2, alto 1,

00:02:51.820 --> 00:02:52.750 align:middle line:90%
alto 2.

00:02:52.750 --> 00:02:55.640 align:middle line:84%
And then there's a
fifth part, the piano.

00:02:55.640 --> 00:02:58.230 align:middle line:90%
And the piano part has--

00:02:58.230 --> 00:03:02.900 align:middle line:84%
well, we'll see what
it is in just a bit.

00:03:02.900 --> 00:03:10.550 align:middle line:84%
So how would we get
the soprano 2 part?

00:03:10.550 --> 00:03:11.790 align:middle line:90%
What do we want to do?

00:03:11.790 --> 00:03:15.510 align:middle line:84%
You all have gotten pretty
good at manual filtering.

00:03:15.510 --> 00:03:18.170 align:middle line:90%


00:03:18.170 --> 00:03:20.540 align:middle line:90%
So beach dot something.

00:03:20.540 --> 00:03:23.860 align:middle line:84%
Actually, talk with your
neighbors a little bit

00:03:23.860 --> 00:03:24.360 align:middle line:90%
about that.

00:03:24.360 --> 00:03:26.120 align:middle line:84%
We have some odd
number neighbors

00:03:26.120 --> 00:03:28.290 align:middle line:84%
and try to talk
through what you do.

00:03:28.290 --> 00:03:31.220 align:middle line:84%
It's more important that
you can explain things

00:03:31.220 --> 00:03:33.412 align:middle line:90%
than do it instantly.

00:03:33.412 --> 00:03:36.230 align:middle line:90%
[SIDE CONVERSATIONS]

00:03:36.230 --> 00:03:39.450 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT: You
want to get the soprano 2 part.

00:03:39.450 --> 00:03:43.186 align:middle line:90%
[SIDE CONVERSATIONS]

00:03:43.186 --> 00:03:45.832 align:middle line:90%


00:03:45.832 --> 00:03:47.540 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: So good, good.

00:03:47.540 --> 00:03:48.230 align:middle line:90%
One way.

00:03:48.230 --> 00:03:51.620 align:middle line:84%
If you find one way, keep
going for another or two

00:03:51.620 --> 00:03:52.380 align:middle line:90%
until we get it.

00:03:52.380 --> 00:03:55.791 align:middle line:84%
There's about five
different ways.

00:03:55.791 --> 00:03:58.832 align:middle line:90%
[SIDE CONVERSATIONS]

00:03:58.832 --> 00:04:00.540 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Not good here.

00:04:00.540 --> 00:04:03.620 align:middle line:90%


00:04:03.620 --> 00:04:08.600 align:middle line:84%
Everybody, give a thumbs up
if you think how to do it.

00:04:08.600 --> 00:04:11.960 align:middle line:90%
If not, keep talking with--

00:04:11.960 --> 00:04:14.787 align:middle line:84%
because that's almost
universal thumbs up.

00:04:14.787 --> 00:04:16.079 align:middle line:90%
Jonathan, was that a thumbs up?

00:04:16.079 --> 00:04:16.680 align:middle line:90%
Yep, good.

00:04:16.680 --> 00:04:18.890 align:middle line:90%
OK, great.

00:04:18.890 --> 00:04:20.329 align:middle line:90%
Let's see.

00:04:20.329 --> 00:04:22.740 align:middle line:90%
Jordan, how would you do it?

00:04:22.740 --> 00:04:25.370 align:middle line:84%
AUDIENCE: Dot parts
and brackets for 1.

00:04:25.370 --> 00:04:27.120 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Brackets for 1.

00:04:27.120 --> 00:04:27.620 align:middle line:90%
Good.

00:04:27.620 --> 00:04:31.850 align:middle line:84%
So we've already started with
one of the things on today.

00:04:31.850 --> 00:04:36.200 align:middle line:84%
This was in one of
the users guide thing.

00:04:36.200 --> 00:04:41.450 align:middle line:84%
Dot parts is a kind of filter
that filters out everything

00:04:41.450 --> 00:04:44.210 align:middle line:90%
that is not a part object.

00:04:44.210 --> 00:04:47.170 align:middle line:84%
And so this will
let you find things.

00:04:47.170 --> 00:04:47.670 align:middle line:90%
Good.

00:04:47.670 --> 00:04:49.060 align:middle line:90%
What's another way we can do it?

00:04:49.060 --> 00:04:53.810 align:middle line:90%


00:04:53.810 --> 00:04:56.750 align:middle line:90%
Somebody else.

00:04:56.750 --> 00:04:58.830 align:middle line:84%
Who have I not been
calling on so much?

00:04:58.830 --> 00:05:00.530 align:middle line:90%
Derek.

00:05:00.530 --> 00:05:03.290 align:middle line:84%
AUDIENCE: You can
put in quotes the--

00:05:03.290 --> 00:05:06.710 align:middle line:90%
as the index.

00:05:06.710 --> 00:05:12.050 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
For the index to parts.

00:05:12.050 --> 00:05:12.860 align:middle line:90%
Oops.

00:05:12.860 --> 00:05:15.640 align:middle line:84%
Sometimes that autocomplete
is less than helpful.

00:05:15.640 --> 00:05:18.800 align:middle line:90%


00:05:18.800 --> 00:05:19.910 align:middle line:90%
Oops!

00:05:19.910 --> 00:05:20.800 align:middle line:90%
What do I have to do?

00:05:20.800 --> 00:05:24.380 align:middle line:90%


00:05:24.380 --> 00:05:27.710 align:middle line:90%
What am I looking for?

00:05:27.710 --> 00:05:29.000 align:middle line:90%
Somebody help?

00:05:29.000 --> 00:05:30.240 align:middle line:90%
Soprano 2.

00:05:30.240 --> 00:05:30.950 align:middle line:90%
Yep.

00:05:30.950 --> 00:05:31.590 align:middle line:90%
Great.

00:05:31.590 --> 00:05:32.940 align:middle line:90%
So it has to be exact.

00:05:32.940 --> 00:05:34.860 align:middle line:90%
Does not grab the first one.

00:05:34.860 --> 00:05:36.660 align:middle line:90%
That kind of makes that-- good.

00:05:36.660 --> 00:05:37.470 align:middle line:90%
What's another way?

00:05:37.470 --> 00:05:38.110 align:middle line:90%
Somebody else?

00:05:38.110 --> 00:05:40.920 align:middle line:90%


00:05:40.920 --> 00:05:41.420 align:middle line:90%
Vanessa?

00:05:41.420 --> 00:05:41.780 align:middle line:90%
AUDIENCE: Is it by ID?

00:05:41.780 --> 00:05:42.800 align:middle line:90%
AUDIENCE: I did the first one.

00:05:42.800 --> 00:05:43.710 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
You did the first one?

00:05:43.710 --> 00:05:44.210 align:middle line:90%
Great.

00:05:44.210 --> 00:05:45.020 align:middle line:90%
Matthew?

00:05:45.020 --> 00:05:46.140 align:middle line:90%
AUDIENCE: getElementById?

00:05:46.140 --> 00:05:47.473 align:middle line:90%
MICHAEL SCOTT A. CUTHBERT: Good.

00:05:47.473 --> 00:05:52.850 align:middle line:90%
getElementById Soprano II.

00:05:52.850 --> 00:05:58.120 align:middle line:84%
That's helpful if you don't
know, well, for instance--

00:05:58.120 --> 00:06:00.010 align:middle line:90%
well, not piano.

00:06:00.010 --> 00:06:07.850 align:middle line:84%
Let's try that dot
getElementById Piano.

00:06:07.850 --> 00:06:10.450 align:middle line:90%


00:06:10.450 --> 00:06:12.540 align:middle line:84%
You actually get
nothing in that case.

00:06:12.540 --> 00:06:15.190 align:middle line:90%


00:06:15.190 --> 00:06:18.790 align:middle line:84%
Though, we'll see that there's
some interesting things when

00:06:18.790 --> 00:06:20.860 align:middle line:90%
it comes to piano.

00:06:20.860 --> 00:06:27.525 align:middle line:84%
Let's do this for p in
beach dot parts, print p.

00:06:27.525 --> 00:06:32.170 align:middle line:90%


00:06:32.170 --> 00:06:35.240 align:middle line:84%
And we can actually see
a couple of things here.

00:06:35.240 --> 00:06:38.560 align:middle line:84%
One is that the
piano is represented

00:06:38.560 --> 00:06:41.770 align:middle line:84%
by 2 or something
called a part staff that

00:06:41.770 --> 00:06:45.580 align:middle line:84%
are separate parts in
the ontology of music21.

00:06:45.580 --> 00:06:50.390 align:middle line:84%
In a lot of other systems,
they are the same part,

00:06:50.390 --> 00:06:52.850 align:middle line:84%
and there are two
staves within a part.

00:06:52.850 --> 00:06:55.600 align:middle line:84%
And every one of these
representation things

00:06:55.600 --> 00:06:58.940 align:middle line:90%
has huge drawbacks to them.

00:06:58.940 --> 00:07:02.440 align:middle line:84%
And when somebody comes up with
a representation for piano music

00:07:02.440 --> 00:07:06.640 align:middle line:84%
that does not have the
drawback, you can please, please

00:07:06.640 --> 00:07:09.490 align:middle line:84%
publish that and you will
make the world so happy.

00:07:09.490 --> 00:07:16.370 align:middle line:84%
Because everything is fine with
treating a piano as two parts.

00:07:16.370 --> 00:07:17.535 align:middle line:90%
Let's say it's in 3 over 4.

00:07:17.535 --> 00:07:22.330 align:middle line:90%


00:07:22.330 --> 00:07:24.550 align:middle line:84%
As two separate
parts as long as--

00:07:24.550 --> 00:07:29.290 align:middle line:84%
I'm trying to make this at
least vaguely consonant--

00:07:29.290 --> 00:07:32.260 align:middle line:84%
as long as you do
something like this.

00:07:32.260 --> 00:07:33.953 align:middle line:90%
It's when you start doing--

00:07:33.953 --> 00:07:41.110 align:middle line:90%


00:07:41.110 --> 00:07:43.680 align:middle line:84%
that should go up to
do proper stemming.

00:07:43.680 --> 00:07:48.280 align:middle line:90%


00:07:48.280 --> 00:07:50.890 align:middle line:84%
That you have the
problem, right?

00:07:50.890 --> 00:07:55.120 align:middle line:84%
That suddenly, a musical
melody that starts in one part

00:07:55.120 --> 00:07:56.960 align:middle line:90%
continues into another part.

00:07:56.960 --> 00:08:02.320 align:middle line:84%
Does your ontology allow
for beams to cross parts?

00:08:02.320 --> 00:08:05.650 align:middle line:84%
Well, I never-- you asked me to
create an ontology for something

00:08:05.650 --> 00:08:07.283 align:middle line:84%
that wasn't Western
classical music,

00:08:07.283 --> 00:08:08.450 align:middle line:90%
I have no ontology for that.

00:08:08.450 --> 00:08:12.590 align:middle line:84%
Yeah, but this ends up being
one of the main things.

00:08:12.590 --> 00:08:14.590 align:middle line:84%
Whenever somebody
says they've created

00:08:14.590 --> 00:08:19.240 align:middle line:84%
a new way of representing
classical music, the thing I

00:08:19.240 --> 00:08:20.810 align:middle line:84%
always do, because
I'm a smart aleck,

00:08:20.810 --> 00:08:22.310 align:middle line:84%
and if you want to
be a smart aleck,

00:08:22.310 --> 00:08:24.467 align:middle line:84%
just always go up to that
person who's like, oh,

00:08:24.467 --> 00:08:25.550 align:middle line:90%
I have a much simpler way.

00:08:25.550 --> 00:08:28.480 align:middle line:84%
Just ask them, How do
you do cross-staff beams

00:08:28.480 --> 00:08:29.990 align:middle line:90%
in your ontology?

00:08:29.990 --> 00:08:32.030 align:middle line:84%
And if they go, well, we
haven't gotten to that,

00:08:32.030 --> 00:08:36.669 align:middle line:84%
this is the first thing
that almost every ontology

00:08:36.669 --> 00:08:37.549 align:middle line:90%
should start with.

00:08:37.549 --> 00:08:39.200 align:middle line:84%
How do we represent
cross-staff beams?

00:08:39.200 --> 00:08:41.470 align:middle line:84%
If you figured out how to
represent cross-staff beams

00:08:41.470 --> 00:08:44.840 align:middle line:90%
or chords that span--

00:08:44.840 --> 00:08:47.230 align:middle line:84%
what would be a
good chord on this?

00:08:47.230 --> 00:08:50.680 align:middle line:84%
I guess we're in
first inversion here.

00:08:50.680 --> 00:08:54.350 align:middle line:84%
Chords that span multiple
staves, you'll figure it out.

00:08:54.350 --> 00:08:57.610 align:middle line:84%
The music21 ontology
on this is bloop.

00:08:57.610 --> 00:09:00.320 align:middle line:84%
It's really not
what it should be.

00:09:00.320 --> 00:09:02.680 align:middle line:84%
On the other hand, when
you represent everything

00:09:02.680 --> 00:09:04.280 align:middle line:84%
as one staff and
you have to say,

00:09:04.280 --> 00:09:05.840 align:middle line:84%
OK, well, this is
a note on staff 1,

00:09:05.840 --> 00:09:12.490 align:middle line:84%
this is a note on staff 2,
then your left to right parser

00:09:12.490 --> 00:09:15.530 align:middle line:84%
ends up failing quite a bit
because you go left to right.

00:09:15.530 --> 00:09:18.440 align:middle line:84%
And then you say, OK, now
let's jump backwards a bit.

00:09:18.440 --> 00:09:22.460 align:middle line:84%
And when you have
some sort of array,

00:09:22.460 --> 00:09:25.880 align:middle line:84%
some sort of a sequence of
objects that go all in a row,

00:09:25.880 --> 00:09:29.530 align:middle line:84%
but then sometimes jump
backwards and fill things in,

00:09:29.530 --> 00:09:32.440 align:middle line:84%
I guarantee you,
you will be managing

00:09:32.440 --> 00:09:35.740 align:middle line:84%
what we call cursor hell for
the rest of your life, trying

00:09:35.740 --> 00:09:39.440 align:middle line:84%
to figure out where you
are left to right and how,

00:09:39.440 --> 00:09:45.090 align:middle line:84%
if you're thinking about your
big O algorithmic notation,

00:09:45.090 --> 00:09:47.630 align:middle line:90%
how can we simplify things?

00:09:47.630 --> 00:09:50.720 align:middle line:84%
How can we make walking
through a score be O of n?

00:09:50.720 --> 00:09:53.110 align:middle line:90%
Or how can we do--

00:09:53.110 --> 00:09:56.480 align:middle line:84%
if we guess a number
between 1 and 100,

00:09:56.480 --> 00:09:58.210 align:middle line:84%
I tell you higher
or lower, what's

00:09:58.210 --> 00:10:01.353 align:middle line:90%
the big O we're talking about?

00:10:01.353 --> 00:10:02.020 align:middle line:90%
AUDIENCE: Log n.

00:10:02.020 --> 00:10:03.395 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Log n.

00:10:03.395 --> 00:10:04.070 align:middle line:90%
Good, good.

00:10:04.070 --> 00:10:05.140 align:middle line:90%
Yeah.

00:10:05.140 --> 00:10:07.430 align:middle line:84%
Some things MIT does
really, really well with,

00:10:07.430 --> 00:10:08.450 align:middle line:90%
and this is great.

00:10:08.450 --> 00:10:09.950 align:middle line:84%
A lot of things I
might use as well.

00:10:09.950 --> 00:10:11.440 align:middle line:90%
Yeah, so you all know log n.

00:10:11.440 --> 00:10:15.070 align:middle line:84%
Well, what happens to
your log n guessing

00:10:15.070 --> 00:10:22.430 align:middle line:84%
if you have an array of things
that go 0, 1, 2, 5, 11, 14, 8,

00:10:22.430 --> 00:10:24.310 align:middle line:90%
2?

00:10:24.310 --> 00:10:26.680 align:middle line:84%
Suddenly, what are
we back to, to find

00:10:26.680 --> 00:10:28.000 align:middle line:90%
any element in something?

00:10:28.000 --> 00:10:29.630 align:middle line:90%
O of n.

00:10:29.630 --> 00:10:31.148 align:middle line:84%
You have to look
at every element.

00:10:31.148 --> 00:10:32.690 align:middle line:84%
So you can't know
where something is.

00:10:32.690 --> 00:10:33.470 align:middle line:90%
Yes, Adam.

00:10:33.470 --> 00:10:35.933 align:middle line:84%
AUDIENCE: You were reciting
the Catalan numbers for a bit.

00:10:35.933 --> 00:10:37.850 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
I think I was, yes.

00:10:37.850 --> 00:10:41.770 align:middle line:84%
But something we
will get to later

00:10:41.770 --> 00:10:50.530 align:middle line:84%
in the class, the strong
law of small numbers.

00:10:50.530 --> 00:10:52.400 align:middle line:90%
You can look this up somewhere.

00:10:52.400 --> 00:10:56.930 align:middle line:90%
It is the numbers--

00:10:56.930 --> 00:10:58.390 align:middle line:90%
numbers.

00:10:58.390 --> 00:11:03.880 align:middle line:84%
It is one of the biggest
mistakes with computational work

00:11:03.880 --> 00:11:07.870 align:middle line:84%
in any non-traditionally
computational field

00:11:07.870 --> 00:11:08.830 align:middle line:90%
like musicology.

00:11:08.830 --> 00:11:11.080 align:middle line:84%
And that is to say-- you
don't have to look it up now.

00:11:11.080 --> 00:11:12.290 align:middle line:90%
You can look at it later.

00:11:12.290 --> 00:11:15.217 align:middle line:84%
Basically, there aren't enough
small numbers for all the things

00:11:15.217 --> 00:11:15.800 align:middle line:90%
that you want.

00:11:15.800 --> 00:11:17.650 align:middle line:84%
So anytime you're giving
out small numbers,

00:11:17.650 --> 00:11:19.610 align:middle line:84%
there's almost always
going to be a pattern.

00:11:19.610 --> 00:11:20.630 align:middle line:84%
It's going to be
Catalan numbers.

00:11:20.630 --> 00:11:22.088 align:middle line:84%
It's going to be
Fibonacci numbers.

00:11:22.088 --> 00:11:26.360 align:middle line:84%
And people always find
patterns in all these things.

00:11:26.360 --> 00:11:30.070 align:middle line:84%
OK, that was a digression
on a digression

00:11:30.070 --> 00:11:31.460 align:middle line:90%
on a slight digression.

00:11:31.460 --> 00:11:33.558 align:middle line:84%
So we'll go back
to the main thing,

00:11:33.558 --> 00:11:34.850 align:middle line:90%
which is finding parts in here.

00:11:34.850 --> 00:11:35.350 align:middle line:90%
Good.

00:11:35.350 --> 00:11:39.280 align:middle line:84%
So we have a way of
going through and finding

00:11:39.280 --> 00:11:40.130 align:middle line:90%
interesting parts.

00:11:40.130 --> 00:11:43.430 align:middle line:84%
I'm going to turn this
off so we can see better.

00:11:43.430 --> 00:11:44.600 align:middle line:90%
Is that a little bit better?

00:11:44.600 --> 00:11:45.310 align:middle line:90%
Yeah.

00:11:45.310 --> 00:11:46.070 align:middle line:90%
Good.

00:11:46.070 --> 00:11:47.320 align:middle line:90%
OK.

00:11:47.320 --> 00:11:48.020 align:middle line:90%
Great.

00:11:48.020 --> 00:11:51.200 align:middle line:84%
So we can figure
out all the parts.

00:11:51.200 --> 00:11:53.500 align:middle line:84%
Some of the other
things, you can do it

00:11:53.500 --> 00:12:02.690 align:middle line:84%
for for thing in beach dot
recurse if isinstance--

00:12:02.690 --> 00:12:03.970 align:middle line:90%
help me.

00:12:03.970 --> 00:12:05.870 align:middle line:84%
Let me start with
this if isinstance.

00:12:05.870 --> 00:12:08.410 align:middle line:90%
Be my GitHub autopilot.

00:12:08.410 --> 00:12:09.880 align:middle line:90%
I've checked this.

00:12:09.880 --> 00:12:10.760 align:middle line:90%
Oh good, good.

00:12:10.760 --> 00:12:12.650 align:middle line:84%
Some people have
played with this.

00:12:12.650 --> 00:12:13.833 align:middle line:90%
If isinstance--

00:12:13.833 --> 00:12:14.500 align:middle line:90%
AUDIENCE: Thing.

00:12:14.500 --> 00:12:16.208 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: --thing comma.

00:12:16.208 --> 00:12:17.325 align:middle line:90%
What are we looking for?

00:12:17.325 --> 00:12:18.408 align:middle line:90%
AUDIENCE: Stream dot part.

00:12:18.408 --> 00:12:23.320 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Stream dot part if--

00:12:23.320 --> 00:12:29.980 align:middle line:84%
well, we can say here, we can
start with this part_num equals

00:12:29.980 --> 00:12:31.670 align:middle line:90%
0 to 1 to negative 1.

00:12:31.670 --> 00:12:33.640 align:middle line:90%
We'll say negative 1.

00:12:33.640 --> 00:12:37.750 align:middle line:90%
part_num equals 1.

00:12:37.750 --> 00:12:43.900 align:middle line:84%
Here, we'll say
Soprano II equals none.

00:12:43.900 --> 00:12:49.790 align:middle line:84%
part_num not equals 1, plus
equals 1 if part_num equals--

00:12:49.790 --> 00:12:50.290 align:middle line:90%
wait.

00:12:50.290 --> 00:12:51.560 align:middle line:90%
So we start with negative 1.

00:12:51.560 --> 00:12:54.790 align:middle line:90%
So we get to 1.

00:12:54.790 --> 00:12:58.150 align:middle line:90%
Soprano II equals thing.

00:12:58.150 --> 00:13:00.200 align:middle line:90%
And let's see if that works.

00:13:00.200 --> 00:13:03.520 align:middle line:90%
Coding on the fly.

00:13:03.520 --> 00:13:05.120 align:middle line:90%
OK good, I can still do that.

00:13:05.120 --> 00:13:10.310 align:middle line:84%
That's a really, really brutally
awful way of doing it, right?

00:13:10.310 --> 00:13:12.120 align:middle line:90%
But you can do it that way.

00:13:12.120 --> 00:13:16.780 align:middle line:90%


00:13:16.780 --> 00:13:20.360 align:middle line:84%
So there's one other way
that I'm going to get you.

00:13:20.360 --> 00:13:24.920 align:middle line:84%
And why did I come back to
the recurse way of doing this?

00:13:24.920 --> 00:13:27.580 align:middle line:84%
Because there is one
particular shortcut that you're

00:13:27.580 --> 00:13:30.130 align:middle line:90%
going to find very useful.

00:13:30.130 --> 00:13:36.330 align:middle line:84%
And that is-- so beach index,
you know this one, right?

00:13:36.330 --> 00:13:37.670 align:middle line:90%
Index 0.

00:13:37.670 --> 00:13:41.110 align:middle line:84%
Oh, this one, for those of you
who just assumed that everything

00:13:41.110 --> 00:13:43.240 align:middle line:84%
starts with a lot
of things, we have

00:13:43.240 --> 00:13:44.930 align:middle line:90%
a whole bunch of text boxes.

00:13:44.930 --> 00:13:46.190 align:middle line:90%
What happens around 10?

00:13:46.190 --> 00:13:49.000 align:middle line:84%
We're still doing text
boxes, which appear

00:13:49.000 --> 00:13:50.620 align:middle line:90%
somewhere on-- oh, there we go.

00:13:50.620 --> 00:13:54.350 align:middle line:90%
Part 19 is Soprano II.

00:13:54.350 --> 00:13:59.990 align:middle line:84%
But here's another way that
we can start getting to parts.

00:13:59.990 --> 00:14:03.650 align:middle line:84%
This is a little bit
different we have.

00:14:03.650 --> 00:14:07.733 align:middle line:84%
But instead of putting a number
in there, we can put in a class.

00:14:07.733 --> 00:14:11.500 align:middle line:90%


00:14:11.500 --> 00:14:14.240 align:middle line:84%
And that lets us go
through everything.

00:14:14.240 --> 00:14:21.690 align:middle line:84%
So we can say for p in beach
stream dot Part, print p.

00:14:21.690 --> 00:14:24.700 align:middle line:90%


00:14:24.700 --> 00:14:27.880 align:middle line:84%
And that will be one
of your simplest ways

00:14:27.880 --> 00:14:29.770 align:middle line:90%
of going through things.

00:14:29.770 --> 00:14:36.673 align:middle line:84%
For instance, for r
in stream of beach--

00:14:36.673 --> 00:14:38.090 align:middle line:84%
sorry, I should
scroll down a bit,

00:14:38.090 --> 00:14:44.020 align:middle line:90%
beach notes dot rest print r.

00:14:44.020 --> 00:14:47.230 align:middle line:84%
And now, you can
quickly get a sense

00:14:47.230 --> 00:14:50.337 align:middle line:84%
of what durations are used
in every rest in the piece.

00:14:50.337 --> 00:14:52.420 align:middle line:84%
Sorry, I'm not going to
scroll down because people

00:14:52.420 --> 00:14:53.150 align:middle line:90%
want to see that.

00:14:53.150 --> 00:14:56.510 align:middle line:84%
Give you a chance
to catch up and see,

00:14:56.510 --> 00:14:59.060 align:middle line:84%
What are some of
your favorite things?

00:14:59.060 --> 00:15:01.502 align:middle line:84%
Does the piece have
any clef changes?

00:15:01.502 --> 00:15:04.367 align:middle line:90%


00:15:04.367 --> 00:15:06.200 align:middle line:84%
Or actually, let's just
not say clef change.

00:15:06.200 --> 00:15:08.560 align:middle line:84%
Does it have any time
signature changes?

00:15:08.560 --> 00:15:13.610 align:middle line:84%
So let's see how quickly you can
have the computer figure out,

00:15:13.610 --> 00:15:17.860 align:middle line:84%
does this piece,
change time signature.

00:15:17.860 --> 00:15:20.770 align:middle line:90%
Have any-- no.

00:15:20.770 --> 00:15:22.640 align:middle line:90%
Are there any clef changes?

00:15:22.640 --> 00:15:24.730 align:middle line:90%
Let's try that.

00:15:24.730 --> 00:15:27.200 align:middle line:90%
It's all code, one behind you.

00:15:27.200 --> 00:15:29.363 align:middle line:84%
All code doesn't have any
time signature changes.

00:15:29.363 --> 00:15:35.800 align:middle line:90%


00:15:35.800 --> 00:15:37.230 align:middle line:90%
In case you don't have this.

00:15:37.230 --> 00:15:46.180 align:middle line:90%


00:15:46.180 --> 00:15:47.990 align:middle line:84%
What do we think
about clef changes?

00:15:47.990 --> 00:15:51.010 align:middle line:90%
Yes, no.

00:15:51.010 --> 00:15:51.520 align:middle line:90%
No.

00:15:51.520 --> 00:15:52.600 align:middle line:90%
We got yes.

00:15:52.600 --> 00:15:55.420 align:middle line:90%
We got yes.

00:15:55.420 --> 00:15:59.290 align:middle line:84%
We got yes, it does
have some clef changes.

00:15:59.290 --> 00:16:01.340 align:middle line:90%
So shall we do the same--

00:16:01.340 --> 00:16:03.160 align:middle line:84%
I'll let people have
a little bit more,

00:16:03.160 --> 00:16:10.155 align:middle line:84%
and then we'll let a yes give
me the code for doing this.

00:16:10.155 --> 00:16:13.990 align:middle line:90%


00:16:13.990 --> 00:16:15.670 align:middle line:90%
OK, I finished talking.

00:16:15.670 --> 00:16:17.260 align:middle line:90%
Who's a yes?

00:16:17.260 --> 00:16:19.810 align:middle line:84%
Jason, you were
you yes or-- yeah.

00:16:19.810 --> 00:16:21.640 align:middle line:90%
So what should I be typing?

00:16:21.640 --> 00:16:25.130 align:middle line:84%
AUDIENCE: for thing
in beach dot recurse--

00:16:25.130 --> 00:16:26.980 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Beach recurse.

00:16:26.980 --> 00:16:29.285 align:middle line:90%
AUDIENCE: --if isinstance.

00:16:29.285 --> 00:16:31.660 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
OK, let's go to the new thing.

00:16:31.660 --> 00:16:33.280 align:middle line:84%
Instead of if
isinstance, what do you

00:16:33.280 --> 00:16:35.130 align:middle line:90%
want to do instead of that?

00:16:35.130 --> 00:16:36.960 align:middle line:84%
You're on the right
track, but now we

00:16:36.960 --> 00:16:38.370 align:middle line:90%
have a new way of doing it.

00:16:38.370 --> 00:16:41.410 align:middle line:84%
So this is a shortcut
for recurse and things.

00:16:41.410 --> 00:16:41.910 align:middle line:90%
Jonathan.

00:16:41.910 --> 00:16:42.965 align:middle line:90%
AUDIENCE: clef dot Clef.

00:16:42.965 --> 00:16:43.620 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Clef dot Clef.

00:16:43.620 --> 00:16:44.120 align:middle line:90%
Yeah.

00:16:44.120 --> 00:16:46.060 align:middle line:84%
So it's basically
the same thing.

00:16:46.060 --> 00:16:50.460 align:middle line:84%
And, oh, here is something that
came up in a couple of things.

00:16:50.460 --> 00:16:52.750 align:middle line:84%
Now I know it's
going to be a clef.

00:16:52.750 --> 00:16:55.050 align:middle line:90%
So maybe thing isn't the best.

00:16:55.050 --> 00:16:57.780 align:middle line:90%
So do you like that?

00:16:57.780 --> 00:17:00.160 align:middle line:90%
No, this comes up a lot.

00:17:00.160 --> 00:17:02.200 align:middle line:90%
What-- Adam doesn't like it.

00:17:02.200 --> 00:17:03.960 align:middle line:90%
Somebody else?

00:17:03.960 --> 00:17:05.890 align:middle line:90%
Anybody else not like this?

00:17:05.890 --> 00:17:07.800 align:middle line:84%
Yeah, Paul, what do
you not like about it?

00:17:07.800 --> 00:17:12.765 align:middle line:84%
AUDIENCE: Because clef is
part of the music21 input.

00:17:12.765 --> 00:17:14.640 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Yeah, because clef

00:17:14.640 --> 00:17:16.829 align:middle line:90%
is part of the music21 input.

00:17:16.829 --> 00:17:22.500 align:middle line:84%
Some people who hate
that I recommend

00:17:22.500 --> 00:17:27.540 align:middle line:84%
importing all of music21, so
you could do this if you wanted.

00:17:27.540 --> 00:17:31.297 align:middle line:84%
And then clef is only
referenced with--

00:17:31.297 --> 00:17:32.130 align:middle line:90%
what do you call it?

00:17:32.130 --> 00:17:34.420 align:middle line:90%
With a prefix of music21.

00:17:34.420 --> 00:17:37.120 align:middle line:84%
And some people
really insist on that.

00:17:37.120 --> 00:17:38.850 align:middle line:84%
You might have a
friend who talks about

00:17:38.850 --> 00:17:42.420 align:middle line:84%
don't pollute your namespace
by things you don't know,

00:17:42.420 --> 00:17:44.200 align:middle line:90%
which can be pretty good advice.

00:17:44.200 --> 00:17:45.360 align:middle line:90%
But, yeah, you can do that.

00:17:45.360 --> 00:17:48.100 align:middle line:90%
So thing is not bad.

00:17:48.100 --> 00:17:52.260 align:middle line:84%
I sometimes do
leave off the vowel.

00:17:52.260 --> 00:17:53.740 align:middle line:90%
Some people don't like that.

00:17:53.740 --> 00:17:57.390 align:middle line:84%
Somebody in P set 3 did
a lot of this with no

00:17:57.390 --> 00:17:59.800 align:middle line:84%
putting an underscore
afterwards.

00:17:59.800 --> 00:18:01.900 align:middle line:90%
That's a pretty good thing.

00:18:01.900 --> 00:18:05.850 align:middle line:84%
The other thing I will often do
is just use the first letter,

00:18:05.850 --> 00:18:07.560 align:middle line:84%
even though I usually
like verbose things

00:18:07.560 --> 00:18:08.560 align:middle line:90%
if I'm going to do that.

00:18:08.560 --> 00:18:09.900 align:middle line:90%
So OK.

00:18:09.900 --> 00:18:15.900 align:middle line:84%
And Jason or Jonathan, whoever
was starting wants to go next.

00:18:15.900 --> 00:18:18.510 align:middle line:84%
Print c, is that
what you did, or?

00:18:18.510 --> 00:18:20.010 align:middle line:90%
Yep.

00:18:20.010 --> 00:18:21.690 align:middle line:90%
Right.

00:18:21.690 --> 00:18:24.720 align:middle line:84%
I'm going through well,
and we have a clef change.

00:18:24.720 --> 00:18:25.540 align:middle line:90%
So clef change.

00:18:25.540 --> 00:18:28.050 align:middle line:90%
Anybody object?

00:18:28.050 --> 00:18:28.680 align:middle line:90%
Angelica?

00:18:28.680 --> 00:18:33.615 align:middle line:84%
[MUMBLES] Adam has a
bit-- yeah, Vincent.

00:18:33.615 --> 00:18:35.490 align:middle line:84%
AUDIENCE: I tried that
at first, but I really

00:18:35.490 --> 00:18:38.700 align:middle line:84%
know if the bass clef
maybe belonged to the piano

00:18:38.700 --> 00:18:40.740 align:middle line:90%
part, piano change.

00:18:40.740 --> 00:18:43.440 align:middle line:84%
And so maybe you can probably
print out the part and then

00:18:43.440 --> 00:18:45.190 align:middle line:90%
the clef that it corresponds to.

00:18:45.190 --> 00:18:45.805 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Oh, OK.

00:18:45.805 --> 00:18:46.860 align:middle line:84%
AUDIENCE: It is
just in the part.

00:18:46.860 --> 00:18:48.193 align:middle line:90%
MICHAEL SCOTT A. CUTHBERT: Good.

00:18:48.193 --> 00:18:50.580 align:middle line:90%
So what we could do, let's see.

00:18:50.580 --> 00:18:54.270 align:middle line:84%
How can we get the
part name on this?

00:18:54.270 --> 00:18:56.238 align:middle line:90%
For-- yeah, go ahead.

00:18:56.238 --> 00:18:58.030 align:middle line:84%
AUDIENCE: I just have
another form for that

00:18:58.030 --> 00:18:59.010 align:middle line:90%
that leads to the parts bit.

00:18:59.010 --> 00:19:00.760 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: For p in beach.

00:19:00.760 --> 00:19:04.080 align:middle line:84%
And now we'll-- so the
difference by the way,

00:19:04.080 --> 00:19:06.730 align:middle line:90%
dot parts is not recursive.

00:19:06.730 --> 00:19:11.770 align:middle line:84%
But hopefully, the parts are at
the top most level of the score.

00:19:11.770 --> 00:19:12.910 align:middle line:90%
So it doesn't matter.

00:19:12.910 --> 00:19:19.110 align:middle line:84%
We could do either way, yep,
and then for print p, maybe.

00:19:19.110 --> 00:19:20.670 align:middle line:90%
Print p.

00:19:20.670 --> 00:19:22.740 align:middle line:84%
Actually, I usually
like to do something

00:19:22.740 --> 00:19:25.410 align:middle line:84%
like this when I
have an outer loop.

00:19:25.410 --> 00:19:27.300 align:middle line:90%
Oops.

00:19:27.300 --> 00:19:34.070 align:middle line:84%
Then we'll do for c in
beach clef dot Clef print c.

00:19:34.070 --> 00:19:41.910 align:middle line:90%


00:19:41.910 --> 00:19:43.123 align:middle line:90%
What did I do wrong?

00:19:43.123 --> 00:19:44.040 align:middle line:90%
AUDIENCE: It recurses.

00:19:44.040 --> 00:19:46.082 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
A recursing and beach.

00:19:46.082 --> 00:19:47.130 align:middle line:90%
What should I be doing?

00:19:47.130 --> 00:19:48.010 align:middle line:90%
AUDIENCE: p.

00:19:48.010 --> 00:19:49.802 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: p clef dot Clef.

00:19:49.802 --> 00:19:51.480 align:middle line:90%
Good.

00:19:51.480 --> 00:19:54.960 align:middle line:84%
In any life, don't let me make
a fool of myself, especially not

00:19:54.960 --> 00:19:56.410 align:middle line:90%
when we're filming this class.

00:19:56.410 --> 00:19:59.200 align:middle line:84%
So yeah, call me out when I do
something like that, but great.

00:19:59.200 --> 00:20:01.001 align:middle line:90%
So now we can see, ah.

00:20:01.001 --> 00:20:07.260 align:middle line:90%


00:20:07.260 --> 00:20:09.410 align:middle line:90%
Oh.

00:20:09.410 --> 00:20:12.460 align:middle line:84%
So there actually
is a clef change,

00:20:12.460 --> 00:20:15.130 align:middle line:84%
but not in one of the
voices I was thinking.

00:20:15.130 --> 00:20:19.450 align:middle line:84%
None of the voices did, but the
piano part does change clef.

00:20:19.450 --> 00:20:22.930 align:middle line:90%
Here's another way we can this.

00:20:22.930 --> 00:20:26.680 align:middle line:84%
I'm going to be unlocking some
nice stream things for this.

00:20:26.680 --> 00:20:28.660 align:middle line:84%
We can just skip
that outer loop.

00:20:28.660 --> 00:20:32.340 align:middle line:84%
For c-- you can just keep
going and doing things--

00:20:32.340 --> 00:20:38.550 align:middle line:90%
in beach clef dot Clef.

00:20:38.550 --> 00:20:39.600 align:middle line:90%
Let's do this.

00:20:39.600 --> 00:20:40.980 align:middle line:90%
Print c comma.

00:20:40.980 --> 00:20:43.340 align:middle line:84%
I'll let everybody
get caught up on that.

00:20:43.340 --> 00:20:46.800 align:middle line:90%


00:20:46.800 --> 00:20:54.450 align:middle line:84%
c dot getContextByClass stream
dot part, and make sure to close

00:20:54.450 --> 00:20:57.270 align:middle line:90%
your second parentheses.

00:20:57.270 --> 00:21:00.060 align:middle line:84%
So this is a way
of moving upward

00:21:00.060 --> 00:21:05.203 align:middle line:84%
in a hierarchy to try to get
what the most recent part is.

00:21:05.203 --> 00:21:12.180 align:middle line:90%


00:21:12.180 --> 00:21:16.020 align:middle line:84%
Same type of information,
but maybe a little bit easier

00:21:16.020 --> 00:21:18.960 align:middle line:90%
for your computer to parse.

00:21:18.960 --> 00:21:21.070 align:middle line:84%
What should we do
if we want to know?

00:21:21.070 --> 00:21:25.980 align:middle line:84%
Let's see where that bass
clef change takes place.

00:21:25.980 --> 00:21:27.817 align:middle line:84%
Let's assume it's like
Wagner's Lohengrin,

00:21:27.817 --> 00:21:29.650 align:middle line:84%
and we don't want to
switch the whole thing.

00:21:29.650 --> 00:21:30.420 align:middle line:90%
Yeah, Misha.

00:21:30.420 --> 00:21:33.128 align:middle line:84%
AUDIENCE: I can get contracts by
class for a string, not measure.

00:21:33.128 --> 00:21:34.503 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Great.

00:21:34.503 --> 00:21:36.600 align:middle line:84%
So I'm going to cut
and paste because we

00:21:36.600 --> 00:21:42.310 align:middle line:84%
don't want to spend this whole
class watching me make typos.

00:21:42.310 --> 00:21:48.361 align:middle line:84%
Context by class,
stream dot Measure.

00:21:48.361 --> 00:21:49.772 align:middle line:90%
Whoa, it's a lot of things.

00:21:49.772 --> 00:21:51.730 align:middle line:84%
When you're zoomed in,
you don't get very much.

00:21:51.730 --> 00:21:53.710 align:middle line:84%
Maybe I should print
that in separate lines,

00:21:53.710 --> 00:21:56.490 align:middle line:84%
but I want to look
at the bottom one.

00:21:56.490 --> 00:22:01.050 align:middle line:90%
Measure 29 offset 112.

00:22:01.050 --> 00:22:07.660 align:middle line:84%
Here's a trick that I explained
at the beginning of this class.

00:22:07.660 --> 00:22:10.230 align:middle line:90%
I'll open it up in a PDF reader.

00:22:10.230 --> 00:22:17.670 align:middle line:84%
And hopefully, this one has
measuring numbers defined.

00:22:17.670 --> 00:22:23.760 align:middle line:90%
Yeah, 112.

00:22:23.760 --> 00:22:24.734 align:middle line:90%
No, 29.

00:22:24.734 --> 00:22:25.234 align:middle line:90%
Phew!

00:22:25.234 --> 00:22:26.160 align:middle line:90%
29.

00:22:26.160 --> 00:22:29.040 align:middle line:90%
There we go.

00:22:29.040 --> 00:22:32.020 align:middle line:90%
Finally, there.

00:22:32.020 --> 00:22:35.190 align:middle line:84%
What is that--
give me some ideas.

00:22:35.190 --> 00:22:36.665 align:middle line:90%
What's the piece scored for?

00:22:36.665 --> 00:22:39.780 align:middle line:90%


00:22:39.780 --> 00:22:43.133 align:middle line:84%
What are the
instruments in this?

00:22:43.133 --> 00:22:43.800 align:middle line:90%
AUDIENCE: Women.

00:22:43.800 --> 00:22:45.660 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Women's chorus and--

00:22:45.660 --> 00:22:46.410 align:middle line:90%
AUDIENCE: Piano.

00:22:46.410 --> 00:22:48.150 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Piano.

00:22:48.150 --> 00:22:51.060 align:middle line:84%
What are you going to guess,
unless Amy Beach likes

00:22:51.060 --> 00:22:53.310 align:middle line:90%
to use 20 million ledger lines.

00:22:53.310 --> 00:22:57.894 align:middle line:84%
There's something
about the piece.

00:22:57.894 --> 00:22:59.255 align:middle line:90%
About the piano part.

00:22:59.255 --> 00:23:02.610 align:middle line:90%


00:23:02.610 --> 00:23:03.450 align:middle line:90%
That's right.

00:23:03.450 --> 00:23:04.140 align:middle line:90%
Misha.

00:23:04.140 --> 00:23:06.180 align:middle line:84%
AUDIENCE: It's pretty
high up relative to--

00:23:06.180 --> 00:23:07.513 align:middle line:90%
MICHAEL SCOTT A. CUTHBERT: Yeah.

00:23:07.513 --> 00:23:10.110 align:middle line:84%
So it's up with the
voices the whole time

00:23:10.110 --> 00:23:13.030 align:middle line:90%
until right at the very end.

00:23:13.030 --> 00:23:15.480 align:middle line:84%
And so you can
probably take a guess

00:23:15.480 --> 00:23:20.340 align:middle line:84%
that something dramatically
changes at the end.

00:23:20.340 --> 00:23:23.700 align:middle line:84%
And it doesn't just go
down because, well, we're

00:23:23.700 --> 00:23:25.870 align:middle line:90%
tiny bit-- where's that note?

00:23:25.870 --> 00:23:28.158 align:middle line:84%
We're tiny bit too
low for treble clef.

00:23:28.158 --> 00:23:29.950 align:middle line:84%
So we're going to drop
down into bass clef.

00:23:29.950 --> 00:23:30.990 align:middle line:90%
No.

00:23:30.990 --> 00:23:36.540 align:middle line:84%
No, we get very, very
low at the beginning.

00:23:36.540 --> 00:23:39.060 align:middle line:90%
So you could think about it.

00:23:39.060 --> 00:23:41.130 align:middle line:84%
Immediately, you
could ask, What are

00:23:41.130 --> 00:23:45.210 align:middle line:84%
pieces that have a
dramatic change in range

00:23:45.210 --> 00:23:48.240 align:middle line:90%
only at the very end?

00:23:48.240 --> 00:23:51.840 align:middle line:84%
Anytime you see something like
this, always be thinking of,

00:23:51.840 --> 00:23:55.360 align:middle line:84%
What are the next three
questions you can go from here?

00:23:55.360 --> 00:23:59.040 align:middle line:84%
So this is pretty
interesting type

00:23:59.040 --> 00:24:01.890 align:middle line:84%
of research problem
that becomes faster

00:24:01.890 --> 00:24:04.170 align:middle line:90%
to find with the computer.

00:24:04.170 --> 00:24:06.600 align:middle line:84%
We could also-- you
all know how to find

00:24:06.600 --> 00:24:09.550 align:middle line:84%
the highest or the lowest
note in a part, right?

00:24:09.550 --> 00:24:10.110 align:middle line:90%
Yeah.

00:24:10.110 --> 00:24:10.610 align:middle line:90%
OK.

00:24:10.610 --> 00:24:13.950 align:middle line:84%
You're all experts at that
now after problem set 3.

00:24:13.950 --> 00:24:22.470 align:middle line:84%
So we can figure out
this thing from here.

00:24:22.470 --> 00:24:25.440 align:middle line:90%
By the way, given the--

00:24:25.440 --> 00:24:28.840 align:middle line:84%
let's look at the
beginning and stuff.

00:24:28.840 --> 00:24:31.587 align:middle line:84%
And is there anything--
always take a second

00:24:31.587 --> 00:24:32.670 align:middle line:90%
when you have a new piece.

00:24:32.670 --> 00:24:36.130 align:middle line:84%
I should-- there isn't a
good recording of this piece.

00:24:36.130 --> 00:24:40.572 align:middle line:84%
If anybody sings in a four-part
women's choir or a cappella

00:24:40.572 --> 00:24:42.030 align:middle line:84%
group that could
do it, it would be

00:24:42.030 --> 00:24:44.080 align:middle line:84%
really nice to get a
good recording of this.

00:24:44.080 --> 00:24:49.695 align:middle line:84%
But where is the
interest in this piece?

00:24:49.695 --> 00:24:54.270 align:middle line:84%
Is it in soprano 1, soprano
2, alto 1, or alto 2?

00:24:54.270 --> 00:24:56.040 align:middle line:90%
Or more than one place.

00:24:56.040 --> 00:24:59.000 align:middle line:84%
Adam, so we'll give other people
just a little bit of time.

00:24:59.000 --> 00:25:05.760 align:middle line:90%


00:25:05.760 --> 00:25:07.908 align:middle line:84%
Adam, where do you
think interest is?

00:25:07.908 --> 00:25:08.950 align:middle line:90%
AUDIENCE: The middle two.

00:25:08.950 --> 00:25:10.700 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: The middle two.

00:25:10.700 --> 00:25:13.440 align:middle line:90%


00:25:13.440 --> 00:25:15.090 align:middle line:90%
We asked this before.

00:25:15.090 --> 00:25:20.430 align:middle line:84%
Who sings a middle voice,
an alto, a mezzo soprano,

00:25:20.430 --> 00:25:22.350 align:middle line:90%
tenor voice?

00:25:22.350 --> 00:25:23.230 align:middle line:90%
Some people.

00:25:23.230 --> 00:25:26.792 align:middle line:84%
How often is that the most
interesting part in the piece?

00:25:26.792 --> 00:25:27.750 align:middle line:90%
AUDIENCE: Almost never.

00:25:27.750 --> 00:25:29.417 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Almost never.

00:25:29.417 --> 00:25:33.330 align:middle line:84%
OK, so either Amy Beach
is very, very kind

00:25:33.330 --> 00:25:39.240 align:middle line:84%
to middle-voiced people, or
there might be another reason.

00:25:39.240 --> 00:25:41.730 align:middle line:90%
What's the name of this piece?

00:25:41.730 --> 00:25:43.240 align:middle line:90%
I've told you a little bit ago.

00:25:43.240 --> 00:25:45.750 align:middle line:90%
You have it on your computer.

00:25:45.750 --> 00:25:48.540 align:middle line:84%
See how much that sticks
in when we're doing

00:25:48.540 --> 00:25:49.960 align:middle line:90%
these kind of corpus analysis.

00:25:49.960 --> 00:25:51.835 align:middle line:84%
I'm going to give it
back to you in a second.

00:25:51.835 --> 00:25:54.460 align:middle line:84%
When we're given one of
these corpus analyzes,

00:25:54.460 --> 00:25:57.060 align:middle line:84%
try to think of what
kinds of questions

00:25:57.060 --> 00:25:59.400 align:middle line:90%
you might answer based on thing.

00:25:59.400 --> 00:26:01.630 align:middle line:90%
Prayer of a Tired Child.

00:26:01.630 --> 00:26:03.240 align:middle line:90%
How do you think--

00:26:03.240 --> 00:26:05.560 align:middle line:84%
I don't know why the
layout is so bad today,

00:26:05.560 --> 00:26:10.440 align:middle line:84%
but I think there
might be any connection

00:26:10.440 --> 00:26:12.073 align:middle line:90%
of the title to this opening?

00:26:12.073 --> 00:26:15.360 align:middle line:90%


00:26:15.360 --> 00:26:16.380 align:middle line:90%
Yeah.

00:26:16.380 --> 00:26:18.100 align:middle line:84%
I want to just spread
it around it, yes.

00:26:18.100 --> 00:26:25.470 align:middle line:90%


00:26:25.470 --> 00:26:27.335 align:middle line:84%
Well, first, what
makes it a prayer?

00:26:27.335 --> 00:26:34.740 align:middle line:90%


00:26:34.740 --> 00:26:35.668 align:middle line:90%
Yeah.

00:26:35.668 --> 00:26:37.210 align:middle line:84%
AUDIENCE: Starting
with "Our Father."

00:26:37.210 --> 00:26:38.290 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Starting with "Our Father,"

00:26:38.290 --> 00:26:38.790 align:middle line:90%
yeah.

00:26:38.790 --> 00:26:42.610 align:middle line:84%
Depending on your religious
tradition, for some Christians,

00:26:42.610 --> 00:26:44.520 align:middle line:84%
that can be a pretty
standard thing.

00:26:44.520 --> 00:26:49.393 align:middle line:84%
What makes it, do you think,
Prayer of a Tired Child?

00:26:49.393 --> 00:26:50.310 align:middle line:90%
AUDIENCE: I'm trying--

00:26:50.310 --> 00:26:54.150 align:middle line:90%


00:26:54.150 --> 00:26:54.800 align:middle line:90%
I'm not sure.

00:26:54.800 --> 00:26:56.050 align:middle line:90%
MICHAEL SCOTT A. CUTHBERT: OK.

00:26:56.050 --> 00:26:56.580 align:middle line:90%
Good.

00:26:56.580 --> 00:26:57.820 align:middle line:90%
Call on somebody else.

00:26:57.820 --> 00:27:00.390 align:middle line:84%
Let's put somebody
else on the spot.

00:27:00.390 --> 00:27:02.165 align:middle line:90%
Vanessa, what makes it a tired?

00:27:02.165 --> 00:27:04.950 align:middle line:90%


00:27:04.950 --> 00:27:07.815 align:middle line:84%
AUDIENCE: I mean, she
does, in fact, say here the

00:27:07.815 --> 00:27:09.190 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Title.

00:27:09.190 --> 00:27:10.240 align:middle line:90%
OK, so the text.

00:27:10.240 --> 00:27:11.240 align:middle line:90%
Definitely good.

00:27:11.240 --> 00:27:11.740 align:middle line:90%
Good.

00:27:11.740 --> 00:27:13.360 align:middle line:90%
Always go with that.

00:27:13.360 --> 00:27:14.610 align:middle line:90%
Yeah, Angio.

00:27:14.610 --> 00:27:16.527 align:middle line:84%
AUDIENCE: I think it's
how soft it starts out.

00:27:16.527 --> 00:27:18.652 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
So it's definitely soft.

00:27:18.652 --> 00:27:20.170 align:middle line:90%
Yeah, so we want to do that.

00:27:20.170 --> 00:27:20.700 align:middle line:90%
Good.

00:27:20.700 --> 00:27:22.890 align:middle line:90%
Anything else?

00:27:22.890 --> 00:27:24.000 align:middle line:90%
Maybe Jonathan.

00:27:24.000 --> 00:27:26.070 align:middle line:84%
AUDIENCE: I mean to
the part of distance.

00:27:26.070 --> 00:27:27.563 align:middle line:84%
That seems to say
no over and over.

00:27:27.563 --> 00:27:29.730 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Right, so what might that

00:27:29.730 --> 00:27:31.812 align:middle line:90%
have to do with tiredness?

00:27:31.812 --> 00:27:33.520 align:middle line:84%
AUDIENCE: I mean,
you're just not moving.

00:27:33.520 --> 00:27:34.510 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
You're just not moving.

00:27:34.510 --> 00:27:35.380 align:middle line:90%
Yeah.

00:27:35.380 --> 00:27:37.950 align:middle line:84%
You're either not moving
because you're falling asleep,

00:27:37.950 --> 00:27:40.620 align:middle line:84%
or you're not moving because
you don't have the energy

00:27:40.620 --> 00:27:42.070 align:middle line:90%
to move up or down.

00:27:42.070 --> 00:27:47.100 align:middle line:84%
So this is one of the things you
can start thinking about, how

00:27:47.100 --> 00:27:49.530 align:middle line:90%
in a text can--

00:27:49.530 --> 00:27:51.240 align:middle line:84%
how might the text
have something

00:27:51.240 --> 00:27:55.890 align:middle line:84%
to do with the amount
of motion in a piece?

00:27:55.890 --> 00:27:57.850 align:middle line:90%
So we can look at that.

00:27:57.850 --> 00:28:01.620 align:middle line:84%
And then finally,
finally, you measure for--

00:28:01.620 --> 00:28:03.610 align:middle line:90%
they finally get to move.

00:28:03.610 --> 00:28:06.510 align:middle line:84%
And which direction
does the soprano 1

00:28:06.510 --> 00:28:09.005 align:middle line:84%
move when it finally
gets to move?

00:28:09.005 --> 00:28:09.630 align:middle line:90%
AUDIENCE: Down?

00:28:09.630 --> 00:28:10.480 align:middle line:90%
MICHAEL SCOTT A. CUTHBERT: Down.

00:28:10.480 --> 00:28:11.383 align:middle line:90%
OK.

00:28:11.383 --> 00:28:13.800 align:middle line:84%
So these are some of the things
that you guys were putting

00:28:13.800 --> 00:28:16.620 align:middle line:84%
in your questions on
the Bach chorales that

00:28:16.620 --> 00:28:20.373 align:middle line:84%
can apply to other
pieces, not just by Bach.

00:28:20.373 --> 00:28:21.540 align:middle line:90%
By the way, how long-- yeah.

00:28:21.540 --> 00:28:24.040 align:middle line:84%
Then when the lowest voice,
I always want to say bass,

00:28:24.040 --> 00:28:28.230 align:middle line:84%
but alto 2 moves, where
does it finally go?

00:28:28.230 --> 00:28:31.230 align:middle line:90%
Down also.

00:28:31.230 --> 00:28:31.990 align:middle line:90%
Great.

00:28:31.990 --> 00:28:35.530 align:middle line:84%
So some of the things
we can do with this.

00:28:35.530 --> 00:28:39.510 align:middle line:84%
Now, let's get back to
filtering back to the piece.

00:28:39.510 --> 00:28:45.130 align:middle line:84%
Let's say we want to
see this measure here.

00:28:45.130 --> 00:28:49.260 align:middle line:84%
Let's grab the entire
context for where

00:28:49.260 --> 00:28:51.580 align:middle line:90%
this happens and just show it.

00:28:51.580 --> 00:28:56.010 align:middle line:84%
So what we can do is we
can do beach dot measures,

00:28:56.010 --> 00:29:00.546 align:middle line:90%
let's say 28 to 30, dot show.

00:29:00.546 --> 00:29:04.890 align:middle line:90%


00:29:04.890 --> 00:29:06.600 align:middle line:90%
Hopefully, I got the right one.

00:29:06.600 --> 00:29:07.100 align:middle line:90%
Yep.

00:29:07.100 --> 00:29:12.830 align:middle line:90%


00:29:12.830 --> 00:29:15.290 align:middle line:84%
So, whoa, everything
gets cleaned up

00:29:15.290 --> 00:29:17.930 align:middle line:90%
when I don't show the beginning.

00:29:17.930 --> 00:29:21.440 align:middle line:84%
So you can get-- another one
of these commonly used filters

00:29:21.440 --> 00:29:23.270 align:middle line:90%
is the measures thing.

00:29:23.270 --> 00:29:29.370 align:middle line:84%
Now, I don't know if this was
a mistake in ontology or not,

00:29:29.370 --> 00:29:36.620 align:middle line:84%
but I've decided that
measures will be based on how

00:29:36.620 --> 00:29:38.490 align:middle line:90%
a musician thinks of them.

00:29:38.490 --> 00:29:46.430 align:middle line:84%
So 28 to 30 is measure number 28
to measure number 30 inclusive.

00:29:46.430 --> 00:29:48.270 align:middle line:90%
So some of you guys saw this.

00:29:48.270 --> 00:29:49.820 align:middle line:84%
What are some things
that can cause

00:29:49.820 --> 00:29:54.590 align:middle line:84%
the number of, let's
say, bar lines minus 1

00:29:54.590 --> 00:29:59.977 align:middle line:84%
to be not the same as
the measure number,

00:29:59.977 --> 00:30:00.810 align:middle line:90%
the highest measure?

00:30:00.810 --> 00:30:02.780 align:middle line:84%
What are some things
that might look

00:30:02.780 --> 00:30:05.720 align:middle line:84%
like measures that don't get
counted as measure numbers

00:30:05.720 --> 00:30:06.930 align:middle line:90%
in your experience?

00:30:06.930 --> 00:30:07.580 align:middle line:90%
Yeah, Vanessa?

00:30:07.580 --> 00:30:08.330 align:middle line:90%
AUDIENCE: Pickups.

00:30:08.330 --> 00:30:09.860 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Pickups.

00:30:09.860 --> 00:30:10.830 align:middle line:90%
Great.

00:30:10.830 --> 00:30:11.330 align:middle line:90%
Pickups.

00:30:11.330 --> 00:30:13.580 align:middle line:84%
So did you have another
one that you're saying?

00:30:13.580 --> 00:30:14.200 align:middle line:90%
No.

00:30:14.200 --> 00:30:14.700 align:middle line:90%
Good.

00:30:14.700 --> 00:30:18.560 align:middle line:90%
Anybody else think of something?

00:30:18.560 --> 00:30:21.290 align:middle line:84%
AUDIENCE: If you have
a Coda, you do that.

00:30:21.290 --> 00:30:24.320 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT: Ah,
if you have a Coda or a repeat,

00:30:24.320 --> 00:30:26.990 align:middle line:84%
and then you expand
the repeat, we

00:30:26.990 --> 00:30:30.870 align:middle line:84%
tend to call that
measure 1, 2, 3, 4, 5.

00:30:30.870 --> 00:30:33.740 align:middle line:84%
Well, we'll say 6 because you
usually repeat in even numbered

00:30:33.740 --> 00:30:34.280 align:middle line:90%
measures.

00:30:34.280 --> 00:30:35.760 align:middle line:90%
And then you repeat it.

00:30:35.760 --> 00:30:42.410 align:middle line:84%
We'll sometimes call that
like 1a, 2a, 3a, 4a, 5a, 6a.

00:30:42.410 --> 00:30:46.680 align:middle line:84%
The measure after
6 is usually 7.

00:30:46.680 --> 00:30:49.800 align:middle line:84%
It is not 13 if
you repeat, right?

00:30:49.800 --> 00:30:52.010 align:middle line:90%
We don't count that.

00:30:52.010 --> 00:30:54.660 align:middle line:84%
Here's another commonly
encountered one.

00:30:54.660 --> 00:30:56.770 align:middle line:84%
Especially, it seems
to happen in 3 4.

00:30:56.770 --> 00:30:59.630 align:middle line:90%


00:30:59.630 --> 00:31:00.830 align:middle line:90%
Here.

00:31:00.830 --> 00:31:04.400 align:middle line:90%
Sorry, let me start that again.

00:31:04.400 --> 00:31:05.820 align:middle line:90%
Pick up measure.

00:31:05.820 --> 00:31:08.892 align:middle line:90%
[SCAT SINGING]

00:31:08.892 --> 00:31:18.076 align:middle line:90%


00:31:18.076 --> 00:31:22.220 align:middle line:90%
We want to see this, et cetera.

00:31:22.220 --> 00:31:26.990 align:middle line:84%
Where you have an incomplete
measure or repeat sign, and then

00:31:26.990 --> 00:31:31.070 align:middle line:84%
you begin the pickup
again afterwards.

00:31:31.070 --> 00:31:38.930 align:middle line:84%
Generally, we'd call this
measure 1, 2, 3, 4, 5.

00:31:38.930 --> 00:31:41.210 align:middle line:84%
But most computer
representations

00:31:41.210 --> 00:31:43.280 align:middle line:84%
will represent this
as a measure and this

00:31:43.280 --> 00:31:47.930 align:middle line:84%
as a measure that are both part
of the same conceptual measure.

00:31:47.930 --> 00:31:48.770 align:middle line:90%
Why?

00:31:48.770 --> 00:31:52.670 align:middle line:84%
It's easier sometimes to
only look for repeat signs

00:31:52.670 --> 00:31:57.350 align:middle line:84%
at the ends of measures, and not
have to look between every note

00:31:57.350 --> 00:31:59.070 align:middle line:90%
to see if there's a repeat sign.

00:31:59.070 --> 00:32:02.010 align:middle line:84%
So those are some of the
reasons that might call off.

00:32:02.010 --> 00:32:05.720 align:middle line:84%
So here's how we
can do it this way.

00:32:05.720 --> 00:32:08.930 align:middle line:84%
Another thing that
you'll find quite often,

00:32:08.930 --> 00:32:15.390 align:middle line:84%
and it said what the offset of
that-- offset 112, we could say,

00:32:15.390 --> 00:32:25.550 align:middle line:84%
well, piano left hand equals
beach dot parts, the final part.

00:32:25.550 --> 00:32:30.980 align:middle line:84%
And then piano left hand
getElementsByOffset.

00:32:30.980 --> 00:32:34.040 align:middle line:90%


00:32:34.040 --> 00:32:35.750 align:middle line:90%
What do we say?

00:32:35.750 --> 00:32:42.230 align:middle line:84%
Well, let's grab a little
bit of context, 100 to 150.

00:32:42.230 --> 00:32:42.770 align:middle line:90%
Oops.

00:32:42.770 --> 00:32:50.840 align:middle line:84%
And we want to cast that into
a list or something like that.

00:32:50.840 --> 00:32:59.490 align:middle line:84%
And so that lets you get things
from within a smaller area.

00:32:59.490 --> 00:33:01.250 align:middle line:90%
You'll find there is also--

00:33:01.250 --> 00:33:04.170 align:middle line:84%
because getElementsByOffset
is not recursive.

00:33:04.170 --> 00:33:07.640 align:middle line:84%
There is a recursive
version, getElementsByOffset

00:33:07.640 --> 00:33:08.640 align:middle line:90%
in hierarchy.

00:33:08.640 --> 00:33:13.580 align:middle line:84%
And I wish I had come up with
a shorter name for that, but--

00:33:13.580 --> 00:33:16.310 align:middle line:84%
so you can be able
to find anything

00:33:16.310 --> 00:33:20.150 align:middle line:84%
at a particular element
within a hierarchy.

00:33:20.150 --> 00:33:22.190 align:middle line:84%
So these are some
standard things.

00:33:22.190 --> 00:33:24.650 align:middle line:84%
Some other people
were putting in using

00:33:24.650 --> 00:33:27.840 align:middle line:84%
lambda filters in some
of the code do that.

00:33:27.840 --> 00:33:30.900 align:middle line:84%
Who has worked with a lambda
filter before in their life?

00:33:30.900 --> 00:33:32.255 align:middle line:90%
Not every-- but most people.

00:33:32.255 --> 00:33:32.755 align:middle line:90%
OK.

00:33:32.755 --> 00:33:35.600 align:middle line:84%
So you can write a
little piece of code

00:33:35.600 --> 00:33:39.380 align:middle line:84%
to say, just get me
things that are on here.

00:33:39.380 --> 00:33:45.290 align:middle line:84%
One reason you might want to use
some of these built-in features

00:33:45.290 --> 00:33:47.270 align:middle line:84%
is that it's a
little bit expensive

00:33:47.270 --> 00:33:48.900 align:middle line:90%
to iterate over a stream.

00:33:48.900 --> 00:33:53.480 align:middle line:84%
So the filters do sort
of a pre-iteration.

00:33:53.480 --> 00:33:56.090 align:middle line:84%
For those who are
in finance, it's

00:33:56.090 --> 00:34:01.250 align:middle line:84%
kind of like a
tax-exempt savings plan.

00:34:01.250 --> 00:34:05.330 align:middle line:84%
You only get out the
elements and unwrap them

00:34:05.330 --> 00:34:09.068 align:middle line:84%
and make them look really
nice once you have them.

00:34:09.068 --> 00:34:11.610 align:middle line:84%
Peek under here, see if there's
anything else I wanted to do.

00:34:11.610 --> 00:34:15.710 align:middle line:90%
Nope, that's basically it on--

00:34:15.710 --> 00:34:16.679 align:middle line:90%
any other questions?

00:34:16.679 --> 00:34:17.179 align:middle line:90%
Yeah.

00:34:17.179 --> 00:34:17.969 align:middle line:90%
AUDIENCE: Yeah.

00:34:17.969 --> 00:34:21.199 align:middle line:84%
So during the piece, I
figured like we covered this

00:34:21.199 --> 00:34:25.400 align:middle line:84%
at some point in class,
but when you flatten,

00:34:25.400 --> 00:34:31.489 align:middle line:84%
it loses some of the information
when I try to then get context

00:34:31.489 --> 00:34:33.139 align:middle line:90%
by class.

00:34:33.139 --> 00:34:35.540 align:middle line:84%
Like, for example
I think, yeah, it

00:34:35.540 --> 00:34:38.258 align:middle line:84%
assumes everything is the last
part even though it's not.

00:34:38.258 --> 00:34:40.050 align:middle line:84%
Is that because of how
flattening there is?

00:34:40.050 --> 00:34:42.217 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Yeah, it's because it's--

00:34:42.217 --> 00:34:44.130 align:middle line:90%
here, so let's do this.

00:34:44.130 --> 00:34:49.760 align:middle line:84%
We'll say beach flat
equals beach dot flatten.

00:34:49.760 --> 00:34:57.440 align:middle line:84%
And now here, we'll look at the
first like 100 things in beach

00:34:57.440 --> 00:34:59.300 align:middle line:90%
flat.

00:34:59.300 --> 00:35:02.510 align:middle line:84%
And yeah, so we get
everything that's here.

00:35:02.510 --> 00:35:08.610 align:middle line:84%
And within that, so we're
getting all these things here.

00:35:08.610 --> 00:35:12.800 align:middle line:84%
Almost all the other get
contexts will work really well.

00:35:12.800 --> 00:35:15.410 align:middle line:84%
We'll get to slurs
and dynamics and how

00:35:15.410 --> 00:35:18.660 align:middle line:84%
they're represented because
they're fascinating later.

00:35:18.660 --> 00:35:24.830 align:middle line:84%
But the thing is beach flat
itself is a score with,

00:35:24.830 --> 00:35:25.980 align:middle line:90%
in this case-- sorry.

00:35:25.980 --> 00:35:29.498 align:middle line:84%
So in some cases, if you flatten
a part, it becomes a part.

00:35:29.498 --> 00:35:31.290 align:middle line:84%
If you flatten a score,
it becomes a score.

00:35:31.290 --> 00:35:32.930 align:middle line:84%
So if you flatten
the part, you won't

00:35:32.930 --> 00:35:35.400 align:middle line:84%
be able to get its
original part context,

00:35:35.400 --> 00:35:38.430 align:middle line:84%
but you should be able
to get it with this.

00:35:38.430 --> 00:35:40.340 align:middle line:90%
Were you not able to--

00:35:40.340 --> 00:35:44.210 align:middle line:84%
AUDIENCE: Yeah, like if you
iterate through these and then--

00:35:44.210 --> 00:35:46.710 align:middle line:84%
through the notes in
the flat, for example,

00:35:46.710 --> 00:35:50.908 align:middle line:84%
will you be able to get the
correct-- all the parts?

00:35:50.908 --> 00:35:52.700 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Yep, let's see--

00:35:52.700 --> 00:35:55.155 align:middle line:84%
AUDIENCE: If they
should be different.

00:35:55.155 --> 00:35:58.310 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Let's hope so.

00:35:58.310 --> 00:36:01.315 align:middle line:90%
Class stream dot part.

00:36:01.315 --> 00:36:04.970 align:middle line:90%


00:36:04.970 --> 00:36:07.157 align:middle line:90%
Sorry, it's at the very end.

00:36:07.157 --> 00:36:08.240 align:middle line:90%
AUDIENCE: I think that's--

00:36:08.240 --> 00:36:12.200 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Oh, interesting.

00:36:12.200 --> 00:36:15.170 align:middle line:90%
That seems to be a bug.

00:36:15.170 --> 00:36:16.530 align:middle line:90%
I'll look into that.

00:36:16.530 --> 00:36:21.230 align:middle line:84%
See what might have
caused that to come in.

00:36:21.230 --> 00:36:22.920 align:middle line:84%
We have a pretty
rigorous testing,

00:36:22.920 --> 00:36:26.852 align:middle line:84%
but I don't remember ever
testing on that particular one.

00:36:26.852 --> 00:36:28.310 align:middle line:84%
AUDIENCE: That's
what we have here.

00:36:28.310 --> 00:36:30.560 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Yep, that's why I have you.

00:36:30.560 --> 00:36:31.280 align:middle line:90%
Thank you.

00:36:31.280 --> 00:36:33.140 align:middle line:90%
Yep.

00:36:33.140 --> 00:36:34.880 align:middle line:90%
Yeah, that'll be interesting.

00:36:34.880 --> 00:36:37.310 align:middle line:84%
What you might be
able to do, I'm

00:36:37.310 --> 00:36:40.430 align:middle line:84%
not going to try to--
no part of this class is

00:36:40.430 --> 00:36:44.970 align:middle line:84%
about working around music21
bugs, though you will find them.

00:36:44.970 --> 00:36:49.000 align:middle line:84%
Let's see what happens if we do
get context by class stream dot

00:36:49.000 --> 00:36:49.942 align:middle line:90%
measure.

00:36:49.942 --> 00:36:50.442 align:middle line:90%
OK.

00:36:50.442 --> 00:36:53.000 align:middle line:90%


00:36:53.000 --> 00:36:55.230 align:middle line:90%
OK, so that one does change.

00:36:55.230 --> 00:36:56.760 align:middle line:90%
So I suppose you could do this.

00:36:56.760 --> 00:36:58.460 align:middle line:84%
You get the streams
measures context

00:36:58.460 --> 00:37:07.400 align:middle line:84%
and then get that measures
context by class part.

00:37:07.400 --> 00:37:09.750 align:middle line:90%
And now we have different stuff.

00:37:09.750 --> 00:37:12.320 align:middle line:84%
I'll try to figure out
exactly what's happening

00:37:12.320 --> 00:37:16.587 align:middle line:90%
to not make that work properly.

00:37:16.587 --> 00:37:18.920 align:middle line:84%
But it was happening with the
Bach chorales also, right?

00:37:18.920 --> 00:37:20.340 align:middle line:90%
So it's not a piano bug.

00:37:20.340 --> 00:37:23.360 align:middle line:84%
The piano parsing
still has bugs.

00:37:23.360 --> 00:37:26.210 align:middle line:84%
That's why you're not going to
be working too often with piano

00:37:26.210 --> 00:37:27.030 align:middle line:90%
scores.

00:37:27.030 --> 00:37:29.550 align:middle line:90%
Only when I've really done that.

00:37:29.550 --> 00:37:30.390 align:middle line:90%
Great.

00:37:30.390 --> 00:37:34.790 align:middle line:84%
Any other things before we move
on to the next and most fun

00:37:34.790 --> 00:37:38.420 align:middle line:90%
topic for a little bit?

00:37:38.420 --> 00:37:41.450 align:middle line:84%
OK, I'm going to move over to
the board for a little bit.

00:37:41.450 --> 00:37:45.930 align:middle line:84%
And let's just do
some by hand warm-ups.

00:37:45.930 --> 00:37:48.985 align:middle line:84%
We're going to be moving
on to intervals for a bit.

00:37:48.985 --> 00:37:51.710 align:middle line:90%


00:37:51.710 --> 00:37:56.270 align:middle line:90%
And these will all--

00:37:56.270 --> 00:37:59.480 align:middle line:84%
supposedly notes that are
supposed to be lined up.

00:37:59.480 --> 00:38:00.810 align:middle line:90%
Just write them down here.

00:38:00.810 --> 00:38:07.730 align:middle line:84%
I'll give them as number
1, 2, 3, 4, 5, 6, 7.

00:38:07.730 --> 00:38:09.350 align:middle line:90%
Why don't you just say--

00:38:09.350 --> 00:38:11.460 align:middle line:84%
and actually, I won't
put them as chords.

00:38:11.460 --> 00:38:13.670 align:middle line:84%
I'll always put them
here so that there's

00:38:13.670 --> 00:38:15.895 align:middle line:90%
a directionality on them.

00:38:15.895 --> 00:38:20.750 align:middle line:90%


00:38:20.750 --> 00:38:27.770 align:middle line:84%
And go ahead and work
through as I'm writing them

00:38:27.770 --> 00:38:31.952 align:middle line:84%
what the interval is in terms
of not number of semitones,

00:38:31.952 --> 00:38:33.410 align:middle line:84%
but we'll call it--
sometimes we'll

00:38:33.410 --> 00:38:35.280 align:middle line:90%
call this the diatonic interval.

00:38:35.280 --> 00:38:37.890 align:middle line:84%
These are one of these things
people haven't completely done.

00:38:37.890 --> 00:38:40.970 align:middle line:84%
So like major third,
perfect fourth,

00:38:40.970 --> 00:38:42.650 align:middle line:84%
things like that
for all of these.

00:38:42.650 --> 00:38:45.560 align:middle line:90%
Just do it as a review.

00:38:45.560 --> 00:38:47.780 align:middle line:90%
Second one is always right.

00:38:47.780 --> 00:39:25.270 align:middle line:90%


00:39:25.270 --> 00:39:26.140 align:middle line:90%
Sorry.

00:39:26.140 --> 00:39:28.605 align:middle line:84%
Sorry, I'm going to change
number 4 for a second.

00:39:28.605 --> 00:39:31.300 align:middle line:90%


00:39:31.300 --> 00:39:33.898 align:middle line:90%
I want to have at least one.

00:39:33.898 --> 00:39:34.940 align:middle line:90%
Goes the other direction.

00:39:34.940 --> 00:39:39.070 align:middle line:90%
I'll put this up for a second.

00:39:39.070 --> 00:39:40.940 align:middle line:84%
OK, just so we're
on the same page.

00:39:40.940 --> 00:39:42.430 align:middle line:90%
Everybody, just one second.

00:39:42.430 --> 00:39:44.630 align:middle line:84%
Everybody shout out number
1 on the count of 3.

00:39:44.630 --> 00:39:46.583 align:middle line:90%
1, 2, 3.

00:39:46.583 --> 00:39:47.500 align:middle line:90%
AUDIENCE: Major third.

00:39:47.500 --> 00:39:48.050 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Major third.

00:39:48.050 --> 00:39:48.550 align:middle line:90%
OK, good.

00:39:48.550 --> 00:39:50.890 align:middle line:90%
Keep working.

00:39:50.890 --> 00:39:54.070 align:middle line:84%
I just want to make sure we're
all using the same system.

00:39:54.070 --> 00:39:55.692 align:middle line:90%
So let's get back together.

00:39:55.692 --> 00:39:57.150 align:middle line:84%
Even if you don't
have them all, we

00:39:57.150 --> 00:40:00.220 align:middle line:90%
have a major third at the top.

00:40:00.220 --> 00:40:03.610 align:middle line:90%
And we'll start with Angelica.

00:40:03.610 --> 00:40:07.120 align:middle line:84%
And we'll move-- no,
we'll move this way.

00:40:07.120 --> 00:40:09.562 align:middle line:90%
What did you get for this one?

00:40:09.562 --> 00:40:10.270 align:middle line:90%
Do you have that?

00:40:10.270 --> 00:40:11.080 align:middle line:90%
AUDIENCE: Diminished fifth.

00:40:11.080 --> 00:40:12.913 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Diminished fifth.

00:40:12.913 --> 00:40:15.100 align:middle line:90%
Anybody get another answer?

00:40:15.100 --> 00:40:15.880 align:middle line:90%
It's good.

00:40:15.880 --> 00:40:16.480 align:middle line:90%
Anyone?

00:40:16.480 --> 00:40:17.300 align:middle line:90%
Any other answers?

00:40:17.300 --> 00:40:17.800 align:middle line:90%
Yeah.

00:40:17.800 --> 00:40:19.010 align:middle line:90%
AUDIENCE: Diminished 12th.

00:40:19.010 --> 00:40:20.802 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Diminished 12th.

00:40:20.802 --> 00:40:22.540 align:middle line:90%
Ah.

00:40:22.540 --> 00:40:25.150 align:middle line:90%
Any other answers?

00:40:25.150 --> 00:40:27.520 align:middle line:90%
Augmented fourth, anybody?

00:40:27.520 --> 00:40:30.610 align:middle line:84%
We have augmented
fourth on the table.

00:40:30.610 --> 00:40:32.095 align:middle line:90%
OK.

00:40:32.095 --> 00:40:34.840 align:middle line:84%
So we have a couple
of different contexts

00:40:34.840 --> 00:40:37.190 align:middle line:84%
where any of these
things can be right.

00:40:37.190 --> 00:40:42.640 align:middle line:84%
Oh, and on this one also, I
should have been pretty anal

00:40:42.640 --> 00:40:43.540 align:middle line:90%
from the beginning.

00:40:43.540 --> 00:40:47.090 align:middle line:84%
If I want to say a direction
before the major third,

00:40:47.090 --> 00:40:48.850 align:middle line:90%
what do we want to say?

00:40:48.850 --> 00:40:51.860 align:middle line:84%
Up or let's be a little
bit more elevated.

00:40:51.860 --> 00:40:53.907 align:middle line:90%
It is an--

00:40:53.907 --> 00:40:54.740 align:middle line:90%
AUDIENCE: Ascending.

00:40:54.740 --> 00:40:57.710 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
--ascending major third.

00:40:57.710 --> 00:40:58.210 align:middle line:90%
Good.

00:40:58.210 --> 00:40:59.150 align:middle line:90%
This is an ascending.

00:40:59.150 --> 00:41:00.942 align:middle line:84%
I'm just going to do
that for a little bit,

00:41:00.942 --> 00:41:02.620 align:middle line:90%
so we can keep going with that.

00:41:02.620 --> 00:41:05.600 align:middle line:90%
So it's a diminished fifth.

00:41:05.600 --> 00:41:09.970 align:middle line:84%
What's a context where
diminished fifth is as good

00:41:09.970 --> 00:41:12.590 align:middle line:84%
an answer as diminished 12th
and what's one that doesn't?

00:41:12.590 --> 00:41:13.690 align:middle line:90%
What are we assuming?

00:41:13.690 --> 00:41:14.307 align:middle line:90%
Which type?

00:41:14.307 --> 00:41:15.890 align:middle line:84%
You've been doing
some of the reading.

00:41:15.890 --> 00:41:18.730 align:middle line:84%
What's the equivalence
class that we're

00:41:18.730 --> 00:41:21.047 align:middle line:90%
using that allows this?

00:41:21.047 --> 00:41:22.420 align:middle line:90%
AUDIENCE: Octave equivalence.

00:41:22.420 --> 00:41:24.337 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Octave equivalence.

00:41:24.337 --> 00:41:28.720 align:middle line:84%
So the O of OPEC, if we allow
the O equivalence class,

00:41:28.720 --> 00:41:34.000 align:middle line:84%
then we don't care if it's
diminished fifth or diminished

00:41:34.000 --> 00:41:34.970 align:middle line:90%
12th.

00:41:34.970 --> 00:41:39.370 align:middle line:84%
When might-- who is a
stakeholder who might care

00:41:39.370 --> 00:41:41.960 align:middle line:90%
about, Can you sing this--

00:41:41.960 --> 00:41:43.310 align:middle line:90%
can you sing this piece?

00:41:43.310 --> 00:41:47.200 align:middle line:84%
It has a whole bunch of
diminished fifths in it.

00:41:47.200 --> 00:41:48.680 align:middle line:90%
I go, yeah, no problem.

00:41:48.680 --> 00:41:49.820 align:middle line:90%
I'm an experienced singer.

00:41:49.820 --> 00:41:50.320 align:middle line:90%
Great.

00:41:50.320 --> 00:41:52.690 align:middle line:90%
So you're going to sing--

00:41:52.690 --> 00:41:53.890 align:middle line:90%
what note's that?

00:41:53.890 --> 00:41:55.900 align:middle line:84%
You're going to sing this
note, and then you're

00:41:55.900 --> 00:41:59.090 align:middle line:90%
going to sing this note.

00:41:59.090 --> 00:42:01.970 align:middle line:84%
You said you had no problem
singing diminished fifths,

00:42:01.970 --> 00:42:02.720 align:middle line:90%
right?

00:42:02.720 --> 00:42:08.080 align:middle line:84%
So there are contexts where we
will very much care about not

00:42:08.080 --> 00:42:09.290 align:middle line:90%
having octave equivalents.

00:42:09.290 --> 00:42:10.832 align:middle line:84%
And there's other
ones where we will.

00:42:10.832 --> 00:42:13.480 align:middle line:90%


00:42:13.480 --> 00:42:17.660 align:middle line:84%
I'll give you the music21 terms
for how these things work.

00:42:17.660 --> 00:42:20.590 align:middle line:84%
But we sometimes call this
a simple versus a compound

00:42:20.590 --> 00:42:21.500 align:middle line:90%
interval.

00:42:21.500 --> 00:42:24.020 align:middle line:84%
So sometimes we care only
about simple intervals.

00:42:24.020 --> 00:42:26.590 align:middle line:84%
Sometimes we care
about compound.

00:42:26.590 --> 00:42:29.890 align:middle line:84%
When's a time that we
might be OK with calling it

00:42:29.890 --> 00:42:31.130 align:middle line:90%
an augmented fourth?

00:42:31.130 --> 00:42:35.250 align:middle line:84%
What equivalence class
might be in play?

00:42:35.250 --> 00:42:39.148 align:middle line:90%


00:42:39.148 --> 00:42:39.940 align:middle line:90%
AUDIENCE: Spelling?

00:42:39.940 --> 00:42:41.720 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Spelling or enharmonic?

00:42:41.720 --> 00:42:42.220 align:middle line:90%
Yeah.

00:42:42.220 --> 00:42:46.960 align:middle line:84%
So if spelling
doesn't matter, what's

00:42:46.960 --> 00:42:50.860 align:middle line:90%
an app that you might make--

00:42:50.860 --> 00:42:54.340 align:middle line:84%
I have made, I
suppose-- where when

00:42:54.340 --> 00:42:58.160 align:middle line:84%
you're doing this kind of
interval identification,

00:42:58.160 --> 00:43:01.330 align:middle line:84%
you want to be careful and
turn off spelling for a bit?

00:43:01.330 --> 00:43:06.460 align:middle line:84%
What's a context of interval
identification, where

00:43:06.460 --> 00:43:11.950 align:middle line:84%
you don't want to be too uptight
about whether they hear it as--

00:43:11.950 --> 00:43:15.670 align:middle line:84%
whether I gave it away
kind of diminished fifth

00:43:15.670 --> 00:43:17.050 align:middle line:90%
or augmented fourth?

00:43:17.050 --> 00:43:17.550 align:middle line:90%
Yeah.

00:43:17.550 --> 00:43:19.217 align:middle line:84%
AUDIENCE: It's the
one where you're just

00:43:19.217 --> 00:43:21.050 align:middle line:84%
trying to train your
interval training.

00:43:21.050 --> 00:43:22.925 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Yeah, where you're

00:43:22.925 --> 00:43:24.790 align:middle line:90%
doing ear training, right?

00:43:24.790 --> 00:43:26.980 align:middle line:84%
You can't usually
hear the difference

00:43:26.980 --> 00:43:29.770 align:middle line:84%
between a diminished
fourth and augmented fifth,

00:43:29.770 --> 00:43:32.140 align:middle line:84%
at least not till you
hear the next note, right?

00:43:32.140 --> 00:43:33.890 align:middle line:84%
When you hear the
opening of The Simpsons,

00:43:33.890 --> 00:43:35.590 align:middle line:84%
then you know it's
augmented fourth

00:43:35.590 --> 00:43:38.320 align:middle line:84%
and not a diminished fifth
based on where it goes.

00:43:38.320 --> 00:43:39.730 align:middle line:90%
Good.

00:43:39.730 --> 00:43:42.620 align:middle line:90%
OK, then next one.

00:43:42.620 --> 00:43:43.640 align:middle line:90%
Let's keep going.

00:43:43.640 --> 00:43:45.473 align:middle line:84%
I don't want to spend
too much time on this.

00:43:45.473 --> 00:43:48.220 align:middle line:90%
I want to get some programming.

00:43:48.220 --> 00:43:50.600 align:middle line:84%
Paul, do you want to
take a shot on this one?

00:43:50.600 --> 00:43:52.470 align:middle line:90%
You can take a shot or pass.

00:43:52.470 --> 00:43:52.970 align:middle line:90%
Go ahead.

00:43:52.970 --> 00:43:54.275 align:middle line:90%
But you take a shot.

00:43:54.275 --> 00:43:55.400 align:middle line:90%
AUDIENCE: Augmented second.

00:43:55.400 --> 00:43:56.240 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Augmented second.

00:43:56.240 --> 00:43:58.547 align:middle line:84%
And just to be pedantic,
what direction?

00:43:58.547 --> 00:43:59.380 align:middle line:90%
AUDIENCE: Ascending.

00:43:59.380 --> 00:44:01.010 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Ascending augmented second.

00:44:01.010 --> 00:44:02.080 align:middle line:90%
Good.

00:44:02.080 --> 00:44:03.940 align:middle line:90%
Great.

00:44:03.940 --> 00:44:06.430 align:middle line:84%
I don't think there's
any way that you could

00:44:06.430 --> 00:44:08.330 align:middle line:90%
say it's an augmented ninth.

00:44:08.330 --> 00:44:11.450 align:middle line:84%
You can always reduce the
octave, but you cannot--

00:44:11.450 --> 00:44:13.755 align:middle line:84%
it's an interesting non
equivalence class, right?

00:44:13.755 --> 00:44:16.280 align:middle line:84%
You would never be allowed
to call that augmented ninth.

00:44:16.280 --> 00:44:18.175 align:middle line:84%
But you can call this
one a diminished fifth.

00:44:18.175 --> 00:44:18.675 align:middle line:90%
Great.

00:44:18.675 --> 00:44:22.330 align:middle line:90%


00:44:22.330 --> 00:44:24.190 align:middle line:90%
Number 4.

00:44:24.190 --> 00:44:26.290 align:middle line:90%
Let's continue, Jonathan.

00:44:26.290 --> 00:44:27.987 align:middle line:84%
AUDIENCE: Descending
augmented octave.

00:44:27.987 --> 00:44:29.320 align:middle line:90%
MICHAEL SCOTT A. CUTHBERT: Good.

00:44:29.320 --> 00:44:35.590 align:middle line:84%
Descending augmented
and augmented octave.

00:44:35.590 --> 00:44:36.190 align:middle line:90%
Great.

00:44:36.190 --> 00:44:40.030 align:middle line:84%
Now let's keep going
around to Matthew.

00:44:40.030 --> 00:44:43.030 align:middle line:84%
What do you want
to call number 5?

00:44:43.030 --> 00:44:44.810 align:middle line:84%
AUDIENCE: For lack
of a better word,

00:44:44.810 --> 00:44:47.410 align:middle line:84%
I might say augmented
augmented augmented second?

00:44:47.410 --> 00:44:48.910 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Augmented

00:44:48.910 --> 00:44:50.750 align:middle line:90%
augmented augmented second.

00:44:50.750 --> 00:44:54.100 align:middle line:90%
Everyone agree with that?

00:44:54.100 --> 00:44:56.180 align:middle line:90%
Well, let's look at this.

00:44:56.180 --> 00:45:01.990 align:middle line:90%
So D to E is what kind?

00:45:01.990 --> 00:45:03.080 align:middle line:90%
What's that note?

00:45:03.080 --> 00:45:05.120 align:middle line:84%
What's that interval--
major second.

00:45:05.120 --> 00:45:08.544 align:middle line:90%
So D to E sharp is?

00:45:08.544 --> 00:45:09.430 align:middle line:90%
AUDIENCE: Augmented.

00:45:09.430 --> 00:45:10.220 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Augmented.

00:45:10.220 --> 00:45:12.352 align:middle line:84%
So anything bigger than
major is augmented.

00:45:12.352 --> 00:45:13.810 align:middle line:84%
I want to make sure
that this year,

00:45:13.810 --> 00:45:18.383 align:middle line:84%
we don't lose any points
on the problem set from us

00:45:18.383 --> 00:45:19.550 align:middle line:90%
teaching the computer wrong.

00:45:19.550 --> 00:45:20.050 align:middle line:90%
So good.

00:45:20.050 --> 00:45:20.960 align:middle line:90%
Augmented second.

00:45:20.960 --> 00:45:23.400 align:middle line:90%
So what's this going to be?

00:45:23.400 --> 00:45:24.280 align:middle line:90%
[INTERPOSING VOICES]

00:45:24.280 --> 00:45:25.780 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Augmented

00:45:25.780 --> 00:45:27.900 align:middle line:84%
augmented second or
doubly augmented second.

00:45:27.900 --> 00:45:28.400 align:middle line:90%
So good.

00:45:28.400 --> 00:45:31.070 align:middle line:90%
So what do we have to add?

00:45:31.070 --> 00:45:32.035 align:middle line:90%
What do we--

00:45:32.035 --> 00:45:33.160 align:middle line:90%
AUDIENCE: Triply augmented.

00:45:33.160 --> 00:45:36.842 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Triply augmented second.

00:45:36.842 --> 00:45:37.780 align:middle line:90%
AUDIENCE: Quadruple.

00:45:37.780 --> 00:45:40.030 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Quadruple augmented second.

00:45:40.030 --> 00:45:43.670 align:middle line:84%
You know those quadruple
augmented seconds.

00:45:43.670 --> 00:45:45.640 align:middle line:90%
[PLAYING NOTES]

00:45:45.640 --> 00:45:48.370 align:middle line:90%
Right?

00:45:48.370 --> 00:45:50.510 align:middle line:90%
Let's do your tonal theory.

00:45:50.510 --> 00:45:53.200 align:middle line:90%
Is that consonant or dissonant?

00:45:53.200 --> 00:45:54.117 align:middle line:90%
AUDIENCE: Consonant.

00:45:54.117 --> 00:45:54.950 align:middle line:90%
AUDIENCE: Consonant.

00:45:54.950 --> 00:45:56.492 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Consonant.

00:45:56.492 --> 00:45:58.690 align:middle line:90%
Anybody else?

00:45:58.690 --> 00:46:03.460 align:middle line:84%
All diminished or augmented
intervals or doubly diminished

00:46:03.460 --> 00:46:07.450 align:middle line:84%
or doubly augmented,
whatever are traditionally

00:46:07.450 --> 00:46:12.640 align:middle line:84%
considered dissonances, No
matter what they sound like.

00:46:12.640 --> 00:46:16.370 align:middle line:84%
So if you doubly augment, triply
augmented, quadruply augment,

00:46:16.370 --> 00:46:19.990 align:middle line:84%
they will generally be
regarded as dissonances

00:46:19.990 --> 00:46:22.480 align:middle line:84%
because they're
either a dissonance,

00:46:22.480 --> 00:46:24.770 align:middle line:90%
or you have written them wrong.

00:46:24.770 --> 00:46:27.890 align:middle line:84%
And the one that comes up
is an augmented second,

00:46:27.890 --> 00:46:31.970 align:middle line:84%
which sounds just like the
beautiful minor third there.

00:46:31.970 --> 00:46:34.600 align:middle line:84%
So we have quadruple augmented--
you were very, very close,

00:46:34.600 --> 00:46:35.100 align:middle line:90%
by the way.

00:46:35.100 --> 00:46:37.720 align:middle line:90%
You should feel proud on that.

00:46:37.720 --> 00:46:39.490 align:middle line:90%
Quadruply augmented second.

00:46:39.490 --> 00:46:40.757 align:middle line:90%
Ascending or descending?

00:46:40.757 --> 00:46:41.590 align:middle line:90%
AUDIENCE: Ascending?

00:46:41.590 --> 00:46:43.132 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Ascending.

00:46:43.132 --> 00:46:43.870 align:middle line:90%
Good.

00:46:43.870 --> 00:46:44.510 align:middle line:90%
Great.

00:46:44.510 --> 00:46:46.540 align:middle line:90%
And Misha, you get this one?

00:46:46.540 --> 00:46:47.720 align:middle line:90%
AUDIENCE: I'm not sure.

00:46:47.720 --> 00:46:48.290 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: OK, good.

00:46:48.290 --> 00:46:49.450 align:middle line:90%
Pass on to Jason?

00:46:49.450 --> 00:46:50.090 align:middle line:90%
Good.

00:46:50.090 --> 00:46:52.843 align:middle line:84%
AUDIENCE: Doubly diminished--
make doubly diminished second.

00:46:52.843 --> 00:46:55.010 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Doubly diminished second.

00:46:55.010 --> 00:46:57.080 align:middle line:90%
Let's double-check that here.

00:46:57.080 --> 00:46:58.940 align:middle line:90%
That's a minor second, right?

00:46:58.940 --> 00:47:01.790 align:middle line:90%
So diminished second.

00:47:01.790 --> 00:47:03.820 align:middle line:90%
Doubly diminished second.

00:47:03.820 --> 00:47:04.930 align:middle line:90%
Great.

00:47:04.930 --> 00:47:07.572 align:middle line:90%
Ascending or descending?

00:47:07.572 --> 00:47:09.280 align:middle line:84%
AUDIENCE: Spelt this
way, it's ascending.

00:47:09.280 --> 00:47:11.697 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Spelt this way, it's ascending.

00:47:11.697 --> 00:47:13.163 align:middle line:84%
And so let's hear
those two notes.

00:47:13.163 --> 00:47:15.762 align:middle line:90%


00:47:15.762 --> 00:47:17.680 align:middle line:90%
[PLAYING NOTES]

00:47:17.680 --> 00:47:19.383 align:middle line:84%
Ascending doubly
diminished second.

00:47:19.383 --> 00:47:20.925 align:middle line:84%
Anyone want to make
another argument?

00:47:20.925 --> 00:47:23.246 align:middle line:90%
AUDIENCE: [LAUGHS]

00:47:23.246 --> 00:47:24.118 align:middle line:90%


00:47:24.118 --> 00:47:25.660 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Yes, Adam.

00:47:25.660 --> 00:47:28.090 align:middle line:84%
AUDIENCE: Just consider what
the final pitches are actually.

00:47:28.090 --> 00:47:29.660 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
What the final pitches are.

00:47:29.660 --> 00:47:31.360 align:middle line:84%
What do you mean
by final pitches?

00:47:31.360 --> 00:47:33.250 align:middle line:84%
AUDIENCE: Actually, it turns
out to be an F and the E.

00:47:33.250 --> 00:47:35.708 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Eventually, it turns out to be--

00:47:35.708 --> 00:47:39.520 align:middle line:84%
Adam has an ontology
that privileges the ear

00:47:39.520 --> 00:47:41.000 align:middle line:90%
over the written ontology.

00:47:41.000 --> 00:47:43.320 align:middle line:84%
That will do him very
well in most contexts,

00:47:43.320 --> 00:47:46.220 align:middle line:84%
except for in a sheet
music factory, right?

00:47:46.220 --> 00:47:46.920 align:middle line:90%
Yeah.

00:47:46.920 --> 00:47:50.010 align:middle line:84%
So sometimes we want
that, sometimes we won't.

00:47:50.010 --> 00:47:51.960 align:middle line:90%
But yeah, so you could do that.

00:47:51.960 --> 00:47:55.610 align:middle line:90%
Any other argument about when?

00:47:55.610 --> 00:48:01.680 align:middle line:84%
So we have ascending but
sounds ascending or descending

00:48:01.680 --> 00:48:04.040 align:middle line:90%
sounds ascending.

00:48:04.040 --> 00:48:07.790 align:middle line:84%
If you wanted to say I'm
on MIDI note, what is that?

00:48:07.790 --> 00:48:09.440 align:middle line:90%
65.

00:48:09.440 --> 00:48:11.000 align:middle line:90%
This is MIDI note 65.

00:48:11.000 --> 00:48:14.030 align:middle line:90%
And this one is MIDI note 64.

00:48:14.030 --> 00:48:17.690 align:middle line:84%
What's the chromatic number
of semitones distance?

00:48:17.690 --> 00:48:20.060 align:middle line:90%
Sorry for writing so small.

00:48:20.060 --> 00:48:23.090 align:middle line:90%
Minus 1, right?

00:48:23.090 --> 00:48:26.480 align:middle line:84%
So if we don't care
about spelling,

00:48:26.480 --> 00:48:29.690 align:middle line:90%
it is a negative interval.

00:48:29.690 --> 00:48:34.400 align:middle line:84%
Here is a context where
you might care about how

00:48:34.400 --> 00:48:36.470 align:middle line:90%
it's written, in particular.

00:48:36.470 --> 00:48:41.380 align:middle line:84%
Let's say for some
deranged reason,

00:48:41.380 --> 00:48:45.370 align:middle line:84%
you needed to write
this as a chord.

00:48:45.370 --> 00:48:47.080 align:middle line:90%
Oops, sorry.

00:48:47.080 --> 00:48:52.120 align:middle line:84%
There are certain rules about
where the accidentals go

00:48:52.120 --> 00:48:55.245 align:middle line:90%
from bottom note to next note.

00:48:55.245 --> 00:48:59.320 align:middle line:90%


00:48:59.320 --> 00:49:02.930 align:middle line:84%
So these are some of the things
that come up with computers.

00:49:02.930 --> 00:49:06.930 align:middle line:84%
These are underdefined
parts of music theory.

00:49:06.930 --> 00:49:12.310 align:middle line:90%


00:49:12.310 --> 00:49:14.860 align:middle line:84%
Underdefined parts
of music theory

00:49:14.860 --> 00:49:19.300 align:middle line:84%
that will come up quite
often, that nobody

00:49:19.300 --> 00:49:22.490 align:middle line:84%
has absolutely decided
on these things.

00:49:22.490 --> 00:49:27.170 align:middle line:84%
Because you will see that
they do come up in real music,

00:49:27.170 --> 00:49:28.820 align:middle line:90%
but they're very, very rare.

00:49:28.820 --> 00:49:34.660 align:middle line:84%
And I mean, believe the number
of doubly diminished octaves

00:49:34.660 --> 00:49:39.210 align:middle line:84%
in the music21 corpus of
tonal music of music of 18th,

00:49:39.210 --> 00:49:40.560 align:middle line:90%
19th century.

00:49:40.560 --> 00:49:42.600 align:middle line:84%
Out of millions
of notes, there's

00:49:42.600 --> 00:49:45.480 align:middle line:90%
about 28 times that it happens.

00:49:45.480 --> 00:49:47.260 align:middle line:84%
It happens once
in the Beach-- no,

00:49:47.260 --> 00:49:49.380 align:middle line:84%
it happens in the
Clara Schumann piece.

00:49:49.380 --> 00:49:53.290 align:middle line:84%
So it does happen in
pretty normal music.

00:49:53.290 --> 00:49:57.370 align:middle line:84%
But when you see this, what
do you think is happening,

00:49:57.370 --> 00:50:00.455 align:middle line:84%
by the way when you might have
this happening at the same time?

00:50:00.455 --> 00:50:03.540 align:middle line:90%


00:50:03.540 --> 00:50:04.370 align:middle line:90%
What's the context?

00:50:04.370 --> 00:50:04.870 align:middle line:90%
Adam.

00:50:04.870 --> 00:50:06.490 align:middle line:84%
AUDIENCE: The two parts
are having a crossover.

00:50:06.490 --> 00:50:07.720 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT: Two
parts are having a crossover.

00:50:07.720 --> 00:50:09.460 align:middle line:90%
What's the top part doing?

00:50:09.460 --> 00:50:11.338 align:middle line:90%
The one that starts off higher?

00:50:11.338 --> 00:50:12.880 align:middle line:84%
AUDIENCE: The top
part is going down.

00:50:12.880 --> 00:50:13.840 align:middle line:84%
It's the one with
the right note.

00:50:13.840 --> 00:50:14.955 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
The one with the--

00:50:14.955 --> 00:50:16.170 align:middle line:90%
AUDIENCE: The F.

00:50:16.170 --> 00:50:17.080 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: --F flat.

00:50:17.080 --> 00:50:18.663 align:middle line:84%
Yeah, so sometimes
when you're writing

00:50:18.663 --> 00:50:20.710 align:middle line:84%
a chromatic scale for an
instrument or something,

00:50:20.710 --> 00:50:22.990 align:middle line:90%
you'll use a lot of flats.

00:50:22.990 --> 00:50:26.130 align:middle line:84%
And then the other
one could be going up.

00:50:26.130 --> 00:50:29.250 align:middle line:84%
And I think you'll find that
this happens in John Philip

00:50:29.250 --> 00:50:30.910 align:middle line:90%
Sousa's march, The Thunderer.

00:50:30.910 --> 00:50:33.040 align:middle line:90%
[SCAT SINGING]

00:50:33.040 --> 00:50:33.540 align:middle line:90%


00:50:33.540 --> 00:50:34.900 align:middle line:90%
It's a melody in the baseline.

00:50:34.900 --> 00:50:37.510 align:middle line:90%
[SCAT SINGING]

00:50:37.510 --> 00:50:38.550 align:middle line:90%
And that there's--

00:50:38.550 --> 00:50:41.190 align:middle line:84%
I think that's one where there's
a double-- there's either

00:50:41.190 --> 00:50:44.740 align:middle line:84%
a diminished octave or a doubly
missed octave in the piano part.

00:50:44.740 --> 00:50:46.350 align:middle line:84%
And in the
instrumental parts, you

00:50:46.350 --> 00:50:49.620 align:middle line:84%
get these doubly diminished
seconds and diminished seconds

00:50:49.620 --> 00:50:50.800 align:middle line:90%
that happen there.

00:50:50.800 --> 00:50:52.290 align:middle line:90%
Good.

00:50:52.290 --> 00:50:55.290 align:middle line:84%
So one of the debates
is whether or not

00:50:55.290 --> 00:50:59.160 align:middle line:84%
this number tells you
ascending or descending

00:50:59.160 --> 00:51:00.250 align:middle line:90%
versus the other one.

00:51:00.250 --> 00:51:03.120 align:middle line:90%
Now, last one.

00:51:03.120 --> 00:51:05.520 align:middle line:90%
We ended with Jason--

00:51:05.520 --> 00:51:06.520 align:middle line:90%
Vincent, did you-- no.

00:51:06.520 --> 00:51:07.380 align:middle line:90%
Go ahead.

00:51:07.380 --> 00:51:10.350 align:middle line:90%
AUDIENCE: We diminished unison?

00:51:10.350 --> 00:51:11.350 align:middle line:90%
Diminish one?

00:51:11.350 --> 00:51:13.920 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Diminish one.

00:51:13.920 --> 00:51:16.680 align:middle line:90%
Ascending or descending?

00:51:16.680 --> 00:51:17.305 align:middle line:90%
AUDIENCE: Null.

00:51:17.305 --> 00:51:18.638 align:middle line:90%
MICHAEL SCOTT A. CUTHBERT: Null.

00:51:18.638 --> 00:51:19.770 align:middle line:90%
[LAUGHTER]

00:51:19.770 --> 00:51:23.100 align:middle line:90%
Null pointer exception.

00:51:23.100 --> 00:51:25.410 align:middle line:84%
What do you want
to call it then?

00:51:25.410 --> 00:51:28.180 align:middle line:84%
Let's come up with a
music term besides null.

00:51:28.180 --> 00:51:29.610 align:middle line:90%
AUDIENCE: Like a new term?

00:51:29.610 --> 00:51:30.480 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: No, anyone

00:51:30.480 --> 00:51:32.998 align:middle line:84%
know a music term that's
neither ascending or descending

00:51:32.998 --> 00:51:33.665 align:middle line:90%
for an interval?

00:51:33.665 --> 00:51:36.480 align:middle line:90%


00:51:36.480 --> 00:51:38.800 align:middle line:84%
You don't usually
use it in intervals,

00:51:38.800 --> 00:51:43.350 align:middle line:84%
but you might use it
for types of motion.

00:51:43.350 --> 00:51:47.050 align:middle line:84%
For stationary, we use another
one, sometimes oblique.

00:51:47.050 --> 00:51:48.400 align:middle line:90%
Has anyone heard that term?

00:51:48.400 --> 00:51:48.900 align:middle line:90%
No.

00:51:48.900 --> 00:51:51.510 align:middle line:84%
OK, so some people have
when-- there's some motion

00:51:51.510 --> 00:51:52.630 align:middle line:90%
and some not motion.

00:51:52.630 --> 00:51:54.930 align:middle line:90%
So some people say that.

00:51:54.930 --> 00:51:56.920 align:middle line:84%
Yeah, so there's
kind of a debate.

00:51:56.920 --> 00:51:58.680 align:middle line:90%
So you could say it's no motion.

00:51:58.680 --> 00:52:01.050 align:middle line:90%
It's a diminished unison.

00:52:01.050 --> 00:52:03.450 align:middle line:84%
The other thing that
some people want to do

00:52:03.450 --> 00:52:06.310 align:middle line:84%
is to make everything
always be positive.

00:52:06.310 --> 00:52:07.920 align:middle line:84%
So you can call
this also-- what's

00:52:07.920 --> 00:52:09.510 align:middle line:90%
another term we could also say?

00:52:09.510 --> 00:52:12.580 align:middle line:84%
I'm just going to get
a fresh thing over here

00:52:12.580 --> 00:52:17.830 align:middle line:84%
so we can look at that
from E-natural to E-flat.

00:52:17.830 --> 00:52:20.730 align:middle line:84%
We can call this
diminished unison.

00:52:20.730 --> 00:52:22.410 align:middle line:90%
What would we also call this?

00:52:22.410 --> 00:52:23.790 align:middle line:90%
AUDIENCE: Augmented unison.

00:52:23.790 --> 00:52:25.623 align:middle line:84%
MICHAEL SCOTT A. CUTHBERT:
Augmented unison.

00:52:25.623 --> 00:52:30.355 align:middle line:84%
And then what's
the directionality?

00:52:30.355 --> 00:52:31.230 align:middle line:90%
AUDIENCE: Descending.

00:52:31.230 --> 00:52:32.813 align:middle line:84%
MICHAEL SCOTT A.
CUTHBERT: Descending.

00:52:32.813 --> 00:52:37.870 align:middle line:84%
So some people-- descending
augmented unisons.

00:52:37.870 --> 00:52:42.840 align:middle line:84%
Some People who have done some
programming things have thought

00:52:42.840 --> 00:52:46.710 align:middle line:84%
about maybe the
diminished unison

00:52:46.710 --> 00:52:49.770 align:middle line:84%
should vanish from
our vocabulary

00:52:49.770 --> 00:52:55.290 align:middle line:84%
because it's unclear whether
music works like integer

00:52:55.290 --> 00:53:00.700 align:middle line:84%
multiplication, that if you have
a descending diminished unison,

00:53:00.700 --> 00:53:04.980 align:middle line:84%
descending diminished
unison, does that

00:53:04.980 --> 00:53:07.980 align:middle line:84%
mean descending multiplied
by diminished unison, which

00:53:07.980 --> 00:53:08.620 align:middle line:90%
is negative?

00:53:08.620 --> 00:53:10.960 align:middle line:84%
Negative and negative
means you're going up.

00:53:10.960 --> 00:53:13.300 align:middle line:84%
A negative times a
negative is a positive.

00:53:13.300 --> 00:53:16.770 align:middle line:84%
At least the descending
augmented unison

00:53:16.770 --> 00:53:19.950 align:middle line:90%
escapes that argument.

00:53:19.950 --> 00:53:21.900 align:middle line:84%
So some of the weird
things that come up.

00:53:21.900 --> 00:53:22.450 align:middle line:90%
Great.

00:53:22.450 --> 00:53:24.180 align:middle line:90%
Let's start.

00:53:24.180 --> 00:53:26.910 align:middle line:84%
Any questions on this
before we move on?

00:53:26.910 --> 00:53:27.870 align:middle line:90%
Thanks.

00:53:27.870 --> 00:53:31.530 align:middle line:84%
Let's get a head start on one of
the hardest parts of problem set

00:53:31.530 --> 00:53:32.490 align:middle line:90%
4.

00:53:32.490 --> 00:53:38.130 align:middle line:84%
What I'd like you to do is
given two music21 notes,

00:53:38.130 --> 00:53:43.660 align:middle line:84%
first, give me what
the number 1, 2, 3--

00:53:43.660 --> 00:53:46.090 align:middle line:84%
we sometimes call this
the generic interval.

00:53:46.090 --> 00:53:49.060 align:middle line:84%
Some people use the term
diatonic interval for this.

00:53:49.060 --> 00:53:51.240 align:middle line:84%
But we'll use diatonic
interval for things

00:53:51.240 --> 00:53:55.450 align:middle line:84%
like perfect unison, major
second, minor third, and so on.

00:53:55.450 --> 00:53:58.934 align:middle line:84%
First, given any
two notes, what's

00:53:58.934 --> 00:54:02.890 align:middle line:84%
the generic interval
between them?

00:54:02.890 --> 00:54:06.840 align:middle line:84%
And then let's see if
we can work up to what

00:54:06.840 --> 00:54:10.410 align:middle line:90%
the diatonic interval is.

00:54:10.410 --> 00:54:12.660 align:middle line:84%
Just as a reminder,
there is a class

00:54:12.660 --> 00:54:16.180 align:middle line:84%
called interval is
still locked on this.

00:54:16.180 --> 00:54:18.910 align:middle line:84%
So we'll do this for about
the last six minutes.

00:54:18.910 --> 00:54:21.880 align:middle line:84%
And that's how we'll
end the class today.

00:54:21.880 --> 00:54:24.430 align:middle line:84%
I'll just be going around and
helping people get started.

00:54:24.430 --> 00:54:25.980 align:middle line:90%
Thanks.

00:54:25.980 --> 00:54:31.000 align:middle line:90%