[MEI-L] Multiple section expansions

Craig Sapp craigsapp at gmail.com
Sat Aug 8 01:51:44 CEST 2009


Hello MEIers,

In the July MEI meeting, a limitation in the use of <section> elements
to encode a score was mentioned.  In particular, only one possible
expansion of the section using the expan attribute can be encoded.

Here is some music to illustrate the problem, which would be good to
provide as an example encoding this year addressing the segment
expansion problem:

Beethoven's piano sonata no. 1 in F minor (op. 1, no. 1), 3rd movement
(minuet and trio):
       http://kern.ccarh.org/cgi-bin/ksdata?location=users/craig/classical/beethoven/piano/sonata&file=sonata01-3.krn&format=pdf

In this example, the minuet consists of two parts which repeat (which
I call sections "A" and "B"), and a trio with two repeated parts which
I call ("C" and "D").  There is a "fine" at the end of the minuet, and
a "da capo menuetto" at the end of the trio section.

In the printed score and in the MEI encoding, these sections would be
listed in the order: A B C D.  When performing, these segments will
usually be played in this order: A A B B C C D D A B
(this expansion ordering may not be possible in the current MEI
specification?).  But also, it is possible for the music to be played
"without repetitions" which would expand to: A B C D A B

Instead of using section/@expan to control the expansion, it might be
more useful to have a list of possible section expansions given in the
<scoredef> section.

It would be useful to study the section analogy in the Humdrum file format:
    http://www.music-cog.ohio-state.edu/Humdrum/commands/thru.html
    http://extra.humdrum.org/man/thrux

In Humdrum files, sections are given labels which are strings starting
with "*>" and then an arbitrary section label string.  Sections are
ended by the declaration of the next section, so there are no
unlabeled sections (except for a possible initial unlabeled section at
the start of the music).

These sections can be used in an expansion list which is  of the form
"*>" followed by an optional expansion label, followed by the
expansion list in a pair of square brackets.

For example, in the Beethoven minuet & trio example encoded in the
Humdrum format:
     http://kern.ccarh.org/cgi-bin/ksdata?location=users/craig/classical/beethoven/piano/sonata&file=sonata01-3.krn&format=kern

There are four segments which are marked by:

*>A
*>B
*>C
*>D

And two expansion lists are present in the file:

*>[A,A,B,B,C,C,D,D,A,B]
*>norep[A,B,C,D,A,B]	

The first expansion list is the default expansion list.  This list
will be used by default in the Humdrum command "thru" if no section
expansion label is given.  The second list is labeled "norep" which is
my special convention for identifying an expansion which does not take
repeats.  Any number of other expansions could also be given.  For
example, one Chopin mazurka which I have done performance analysis on
has been expanded in a plethora of ways by various performers:
     http://ismir2007.ismir.net/proceedings/ISMIR2007_p041_rhodes.pdf
(see table on page 5).  It may be useful to store an expansion list
for each performer depending on what repeats they took, for example;
even if some did the same expansion.

It would be useful to have two default types of expansions for sound
and analysis applications: Full repeats, and no repeats. For example
you may want to hear a MIDI file with full repeats as the music would
be performed, or you might not want to waste time hearing the music
repeated, so a no-repeats expansion would be useful.  In analysis, I
use these two settings to control how to analyze a movement.  For
example, here is a structural harmonic analysis of this minuet and
trio in three variants:

   (1) as printed in score (no da capo and no repeats):
         http://kern.ccarh.org/cgi-bin/ksanalysis-mkeyscape?url=http%3A%2F%2Fkern.ccarh.org%2Fcgi-bin%2Fksdata%3Fl%3Dusers%2Fcraig%2Fclassical%2Fbeethoven%2Fpiano%2Fsonata%26file%3Dsonata01-3.krn%26f%3Dkern&format=png
   (2) as performed, with full repeats:
         http://kern.ccarh.org/cgi-bin/ksanalysis-mkeyscape?optionr=all&url=http%3A%2F%2Fkern.ccarh.org%2Fcgi-bin%2Fksdata%3Fl%3Dusers%2Fcraig%2Fclassical%2Fbeethoven%2Fpiano%2Fsonata%26file%3Dsonata01-3.krn%26f%3Dkern&format=png
   (3) as performed, without repeats:
         http://kern.ccarh.org/cgi-bin/ksanalysis-mkeyscape?optionr=none&url=http%3A%2F%2Fkern.ccarh.org%2Fcgi-bin%2Fksdata%3Fl%3Dusers%2Fcraig%2Fclassical%2Fbeethoven%2Fpiano%2Fsonata%26file%3Dsonata01-3.krn%26f%3Dkern&format=png

In case you are interested, the plots show that the minuet is in F
minor (dark yellow), and the trio is in F major (bright yellow).  The
first half of the minuet modulates to A-flat major (purple; relative
major of F minor), and then modulates to the subdominant and then back
to F minor by the end of the minuet.  The first half of the trio has a
strong region in the dominant (C major; green).

One problem with having the expansions move to the <scoredef> area or
similar location is: how to expand unlabeled sections of the music.
One solution would be to have the <section> markers be "EMPTY" and
have them behave in the same manner as the Humdrum section labels.

-=+Craig



More information about the mei-l mailing list