MELD 2.0 release announcement

MELD 2.0 release announcement

11/05/2021

The MELD development team are pleased to announce version 2.0 of the open source Music Encoding and Linked Data framework. MELD is a flexible software platform used by several research projects to combine digital representations of music – such as audio and notation – with contextual and interpretive knowledge in the Semantic Web.

Changes behind the scenes make it easier to develop MELD apps alongside MELD-clients-core, which has been brought up to date with current libraries and practice. A major piece of additional functionality is the ability to use Solid pods as privacy-respecting, distributed, stores of MELD annotations.

This release also brings additional functionality, interactions, and visualisations through several new MELD apps. The TROMPA project utilise the power of their Solid extensions in the ‘Companion for Long-term Analyses of Rehearsal Attempts’ (CLARA), and the Music Scholars’ Score Annotator. While Unlocking Musicology worked with the New York Philharmonic Archives on ‘Listening through Time’, and new touch screen-centric visualisations in the ‘Lohengrin TimeMachine’, a digital companion to a musicological study of leitmotifs in Wagner’s opera.

Many existing MELD apps have also been updated; other developers using the framework will want to refresh their apps to maintain compatibility. A summary changelog can be found below, with further information about the framework available on the new MELD website.

Summary changelog (for developers)

Graph traversal:

  • Deprecate old (pre-v1.0.0) traversal functions
  • Refactor traversal options for JSON-LD and RDF serialisations
  • Skolemize blank nodes during traversal to prevent (bnode) identifier clashes across multiple documents
  • Improvements to traversal engine efficiency
  • Add traversalPool reducer for improved traversal management
  • Simplify mechanism for checking for processing completion of traversal outcomes
  • Rename parameters for traversal constraint specification; warn and map when old names are used
  • Update timeSensitiveImage component to use MELD traversal engine

New components:

  • Essay, EssayLinks (TEI)
  • Video, VideoLinks
  • Orchestral ribbon

Updated components:

  • Add caching support and improve performance of Score component
  • Improved Verovio options tracking and setting for Score reducer
  • Add onScroll callback to TEI component
  • Fork Carousel component to support newer react version

Solid pods and authentication:

  • Integrate solid-auth-client to support authenticated HTTP access to Solid pods
  • Ensure HTTP POSTed resources (e.g., Web Annotations) are not blank nodes

Other updates and functionality changes:

  • Support running callback functions after postAnnotation calls
  • Add hooks to annotate scores at render time
  • Add prefix file
  • Update versions of all core dependencies, most notably react, redux, babel, jsonld