[MEI-L] Repeats

Craig Sapp craigsapp at gmail.com
Tue Jul 19 03:56:19 CEST 2016


Hi Andrew,

I haven't gotten to repeats in the Humdrum Importer to verovio (as they are
not fully implemented in verovio yet, nor I suspect in the MIDI export :-),
but I can say definitely that the visual aspect of repetition marks cannot
be relied upon in the general case for performing repeats, so it is wiser
to not to rely on them at all and expect a separate gestural domain
encoding of the repeats for gestural applications (such as MIDI playback).

A classical example is minuet and trio movements.  The minuet should be
repeated after the trio, but typically without taking the repeats in the
second pass through the minuet.  Sometimes there is a "Da capo" or "Da capo
al fine" at the end of the trio, sometimes not, but in any case this would
probably be encoded as a free-form <dir>, and could be in languages other
than Italian, or could be something like "Da capo al fine senza
repetizione", as well as "Da capo al fine con repetizione".

For performance analysis, there would also be the consideration of how the
performer navigated the repeats of the score.  They could take some
repeats, and skip others, so you would need to keep track of that outside
of any visual cues found in the score.  As an example, I found that there
are at least 5 ways performers realize repeats in Chopin's mazurka in A
minor, op 7 no. 2, see table 2 of:
     http://ismir2007.ismir.net/proceedings/ISMIR2007_p041_rhodes.pdf

For Humdrum scores containing repeats, I add expansion labels to the score
and then indicate expansion lists in the file: one for full repeats, and
one for minimal repeats (such as only taking second endings).  This system
is what the <expansion> mechanism is modeled after (as I had whined to
Perry to put a similar feature into MEI).

Here is a simple example of how it is done in Humdrum:

[image: Inline images 1]


 **kern
 *clefG2
 *k[f#]
 *M6/8
 *>[A,A,B]
*>norep[A,B]
 *>A
 8d
 =1
 4g
 8g
 8g
 8a
 8b
 =2
 4a
 8e
 4f
 =:|!
 *>B
 8dd
 =3
 4ee
 8cc
 4dd
 8b
 =4
 8.cc
 16b
 8a
 4.g
 =
 *-

The red marks are the expansion lists, with the first one being the default
(because it has no label, not because it is first), and the second one is
labeled "norep".

The orange marks are the labeled sections which the expansion list will
operate on.

There is a tool called "thru" which can select the desired performance
sequence of the score:

thru file.krn  --> gives the default expansion (A, A, B)
thru -v norep file.krn --> gives the "no-repeat" variant of the score (A,
B).

Example output from *thru* given the default expansion list:

**kern
*thru
*clefG2
*k[f#]
*M6/8
*>A
8d
=1
4g
8g
8g
8a
8b
=2
4a
8e
4f
=:|!
*>A
8d
=1
4g
8g
8g
8a
8b
=2
4a
8e
4f
=:|!
*>B
8dd
=3
4ee
8cc
4dd
8b
=4
8.cc
16b
8a
4.g
=
*-

The expansion labels have been removed, and a *thru marker added to
indicate that the data has been processed by the thru tool.

-=+Craig





​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.uni-paderborn.de/pipermail/mei-l/attachments/20160718/8ee3f33f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 20783 bytes
Desc: not available
URL: <http://lists.uni-paderborn.de/pipermail/mei-l/attachments/20160718/8ee3f33f/attachment.png>


More information about the mei-l mailing list