W3C home > Mailing lists > Public > public-music-notation@w3.org > December 2016

Re: Semantically enhanced SVG (proposal)

From: James Ingram <j.ingram@netcologne.de>
Date: Mon, 5 Dec 2016 13:32:13 +0100
To: Nicolas Froment <nicolas@musescore.com>, public-music-notation@w3.org
Message-ID: <3999899e-12c6-56f8-785c-b6e462b8cbc6@netcologne.de>
Hi Nicolas,

Thanks for the links.

The SMAWS demo at
looks very like the Verovio demo at

As I said, I don't really understand how the Verovio demo works, but 
suspect that something very similar is going on under the hood.

I've read the intro at
scanned through the thread at
and taken a (fairly quick) look at the (well documented) code for the demo.

SMAWS links playback of an mp3 file to the SVG via timestamps stored in 
a WebVTT file and both id and custom data- attributes attached to event 
symbols (called "notes") in the SVG.

It uses native HTML (<audio><track>) playback, which means that accurate 
synchronisation is a problem.

WebVTT (the Web Video Text Tracks format)

This is not actually a W3C draft standard. The "Status of this document" at
makes that very clear:
> It is not a W3C Standard nor is it on the W3C Standards Track.

The WebVTT document is itself interesting. Its the kind of thing that 
the W3C Music Notation CG might eventually publish. Its not really 
important that we create a W3C standard.

WebVTT's "main use is for marking up external text track resources in 
connection with the HTML <track> element", so it can obviously store 
sequences of timestamps that can trigger arbitrary events. But I think 
it is bound also to include redundant text pointers when used to trigger 
changes in the SVG display.
I think we need something simpler, and that accurate synchronisation is 
always going to be a problem in HTML.

Bear in mind that semantically enhanced SVG files could also be used by 
non-browser applications, so we ought to go for maximum accuracy. I 
think garbage collection interruptions may always be a problem when 
playing large scores in browsers. Maybe I'm wrong.

Musescore's SVG output (Qt)

I see from the thread at
that musescore uses a Qt SVG generator:
This is a general purpose library, used by many applications, musical 
and otherwise.

I think it should be possible to create a (non-commercial) solution that 
replaces the Qt library and includes (musical) semantic info.That 
solution could either be built on top of something that is more 
generally useful, or be a standard library for use only by music 
notation applications.

I'm really looking for a solution that works for _all_ notations, but 
MEI/Verovio seems to be a very good place to start, so I'm going to 
continue this thread on the MEI list:


Am 30.11.2016 um 18:32 schrieb Nicolas Froment:
> Hi,
> I just want to mention that MuseScore is currently exporting simple 
> SVG. However, a contributor is working on SVG+WebVTT export. I don't 
> know the details but it seems WebVTT is a W3C draft standard 
> https://w3c.github.io/webvtt/ and can link SVG ids and time. It might 
> be worth investigating.
> There are several posts on the musescore.org <http://musescore.org> 
> forum. Here is an introduction: https://musescore.org/en/node/84576
> Nicolas

Received on Monday, 5 December 2016 12:33:22 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:33:07 UTC