A blog about music engraving and LilyPond notation software.

Music Encoding Conference 2016 (Part 1)

About a year a go I posted a report of my first appearance at the Music Encoding Conference that had taken place in Florence (Italy). I then introduced the idea of interfacing LilyPond with MEI, the de facto standard in (academic) digital music edition and was very grateful to be welcomed warmly by that scholarly community. Over the past year this idea became increasingly concrete, and so I’m glad that German research funds made it possible to present another paper at this year’s conference although Montréal (Canada) isn’t exactly around the corner. In a set of two posts I will talk about my my impressions in general (current post) and my paper and other LilyPond-related aspects (next post).

The MEI (which stands for Music Encoding Initiative, which is both a community and as a format specification) is a quite small and friendly community, although it basically represents the Digital Humanities branch of musicology as a whole. As a consequence it’s nice to see many people again on this yearly convention. There were 67 registered participants from 10 countries with rather strong focus on north America and central Europe (last year in Florence I think we were around 80).

The MEC is a four day event with day two and three being dedicated to actual paper presentations. The first day features workshops while the fourth day is an “unconference day” giving the opportunity for spontaneous or pre-arranged discussion and collaboration. A sub-event that seems to gain relevance each year is the conference banquet – one could even imagine that by now this plays a role when applying for organizing the next MECs 😉 . We had a nice dinner at the Auberge Saint Gabriel with excellent food and wine and an extremely high noise floor that I attribute to the good mood and spirit we all had. And on the last evening we had the chance to attend a lecture recital with Karen Desmond and the VivaVoce ensemble who gave us a commented overview of the history of notation from around 900 to the late 16th century.

Ensemble VivaVoce and Karen Desmond (click to enlarge)

Verovio Workshop

From the workshops I decided to attend Verovio – current status and future directions, which was partly a presentation of the tool itself and its latest development, but also a short hands-on introductory tutorial (OK, “hands-on” was limited to having the files available to look through and modify the configuration variables). Verovio is currently “the” tool of choice for displaying scores in digital music editions, so it’s obvious that I’m highly interested in learning more about it. Basically it is a library that renders MEI data to scores in SVG files, with a special feature being that the DOM structure of the SVG file matches that of the original MEI, which makes it easy to establish two-way links between source and rendering. Verovio is written in C++ and compiled to a number of target environments/languages. The most prominent one is JavaScript through which Verovio provides real-time engraving in the browser. You should consider having a look at the MEI Viewer demonstration page.

Screenshot from the Verovio website, showing the relation of rendering and source structure (click to enlarge)

Verovio’s primary focus is on speed and flexibility, and what can I say? it’s amazing! Once the library and the document have been downloaded the score is rendered and modified near-instantly with a user experience matching ordinary web browsing. It is possible to resize and navigate a score in real-time while with instant reflow. Score items can easily be accessed through JavaScript and may be used to write back any actions to the original source file. And as we’re in the XML domain throughout you can do cool things like rendering remotely hosted scores or extracting parts through XSL transformations and queries. A rather new feature is MIDI playback with highlighting of the played notes. The MIDI player is linked quite tightly into the document, so you can use the scrollbar or click on notes to jump playback with everything being robustly in sync.

Of course this performance comes at a cost: as Verovio is tuned to speed and flexibility its engraving engine is of course rather simplistic. And apart from the fact that it doesn’t support everything yet that a notation program would need it will probably never compete with LilyPond in terms of engraving quality. On the other hand LilyPond will probably never compete with Verovio on it’s native qualities speed and flexibility. This boils down to Verovio and LilyPond rather being perfect complements than competitors. They should be able to happily coexist side by side – within the same editing project or even editing environment. But I’ll get back to that in the other post.

Paper Presentations

Days two and three were filled with paper presentations and posters, and I can hardly give a comprehensive account of everything. Instead I have to pick a few things and make some remarks from a somewhat LilyPond-ish perspective.

Metadata and Linked Data

