[MEI-L] Bach chorales in MEI

Roland, Perry (pdr4h) pdr4h at eservices.virginia.edu
Tue Aug 25 14:15:34 CEST 2009


Great work, Craig!

I agree with Johannes that this is a valuable contribution and will help to "put MEI on the map".  If you and Johannes need help with the mapping of Humdrum metadata to the MEI header, just let me know.

With much appreciation for your work,

--
perry

__________________________
Perry Roland
Digital Curation Services
University of Virginia Library
P. O. Box 400155
Charlottesville, VA 22904- 4155
434-982-2702 (w)
pdr4h at virginia.edu
________________________________________
From: mei-l-bounces+pdr4h=virginia.edu at lists.uni-paderborn.de [mei-l-bounces+pdr4h=virginia.edu at lists.uni-paderborn.de] On Behalf Of Johannes Kepper [kepper at edirom.de]
Sent: Tuesday, August 25, 2009 3:29 AM
To: Music Encoding Initiative
Subject: Re: [MEI-L] Bach chorales in MEI

Hi Craig,

great, that's indeed a valuable contribution to MEI. Thanks for your
efforts on this (as on all the other things you already did…). I only
had a short look on the converted files yet, and they look really
good. Especially the associated PDFs are good for reference purposes
(although there is a lot of converting involved…). The only thing that
came to my mind as possible improvement by now is the header part. I'm
pretty sure that there are more adequate places to keep all those
Humdrum metadata. If you like, I will have a look on this and provide
some hints how to map the data, but this won't happen before the end
of the week, more likely even not before next week.

Thanks again, it's really great to have those data available in MEI.

Johannes



Am 25.08.2009 um 01:53 schrieb Craig Sapp:

> Hello MEIers,
>
> I have created a converter from Humdrum data into MEI which can
> currently
> handle music of the complexity of Bach chorales:
>     http://kern.ccarh.org/cgi-bin/ksbrowse?l=371chorales
> Click on the title of any of the chorales, then go to the "data format
> translation" section,
> and to the right of the MEI entry is a link to the automatic
> conversion into
> MEI data.  For example, chorale 13 in MEI format:
>     http://kern.ccarh.org/cgi-bin/ksdata?l=371chorales&file=chor013.krn&f=mei
>
> The intended graphical notation the MEI score is representing
> can be found by clicking on the "notation" link for the
> ABC+ entry in the data translation section, such as this
> one for chorale 13:
>   http://kern.ccarh.org/cgi-bin/ksdata?l=371chorales&file=chor013.krn&f=abcpdf
>
> Currently the chorales are displayed one part on a staff,
> but eventually I will add options for combining two voices
> onto a single staff as well, which is the format of the original
> edition
> from which I encoded the music:
>     http://kern.ccarh.org/cgi-bin/ksdata?l=371chorales&file=chor013.krn&f=pdf
>
> You can send me any bugs you find, suggested improvements in the
> translation,
> or I can update the translation if the MEI definition changes during
> its ODD
> transformation...  Things which I still need to add to the conversion:
>   (1) Cautionary accidentals (accidentals which don't technically
> need to be
>         printed, but are provided for easier sight-reading).
>   (2) Meter changes in a few of the chorales.
>   (3) Figure out redundant fermata specifications in MEI (I current
> specify
>        fermatas as part of the notes, but MEI examples have them
>         split into two components)
>
> The encodings contains an alteration to the MEI 1.9b specification:
>
> <!ENTITY % att.anl.measure
>           'corresp           IDREFS                #IMPLIED
>            join              IDREFS                #IMPLIED'>
> ]>
>
> Which is used in the translations to indicate if two <measures> are
> intended to act as one logical measure (for example measure 6 in
> chorale 13 is split by a repeat barline).  In MEI, I encoded the two
> half-measures in separate <measure> containers and then used the
> join attribute and the.  Here is that measure from chorale 13 for
> those
> interested:
>
> <measure n="6" id="m_sc_59" right="rptend" complete="i"
> join="m_sc_66">
>              <staff n="1">
>                <layer n="1">
>                  <note id="n_sc_60_3" pname="c" oct="5" dur="4"/>
>                  <note id="n_sc_62_3" pname="b" oct="4" dur="4"/>
>                  <note id="n_sc_65_3" pname="a" oct="4" dur="4"
> fermata="above"/>
>                </layer>
>              </staff>
>              <staff n="2">
>                <layer n="1">
>                  <note id="n_sc_60_2" pname="a" oct="4" dur="4"/>
>                  <note id="n_sc_62_2" pname="g" oct="4" dur="4"/>
>                  <note id="n_sc_65_2" pname="e" oct="4" dur="4"
> fermata="above"/>
>                </layer>
>              </staff>
>              <staff n="3">
>                <layer n="1">
>                  <beam>
>                    <note id="n_sc_60_1" pname="f" oct="4" dur="4"/>
>                    <note id="n_sc_61_1" pname="d" oct="4" dur="4"/>
>                  </beam>
>                  <beam>
>                    <note id="n_sc_62_1" pname="b" oct="3" dur="4"/>
>                    <note id="n_sc_63_1" pname="c" oct="4" dur="16"/>
>                    <note id="n_sc_64_1" pname="d" oct="4" dur="16"/>
>                  </beam>
>                  <note id="n_sc_65_1" pname="c" oct="4" dur="4"
> fermata="above"/>
>                </layer>
>              </staff>
>              <staff n="4">
>                <layer n="1">
>                  <note id="n_sc_60_0" pname="d" oct="3" dur="4"/>
>                  <note id="n_sc_62_0" pname="e" oct="3" dur="4"/>
>                  <note id="n_sc_65_0" pname="a" oct="2" dur="4"
> fermata="above"/>
>                </layer>
>              </staff>
>            </measure>
>          </section>
>          <section id="B">
>            <measure n="6b" id="m_sc_66" complete="i" join="m_sc_59">
>              <staff n="1">
>                <layer n="1">
>                  <note id="n_sc_68_3" pname="e" oct="5" dur="4"/>
>                </layer>
>              </staff>
>              <staff n="2">
>                <layer n="1">
>                  <note id="n_sc_68_2" pname="a" oct="4" dur="4"/>
>                </layer>
>              </staff>
>              <staff n="3">
>                <layer n="1">
>                  <note id="n_sc_68_1" pname="c" oct="4" dur="4"/>
>                </layer>
>              </staff>
>              <staff n="4">
>                <layer n="1">
>                  <note id="n_sc_68_0" pname="a" oct="3" dur="4"/>
>                </layer>
>              </staff>
>            </measure>
>
>
> Source code for the Humdrum to MEI converter (written in C++):
>     http://museinfo.sapp.org/examples/humdrum/hum2mei.cpp
> It has basic infrastructure for multi-layer staves (such as for
> piano music)
> which I can work on developing before March.  For example, I have
> encoded
> all of the Beethoven piano sonatas in Humdrum format which might be
> nice
> to have in MEI format:
>    http://kern.ccarh.org/cgi-bin/ksbrowse?l=beethoven/sonatas
>
> -=+Craig
>
> _______________________________________________
> mei-l mailing list
> mei-l at lists.uni-paderborn.de
> https://lists.uni-paderborn.de/mailman/listinfo/mei-l


_______________________________________________
mei-l mailing list
mei-l at lists.uni-paderborn.de
https://lists.uni-paderborn.de/mailman/listinfo/mei-l


More information about the mei-l mailing list