On 11/15/21, 10:21 AM, "lilypond-devel on behalf of Flaming Hakama by Elaine" <lilypond-devel-bounces+carl.d.sorensen+digest=gmail....@gnu.org on behalf of ela...@flaminghakama.com> wrote:
According to the semantics quoted several times, the denominator describes the length/duration of the unit, the numerator describes how many units are in the measure. There is some space for confusion in the LilyPond world. Moments represent a musical moment, an instant in time. But a moment is also used to represent a time interval between the current moment and the zero moment (such as the beginning of a measure). So a moment also can be used to represent an interval, as is applied in the time signature. I should have been more sensitive to this, because I created the BaseMoment property to be used in autobeaming; this property represents and interval starting at 0 and ending at the moment BaseMoment. In terms of semantics, numerals and note representation operate exactly the same. There is a 1-1 mapping between numbers interpreted as fractions of a whole note, and the graphical symbols used to represent those durations/lengths. What makes you say that tuplet notation is incorrect semantics by my classification? Do you think that "my classification" differs from the standard definition? <snip> * What is the best place to learn about the duration/moment topic? There's a little bit about timing in the Notation Reference: https://lilypond.org/doc/v2.23/Documentation/notation/special-rhythmic-concerns#time-administration This explains the use of the function ly:make-moment. The internals reference provides some information (I don't know if it's the best place to learn or not). The scheme function ly:make-moment shows how to create a moment (that can include both main and grace timing). The scheme function ly:make-duration shows how to create a duration, and states that "a duration is a musical duration, i.e. a length of time described by a power of two (whole, half, quarter, etc.) and a number of augmentation dots. With the lilypond definition of "duration", tuplets are clearly not durations. So it was wrong of me to indicate that LilyPond should consider the lower number on the time signature to be a duration. In LilyPond terms, I believe that the lower number on the time signature should be (and is) a moment -- meaning the time interval between the zero moment and the moment indicated by the lower number. So the time interval implied by a second number in the time signature is given by (ly:make-moment 1 second-number) if I understand correctly. Now, music expressions also have a length, even if they don't have a lilypond duration. And it is possible to get the length of a music expression and return it as a Moment using ly:music-length. So if it were possible to have the parser (or a music function) take two arguments for a time signature, with the first being an integer and the second being a music expression, it would be relatively straightforward to convert this into a reasonable time signature. What follows is pseudocode -- I'm not looking up the details to make sure it works, just getting a sketch (define-scheme-function newTimeSignatureFraction count mus)(integer? Music?) (let* (mom (ly:music-length mus)) (mn (moment-main-numerator mom)) (md (moment-main-denominator mom))) (cons (* mn count) md)) If IIUC, this function would do the following, given the input \newTimeSignatureFraction 5 {8.} 1. set mom to (3 16 0 0) 2. set mn to 3 3. set md to 16 4. return the fraction (15 . 16) Which I think is the right measureLength for the indicated time signature. Of course, to make this work according to the composer's intent, it's very likely that one would need to set the appropriate beat structure (3 3 3 3 3) in this case. And we'd wand to set the BaseMoment to 3/16 (which is actually the value of mom). I recognize that getting this to parse properly with \time may be a huge challenge, and may not be worth it. Thanks, Carl Elaine Alt 415 . 341 .4954 "*Confusion is highly underrated*" ela...@flaminghakama.com Producer ~ Composer ~ Instrumentalist ~ Educator -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-