{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/mnx/issues/129","repository_url":"https://api.github.com/repos/w3c/mnx","labels_url":"https://api.github.com/repos/w3c/mnx/issues/129/labels{/name}","comments_url":"https://api.github.com/repos/w3c/mnx/issues/129/comments","events_url":"https://api.github.com/repos/w3c/mnx/issues/129/events","html_url":"https://github.com/w3c/mnx/issues/129","id":328075325,"node_id":"MDU6SXNzdWUzMjgwNzUzMjU=","number":129,"title":"The <event> duration attribute specification","user":{"login":"notator","id":1655500,"node_id":"MDQ6VXNlcjE2NTU1MDA=","avatar_url":"https://avatars0.githubusercontent.com/u/1655500?v=4","gravatar_id":"","url":"https://api.github.com/users/notator","html_url":"https://github.com/notator","followers_url":"https://api.github.com/users/notator/followers","following_url":"https://api.github.com/users/notator/following{/other_user}","gists_url":"https://api.github.com/users/notator/gists{/gist_id}","starred_url":"https://api.github.com/users/notator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/notator/subscriptions","organizations_url":"https://api.github.com/users/notator/orgs","repos_url":"https://api.github.com/users/notator/repos","events_url":"https://api.github.com/users/notator/events{/privacy}","received_events_url":"https://api.github.com/users/notator/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-05-31T10:03:46Z","updated_at":"2018-06-06T10:12:14Z","closed_at":null,"author_association":"NONE","body":"Edit 05.06.2018: I've been continually revising this posting since it first appeared, but have not been tracking the changes because a) there have not yet been any responses, and b) previous versions are available from the \"edited\" menu if anyone really wants to see them.\r\n\r\n---\r\n\r\nThe `<event> duration` attribute is a very important addition to the spec. It makes an explicit distinction between how a symbol looks and what it means, and is a very elegant way to code (Baroque) notations that existed before tuplets were invented. But I think its documentation in the spec (at the [end of §5.2.5.1](https://w3c.github.io/mnx/specification/#element-attrdef-event-duration)) could be improved.\r\n\r\nJust above Example 23 (in §5.2.5.1), the spec says (1):\r\n> This attribute is unlikely to be frequently encountered, but is needed to handle cases in which composers employ notated values that are not interpreted literally. Some examples follow.\r\n\r\nJust below Example 23, the spec says (2):\r\n> Because duration must be specified as a legal note value multiple, an enclosing tuplet element may be required in some cases to impose an appropriate time modification ratio.\r\n\r\nThese need re-phrasing and reorganising.\r\n1. I don't think the spec should say how often this feature is likely to be used. If composers want to use an available feature, they will.\r\n2. There is currently only one example (the \"Brahms\"). I think we need some more.\r\n3. (2) could be simplified, and belongs above (1)\r\n\r\nSo I'd replace (1) by:\r\n>Note that an enclosing tuplet element will, as usual, superimpose an appropriate time modification ratio.\r\n\r\n>This attribute is needed to handle Baroque notations, and cases in which composers want to override the default durations of the notated symbols.\r\nSome examples follow.\r\n\r\nand delete (2).\r\n\r\nAll examples from the literature should be clearly identified.\r\nI've been unable to discover where the current \"Brahms\" example\r\n![image](https://user-images.githubusercontent.com/1655500/40970738-bfa56180-68bb-11e8-8664-53e07c597700.png)\r\noriginates, but it first occurs [here (in issue 79)](https://github.com/w3c/mnx/issues/79#issuecomment-373517641). So the sentence\r\n> One case occurs in Brahms, in which a dotted half is used to specify a note that is traditionally understood as occupying the space of 11 sixteenth notes:\r\n\r\nneeds to be re-phrased and put with the \"Brahms\" Example:\r\n>Derived from a Brahms Example -- quoted in [Hook](http://www.mtosmt.org/issues/mto.11.17.4/mto.11.17.4.hook.html)(?)\r\n>Here, a dotted half-note is used to specify a note that usually occupies the space of 11 sixteenth notes \r\n\r\n---\r\n**suggestions for other examples**\r\n\r\nI think it would help if some more examples from #79 were included. Especially the two Bach examples and the [Schumann](https://github.com/w3c/mnx/issues/79#issuecomment-373510892) (which is especially interesting because it involves tuplets).\r\n\r\nI'd start the examples with Bach:\r\n\r\nJ.S. Bach: from the Sarabande in Partita BWV 829\r\nThe top voice in the first bar of\r\n![image](https://user-images.githubusercontent.com/1655500/40845514-37bdceb2-65b7-11e8-8f09-747b6f72b3a0.png)\r\nwould be coded like this (total 3/4 = 12/16):\r\n```\r\n<sequence>\r\n  <event value=\"/4\">\r\n    <note pitch=\"F5\"/>\r\n  </event>\r\n  <event value=\"/4d\" duration=\"7/16\">\r\n    <note pitch=\"B4\"/>\r\n  </event>\r\n  <event value=\"/8\" duration=\"1/16\">\r\n    <note pitch=\"E5\"/>\r\n  </event>\r\n</sequence>\r\n```\r\n--\r\nJ. S. Bach, from Die Kunst der Fuge, 1749-50\r\nThe top voice in the first bar of\r\n![image](https://user-images.githubusercontent.com/1655500/40846401-ccdbd032-65b9-11e8-8269-9de6b91a9900.png)\r\nwould be coded like this (in 12/16 time)\r\n```\r\n<sequence>\r\n  <beamed value=\"6/16\">\r\n    <event value=\"/16d\" duration=\"1/8\">\r\n      <note pitch=\"F5\"/>\r\n    </event>\r\n    <event value=\"/32\" duration=\"1/16\">\r\n      <note pitch=\"D5\"/>\r\n    </event>\r\n    <event value=\"/16d\" duration=\"1/8\">\r\n      <note pitch=\"A4\"/>\r\n    </event>\r\n    <event value=\"/32\" duration=\"1/16\">\r\n      <note pitch=\"D5\"/>\r\n    </event>\r\n  </beamed>\r\n  <beamed value=\"6/16\">\r\n    <event value=\"/16\" duration=\"3/32\">\r\n      <note pitch=\"F5\"/>\r\n    </event>\r\n    <event value=\"/16\" duration=\"3/32\">\r\n      <note pitch=\"G5\"/>\r\n    </event>\r\n    <event value=\"/16\" duration=\"3/32\">\r\n      <note pitch=\"F5\"/>\r\n    </event>\r\n    <event value=\"/16\" duration=\"3/32\">\r\n      <note pitch=\"E5\"/>\r\n    </event>\r\n  </beamed>\r\n</sequence>\r\n```\r\nIts really great, that we now have a simple, elegant solution for notating music that does not use tuplets! :-)\r\n\r\n**Refactoring proposal**: I think `<beamed>`'s **`value`** attribute should actually be called `duration`. The [`<beamed>` definition](https://w3c.github.io/mnx/specification/#the-beamed-element) is actually rather unlear about the attribute's type (**please clarify**), but it is either a [_**note value quantity**_](https://w3c.github.io/mnx/specification/#note-value-quantity) (like a time-signature) or a simple Rational. It is definitely not a [_**note value**_](https://w3c.github.io/mnx/specification/#note-values) (like `<event>`'s **`value`** attribute).\r\n**Correction/Suggestion**: I think a _**note value quantity**_ should always have a numerator, so [the single eighth-note example](https://w3c.github.io/mnx/specification/#note-value-quantity) should be \"1/8\", not \"/8\".\r\n\r\n--\r\nSchumann, Bar 7 of Bunte Blätter, Op. 99, No. 2  (quoted in [Hook](http://www.mtosmt.org/issues/mto.11.17.4/mto.11.17.4.hook.html))\r\n![issue79schumann](https://user-images.githubusercontent.com/1655500/40969077-48d7e1f8-68b7-11e8-88d3-0a92be2911d5.png)\r\nAccording to the time signature, this piece is in 2/4 time.\r\nIf the eighth-notes in the top top voice were not tuplets, they could be allocated the following  durations: 3/32,  2/32, 3/32, 3/32, 2/32, 3/32.\r\nThe durations are, however, triplets (enclosed in `<tuplet>` elements), so each inner duration has to be multiplied by 3/2, resulting in the following duration sequence:\r\n9/64, 3/32, 9/64, 9/64, 3/32, 9/64.\r\nSchumann could have notated such durations directly, but it would have made the graphics very complicated and difficult to read - especially at speed.\r\nNote that the _live interpretation_ of scores relates not only to the information they contain, but also to traditions of _live performance practice_ (see [Hook](http://www.mtosmt.org/issues/mto.11.17.4/mto.11.17.4.hook.html)).\r\nThe top voice of this measure can thus be coded as follows:\r\n```\r\n<sequence>\r\n  <beamed>\r\n    <tuplet inner=\"3/8\" outer=\"1/4\">\r\n      <event value=\"/8\" duration=\"9/64\">\r\n        <note pitch=\"G4\"/>\r\n      </event>\r\n      <event value=\"/8\" duration=\"3/32\">\r\n        <note pitch=\"F4\"/>\r\n      </event>\r\n      <event value=\"/8\" duration=\"9/64\">\r\n        <note pitch=\"G4\"/>\r\n      </event>\r\n    </tuplet>\r\n  </beamed>\r\n  <beamed>\r\n    <tuplet inner=\"3/8\" outer=\"1/4\">\r\n      <event value=\"/8\" duration=\"9/64\">\r\n        <note pitch=\"A4\"/>\r\n      </event>\r\n      <event value=\"/8\" duration=\"3/32\">\r\n        <note pitch=\"G#4\"/>\r\n      </event>\r\n      <event value=\"/8\" duration=\"9/64\">\r\n        <note pitch=\"A4\"/>\r\n      </event>\r\n    </tuplet>\r\n  </beamed>\r\n</sequence>\r\n```\r\n\r\n---\r\n**duration overriding**\r\n\r\nWhile the `<event>` duration attribute affects both the duration and the _spacing_ of events in an instantiation, a related `<performance-event>` duration attribute only affects the duration.\r\nIf both the `<event>` duration attribute is specified _and_ there is a related `<performance-event>`, the  `<performance-event>`'s duration would probably override the performed duration, without changing the spacing. This is something that should be covered in the Draft Spec.\r\n\r\nExample 35 in [§5.2.13.1](https://w3c.github.io/mnx/specification/#the-interpret-element) shows how to describe a \"swing\" performance without affecting the spacing of the symbols:\r\n```\r\n<beamed>\r\n  <event value=\"/8\">\r\n    <note pitch=\"C4\"/>\r\n  </event>\r\n  <event value=\"/8\">\r\n    <note pitch=\"D4\"/>\r\n  </event>\r\n  <interpret>\r\n    <performance-event start=\"0\" duration=\"1/6\" pitch=\"C4\"/>\r\n    <performance-event start=\"1/6\" duration=\"1/12\" pitch=\"D4\"/>\r\n  </interpret>\r\n</beamed>\r\n```\r\nUsing <event> duration attributes rather than `<interpret>` and `<performance-event>`, the spacing would also be affected:\r\n```\r\n<beamed>\r\n  <event value=\"/8\" duration=\"1/6\">\r\n    <note pitch=\"C4\"/>\r\n  </event>\r\n  <event value=\"/8\" duration=\"1/12\">\r\n    <note pitch=\"D4\"/>\r\n  </event>\r\n</beamed>.\r\n```\r\nIf _both_ are present the `<event> duration` values determine the spacing, but the `<performance-event> duration` values determine the durations :\r\n```\r\n<beamed>\r\n  <event value=\"/8\" duration=1/6>\r\n    <note pitch=\"C4\"/>\r\n  </event>\r\n  <event value=\"/8 duration=\"1/12\">\r\n    <note pitch=\"D4\"/>\r\n  </event>\r\n  <interpret>\r\n    <performance-event start=\"0\" duration=\"9/48\"/>\r\n    <performance-event start=\"1/6\" duration=\"3/48\"/>\r\n  </interpret>\r\n</beamed>\r\n```\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/w3c/mnx/issues/comments/395018438","html_url":"https://github.com/w3c/mnx/issues/129#issuecomment-395018438","issue_url":"https://api.github.com/repos/w3c/mnx/issues/129","id":395018438,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NTAxODQzOA==","user":{"login":"notator","id":1655500,"node_id":"MDQ6VXNlcjE2NTU1MDA=","avatar_url":"https://avatars0.githubusercontent.com/u/1655500?v=4","gravatar_id":"","url":"https://api.github.com/users/notator","html_url":"https://github.com/notator","followers_url":"https://api.github.com/users/notator/followers","following_url":"https://api.github.com/users/notator/following{/other_user}","gists_url":"https://api.github.com/users/notator/gists{/gist_id}","starred_url":"https://api.github.com/users/notator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/notator/subscriptions","organizations_url":"https://api.github.com/users/notator/orgs","repos_url":"https://api.github.com/users/notator/repos","events_url":"https://api.github.com/users/notator/events{/privacy}","received_events_url":"https://api.github.com/users/notator/received_events","type":"User","site_admin":false},"created_at":"2018-06-06T10:12:14Z","updated_at":"2018-06-06T10:12:14Z","author_association":"NONE","body":"Sorry, but I was away while you were discussing this.\r\n\r\n>Please break out a different issue for changing value to duration in the <beamed> element\r\n\r\nWill do.\r\n\r\n>Once that's resolved, create a pull request for this issue that applies the editorial rewording you feel would be helpful along with the additional Bach example.\r\n... please remove and break out any material here relating to performance event duration overriding.\r\n\r\nIt would be best to resolve the following points before I make the pull request:\r\n1. The four examples: \"Brahms\", Bach Saraband, Bach Kunst d. F., and Schumann, illustrate progressively complex situations, so they could be put in that order. The Schumann illustrates the coding of both beams and tuplets so, if there's only space for one of them in the main text, then it ought to be the Schumann. Possibly the remaining examples should go in some kind of Appendix? How would you like to do this?\r\n\r\n2. Do you agree that performance-event duration overrides event duration?\r\n\r\nThe Bach Kunst d.F. example: The groups of three sixteenths could, of course be coded as hidden tuplets (without bracket or number indication), but there's no reason to do so. Adding hidden triplets means that one also has to multiply the contained duration attributes by 3/2. The net result is unnecessary complication since the same durations are expressed by doing neither. The measure duration is all that needs to be considered here. The time signature might affect performance practice (beat emphasis -- the difference between 3/4 and 6/8), but I think that's beyond the scope of the current spec.\r\n\r\n> It's not quite the case to say that duration removes the need for tuplets.\r\n\r\nAgreed. Tuplets are required whenever one wants to have a small number and/or bracket written above the notes. But I can't see any reason for using _hidden_ tuplets.\r\nThe event duration attribute provides a powerful alternative to using tuplets, when describing durations that are not the `note value` defaults, and I can well imagine its extensive use without the use of `<tuplet>` elements. As folows:\r\nThe fact that the event duration attribute is at the event level (as opposed to tuplets, that apply to groups of notes) means that both durations _and spacing_ can be very flexibly organised.\r\nFor example, two parallel parts in a 1/4 (=250/1000) duration can be allocated the durations:\r\n23/1000, 58/1000, 169/1000\r\nand\r\n31/1000, 47/1000, 23/1000, 51/1000, 98/1000\r\nThese durations would be spaced left-right by the instantiating application, as if the notes were enclosed in the appropriate (hidden) tuplets.\r\nHowever, hidden tuplets are not really an option in this case, since the actual `note value` s would be prohibitively complicated!"}}
{"actor":{"display_login":"notator"}}