mei-friend v1.0: Music Encoding in the Browser

Authors: Goebl, Werner / Weigl, David M.

Date: Wednesday, 6 September 2023, 2:15pm to 3:45pm

Location: Main Campus, L 1.202 <campus:note>


Music encoding is an inherently interdisciplinary endeavour, bridging technological and musical scholarly perspectives, usually through collaboration of individuals from distinct and divergent academic backgrounds. We present mei-friend, a Web application that smooths the ground for such collaboration by simplifying and speeding up music encoding workflows, while flattening the difficulty curve experienced by those newly entering the field.

Originally developed as a plug-in for the Atom text editor, mei-friend has been redesigned and extended as an open-source, Web-native browser application, written in vanilla JavaScript. Verovio provides its music engraving engine, and CodeMirror its XML text editor. The application integrates important community resources, including the MEI schemas for autocompletion and validation, the MEI Guidelines for documentation, GitHub and Git Lab for collaborative encoding, and Solid for decentralised annotation sharing. Various music encoding formats may be imported into the application, from the local file system (optionally by drag-n-drop), from a Web location specified via URL, or through the Git cloud service integration. Edited encodings may be exported as rendered SVG, PDF, or MIDI. External sources – e.g., community tutorials, Git issues, Web discussion boards, or scholarly articles – may use hyperlinks with specified parameters to link into mei-friend, directing it to fork a given Git repository, open a specified encoding, flip to a particular page, or to select a set of musical elements, enhancing the application’s support for shared discussion and collaborative editing. Stand-off annotations employing the W3C Web Annotation Data Model and associated vocabularies may be authored and shared, supporting data-level integration with other Web applications.

Though guided by practical encoding requirements of the digital music research projects that have funded its development, the application has been designed with a firm eye on pedagogy, lowering barriers to entry and providing ease-of-use. Considerations include the removal of any installation or specific system requirements – all that is needed is a Web browser. Each editing function is available through graphical menus available in a growing number of languages, as well as via keyboard shortcuts, reducing language barriers and aiding discoverability while supporting optimised workflows for more experienced users. A dedicated ‘mei-friend Help’ website provides documentation of all basic and advanced functionalities, and describes how to contribute to mei-friend’s development. Beside the immediate visual feedback provided by the tightly-coupled integration of XML text and rendered notation, auditory feedback is provided by a built-in MIDI player, further facilitating the verification of encodings by novice users.

In this paper, we describe the application’s implementation and its functionalities, detailing design considerations and surfacing optimizations and extensions compared to the original Atom plugin described at the Music Encoding Conference 2021. We provide a practical evaluation reporting on experiences using mei-friend within a number of music-edition and research projects, and as a pedagogical tool used in MEI tutorials at conferences, project meetings, and in class-room use at different institutions. We conclude with an overview of current limitations, plans for future development, and a call for contributions to mei-friend’s development by community members.


Development of the mei-friend Web application is undertaken as part of the Signature Sound Vienna Project, funded by the Austrian Science Fund (FWF) P 34664-G; and supported by E-LAUTE, an international Weave Research (FWF/DFG/SNSF)-funded project (I 6019). The mei-friend Atom plugin package was developed as part of TROMPA, with funding from the European Union’s Horizon 2020 research and innovation programme H2020-EU. under grant agreement No 770376. We thank members of the MEI community, particularly Anna Plaksin, Thomas Weber, Oleksii Sapov, David Lewis, and Laurent Pugin for their contributions, feedback and suggestions.

Contribution Type