[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TimeSignature with note in denominator
From: |
Carl Sorensen |
Subject: |
Re: TimeSignature with note in denominator |
Date: |
Mon, 15 Nov 2021 18:46:58 +0000 |
User-agent: |
Microsoft-MacOutlook/10.10.1b.201012 |
On 11/15/21, 10:21 AM, "lilypond-devel on behalf of Flaming Hakama by Elaine"
<lilypond-devel-bounces+carl.d.sorensen+digest=gmail.com@gnu.org on behalf of
elaine@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*"
elaine@flaminghakama.com
Producer ~ Composer ~ Instrumentalist ~ Educator
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- Re: TimeSignature with note in denominator, (continued)
Re: TimeSignature with note in denominator, Flaming Hakama by Elaine, 2021/11/15
Re: TimeSignature with note in denominator, Flaming Hakama by Elaine, 2021/11/15
Re: TimeSignature with note in denominator, Aaron Hill, 2021/11/15
Re: TimeSignature with note in denominator,
Carl Sorensen <=
Re: TimeSignature with note in denominator, David Kastrup, 2021/11/15
Re: TimeSignature with note in denominator, Flaming Hakama by Elaine, 2021/11/26
Re: TimeSignature with note in denominator, David Kastrup, 2021/11/27
Re: TimeSignature with note in denominator, Jean Abou Samra, 2021/11/15
Re: TimeSignature with note in denominator, Flaming Hakama by Elaine, 2021/11/26