Re: MusicXML and MIDI

I don't want to propose a full solution to this problem yet, given the huge
design issues on the table concerning notation vs performance data (some of
which are described in the pages just shared with the CG). I do have a few
thoughts to add here.

There are as many *three* conceptual durations that can apply to a note:
1/ A notated duration (this is obviously semantic -- it's written as an
8th, 16th, whatever) supplied as the <type> child of a note.

2. An *intended* value (this is less obviously semantic data, but it still
is semantic and not performance). For example, Baroque "French" dotted
rhythms, understood to be interpreted as double-dotted although there's
only a single dot.  This is the concept behind the "duration" attribute.
Usually it matches <type> and <dots> except in these unusual cases.

3. Durations pertaining to actual performances. The MusicXML schema
suggests that "attack" and "release" be used to encode these.

I think that a high resolution time does make sense for the last kind of
duration. Divisions in MusicXML are semantic units that relate to metrical
time, not performance time.

Furthermore this "actual performance data" may ultimately not belong as
data that is bundled along with notes in this way. This approach may not be
flexible enough, for instance at measure boundaries, or when a passage of
multiple notes can maps onto multiple performed notes in a complex way.

I note that MEI also addresses this question by supply a variety of
different timestamps for musical events, including both metrical (notated)
time and other assorted time bases; some tick-based (as with MIDI) and some
millisecond-based. However it is not clear to me how these time bases are
reconciled or what conventions exist for knowing which timestamps can be
relied on to be present in various situations. Perhaps someone from the MEI
community can speak to this.

Finally, about the divisions-accuracy problem. I believe this issue will go
away if we agree that something like divisions are to be used for metrical
time only, and decide on a more appropriate unit (256ths of a quarter note,
or whatever) for performance resolution. If we do that, then it would be
good define a new way of working with metrical time that does not require
the exact divisibility of the divisions number by all the various tuplet
ratios in a piece (a problem that can require absurdly large values and
annoying passes over the entire piece, and which has caused at least one
development team -- not ours! -- to just punt and always make it 256). I
have a proposal for that problem, but I will describe it separately to
avoid burying it inside this discussion.

...Joe

.            .       .    .  . ...Joe

Joe Berkovitz
President
Noteflight LLC

+1 978 314 6271

49R Day Street
Somerville MA 02144
USA

"Bring music to life"
www.noteflight.com

On Wed, Apr 6, 2016 at 9:30 AM, mogens@lundholm.org <mogens@lundholm.org>
wrote:

> Hi all
>
> About duration in milliseconds:
>
> Duration in Midi is simple and so is the basic principle in MusicXML. But
> a mix of duration in divisions
> and in milliseconds may be complicated. MusicXML is exact - e.g. you may
> have a division of 4, but adds a triol.
> This is done by a division of 12 (or alike). This is exact. In Midi
> duration is not exact and more than that:
> Notes are a little to short, because there must be a little pause between
> them to hear a new note start.
> A MusicXML-player must insert an adequate delay.
>
> After a milliseconds delay, how to synchronise? What about <backup> and
> <forward>? To synchronise,
> you need to compute delays and the result will not be exact. The same tune
> may be quite different due
> to rounding. Also will the millisecond delay not fit measures and tied
> notes.
>
> And how to add tempo changes - with the millisecond note suddenly crossing
> the measure limit. Should
> the milliseconds be modified? Still a computation is needed, the note may
> cross the measure and
> must be tied. And how should the tie be made? Mix of divisions and
> milliseconds?
>
> And how to write the note in the note sheet and so on ...
> I think that this should be studied carefully before any change.
>
> Mogens
>
> PS: Se also Jamie Gabriels comments. Sibilius might not be exact as Jamie
> writes - but Musescore and Finale are.
>
>
> On 2016-04-06 11:10, James Ingram wrote:
>
>> Proposal:
>> MusicXML should allow durations to be defined simply as milliseconds.
>>
>>
>
>

Received on Wednesday, 6 April 2016 14:41:16 UTC