Generally speaking the MEI has two independent objectives: music editing and metadata. The original inventor of MEI, Perry Roland, is actually a librarian, and so documenting everything about sources is an inherent goal in the MEI world. Typical projects in that domain might be the cataloguing of a historic library such as the Sources of the Detmold Court Theatre Collection (German only).

But encoding the phyisical sources alone isn’t as good as it gets without considering the power of linking data. There are numerous items in such a house that may refer to each other and provide additional information: bills, copyist’s marks, evening programmes, comments and modifications to individual copies of the music, and much more. Making this kind of information retrievable, possibly across projects, promises new areas of research.

Encoding enhanced data specifying concrete performances of a work is another related area of research. Starting from focusing on secondary information like inscriptions in the performance material existing approaches go all the way to designing systems to encode timing, articulation and dynamics from recorded music as was presented by Axel Berndt. Still far away from analyzing their data directly from the recording it seems a very promising project to provide a solid data foundation to investigate parameters of “musical” performance like for example determining a “rubato fingerprint” for a given pianist. Of course this also works in the other direction, and we heard a MIDI rendering of a string quartet featuring astonishing livelyhood. I’d be particularly interested to see if that technology couldn’t be built upon for notation editors’ playback engines.

Extending the Scope of MEI

An ubiquitous topic on the side actual of music encoding is how to deal with specific repertoire that isn’t covered by Common Western Music Notation. As MEI is so flexible and open it is always possible to create project-specific customizations to include the notation repertoire at hand. But the freedom also implies the risk of becoming too widely split to an amount where it might become meaningless. This is why it is so important to regularly discuss these things in the wider MEI community.

The top targets in this area seem to be neumes and lute (and other) tablature systems, while I didn’t see any attempts towards encoding contemporary or non-western notation styles so far.

Edition Projects

Of course there also were presentations of actual edition projects, of which I’ll mention just a few.

Neuma is a digital library of music scores encoded in MEI (and partially still MusicXML). It features searching by phrases, and the scores can be referenced to be rendered anywhere with Verovio (as described above). They have also been working with LilyPond and would be happy to have this as an additional option for presenting higher quality renderings of their scores and incipits.

Johannes Kepper gave an insightful and also amusing presentation about the walls they ran into with their digital Freischütz edition. This project actually pushed the limits of digital music edition pretty hard and can be used as a reference of approaches and limitations equally. Just imagine that their raw data is about 230 MB worth of XML files – out of which approximately 100 MB count for the encoding of the autograph manuscript alone …

A poster was dedicated to the “genetic edition” of Beethoven’s sketches. This project sets out to encode the genetic process that can be retraced in the manuscript sources giving access to each step of Beethoven’s working process individually.

Salsah is a project at the Digital Humanities Lab at the Basel university. They work on an online presentation of parts of the Anton Webern Gesamtausgabe, namely the sketches (while the “regular” works are intended to be published as a traditional print-only edition). The project is still in the prototype stage, but it has to be said that it is fighting somewhat desparately with its data. The Webern edition is realized using Finale – and the exported MusicXML isn’t exactly suited to semantically make sense of … Well, they would have had the solution at their fingertips, but two and a half years ago I wasn’t able to convince them to switch to LilyPond before publishing the first printed volumes 😉

After these more general observations a second post will go into more detail about LilyPond specific topics, namely MEI’s lack of a professional engraving solution, my own presentation, and nCoda, a new editing system that was presented for the first time at the MEC (incidentally just two days after the flashy and heavily pushed Dorico announcement). I have been in touch with the nCoda developers for over a year now, and it was very nice and fruitful to have a week together in person – but that’s for the next post …

I’m new to everything discussed here but I have to thank everyone for their work on this and these projects ! I really like the vision you have for lilypond and verovio integration in frescobaldi! Could abjad be put in there too? I think ncoda may be doing this obviously on a different platform.

I’m afraid I don’t fully understand what you mean. Using Verovio in Frescobaldi is just a vague idea I would love to see implemented. But there are no concrete plans for doing so. In addition, Abjad is really not in the focus of Frescobaldi development.

nCoda will indeed provide this functionality (on all platforms) but it is not actually near a development state where it would be usable for regular users.