Half-day tutorial: Music Encoding with mei-friend

Authors: Weigl, David M. / Goebl, Werner / Plaksin, Anna / Münnich, Stefan / Saccomano, Mark

Date: Tuesday, 5 September 2023, 2:15pm to 5:45pm

Location: HNI, Room F0.530 <hni:performance>



The Music Encoding Initiative’s MEI XML schema supports the comprehensive, machine-readable, semantic capture of a large range of music documents in a variety of notation formats. However, the learning curve may be steep, particularly for users lacking prior expertise with XML – and an absence of prior exposure to such technologies is not unusual among the audience most likely to benefit from music encodings, that is, music librarians, scholars, and performers. Unlike text, music suffers from the additional complication that its encodings necessarily abstract far away from the source; while a text-encoded paragraph (e.g., a TEI <p> element) contains recognisable textual content, the <note> elements within an MEI <measure> look nothing like their notated equivalents in music scores.

Typical workflows incorporating MEI have involved frequent iterations of: XML editing (in an editor such as Oxygen); running the MEI through the Verovio engraving tool to visually inspect the encoded notation; and returning to the XML editor for fixing, refinement, and continued encoding. The mei-friend Web application, available via https://mei-friend.mdw.ac.at, is a tool developed to simplify this traditional workflow. It exposes two tightly-coupled panels that respectively incorporate an XML editor (provided by CodeMirror) and a digital music score (rendered by Verovio), supporting synchronised interaction, navigation, and editing in either modality. It also integrates important infrastructural conveniences, including schema-based MEI validation and autocompletion; Git cloud-service integration with GitHub and Git Lab for collaborative encoding; Solid (RDF) integration for distributed score annotation; a built-in MIDI player, for sonification and auditory validation of the encoding; and, a direct interface to the MEI Guidelines to look up documentation for selected elements. A dedicated ‘Help’ website offers extensive documentation of mei-friend’s basic and advanced features. The application aims to lower the barriers to entry to the world of music encoding, while providing a wealth of features and optimisations to facilitate and speed up the encoding process for experienced music editors.

In this tutorial, we will provide a gentle introduction to encoding music with mei-friend, walking participants through the task of encoding a simple melody from scratch using MEI, before opening up to a broader consideration of ‘real-world’ music encoding workflows. Tuition will be based around ‘hands-on’ exercises, with experienced co-conveners available to assist participants when help is required.


This tutorial primarily caters to participants who are new to the world of music encoding, and will be well-suited both to experienced users of TEI, as well as to those new to XML-based encodings. In addition, the tutorial will be of interest to experienced users of MEI who are curious about the affordances of mei-friend.



Participants will be required to bring their own laptops (Windows / Linux / Mac), optionally with headphones. No software installation will be required.

Room set-up

We will require a projector and A/V set-up that permits plugging in a presenter laptop (HDMI or USB-C). Participants will require tables and some shared power sockets for their laptops, and seating should be arranged to allow tutorial conveners access to assist individual participants during the hands-on sessions. All participants should be able to view a presentation screen, to allow them to follow along.

Schedule and topics

The tutorial’s content will fit a half-day (3 hour) session scheduled as follows:

15 min: Introduction to music encoding formats and workflows 1 h 15 min: Hands-on: Guided walk-through of a simple music encoding task

20 min: Break

15 min: Whistlestop tour of mei-friend and its documentation 10 min: Real-world encoding workflows (OMR, MusicXML conversion, etc) 25 min: Hands-on: Real-world encoding task – Cleaning up Beethoven’s Op. 76 20 min: Questions and open discussion

About the authors

David M. Weigl is a postdoctoral research associate at the IWK – mdw with a focus on applications of semantic Web technologies in digital music research. He co-develops the mei-friend Web application, and has been involved in teaching MEI using mei-friend in conference tutorial and class-room contexts.

Werner Goebl is a music researcher with background in musicology, psychology, and computer science, and head of the Department of Music Acoustics – Wiener Klangstil (IWK) at mdw – University of Music and Performing Arts Vienna. He originated mei-friend in its first incarnation as an Atom plug-in, and continues its development as a Web application.

Anna Plaksin is a postdoctoral research associate at the Institute of Art History and Musicology (IKM) at Johannes Gutenberg University Mainz. She currently works on support for editorial markup in the mei-friend Web application.

Stefan Münnich is a research associate at the Anton Webern Gesamtausgabe, Basel, where he explores ways to apply RDF-based semantic models for the purpose of a scholarly digital music edition. He was recently appointed technical co-chair of the MEI and co-developed the MEI tutorials.

Mark Saccomano is a music theorist at Paderborn University. He previously taught music history and music theory at Columbia University and was adjunct professor of music at Montclair University in New Jersey. He is currently working as a digital musicologist on the Beethoven in the House project.

Contribution Type