Re: [proposal] easy triplets and tuplets - Draft 3
Joseph Rushton Wakeling writes: > On 10/10/2012 09:52 AM, David Kastrup wrote: >> However, forcing a certain form of input representation for a certain >> form of output is a nuisance for programmatically generated music. >> >> I'd rather recommend using something separate like >> \tupletStyle "3:2", \tupletStyle "3", \tupletStyle "". > > That's fair enough, but I'm still inclined to think that whatever the > display style used, there may be some value in allowing tuplets to be > entered not just as ratios of numbers, but as ratios of musical > durations: e.g. {8*7}/{4*3}, or {16*6}/{8.~8}. For that kind of special application, a specially and separately named tuplet command taking several durations as argument would be appropriate rather than trying to cram everything into the standard command. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/10/2012 09:52 AM, David Kastrup wrote: However, forcing a certain form of input representation for a certain form of output is a nuisance for programmatically generated music. I'd rather recommend using something separate like \tupletStyle "3:2", \tupletStyle "3", \tupletStyle "". That's fair enough, but I'm still inclined to think that whatever the display style used, there may be some value in allowing tuplets to be entered not just as ratios of numbers, but as ratios of musical durations: e.g. {8*7}/{4*3}, or {16*6}/{8.~8}. Note that unlike my earlier suggestion I'm _not_ proposing this as a way to force a particular display style, although it might be useful in _enabling_ some display choices (hope that distinction is clear). ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/10 Werner LEMBERG : > >> I'd rather recommend using something separate like >> \tupletStyle "3:2", \tupletStyle "3", \tupletStyle "". > > This is an excellent idea. And it is cheap, it admits a single string argument. -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Werner LEMBERG writes: >>> It is a matter of fact that triplets are either marked with a >>> single digit, or with a ratio like `4:3'. I think it is not too >>> far stretched to expect that lilypond should follow such >>> conventions even in the input. >> >> I disagree. [...] > > Good arguments, David! > >> Now where is the point in making a single command deviate from that >> convention, data structure, input syntax and general support inside >> of LilyPond? How does this make LilyPond easier to comprehend? > > Playing the advocatus diaboli: I wouldn't mind if we say > > \time 3:4 > > At least in Germany and Austria a division gets indicated by `3:4' or > `3/4'. But of course `:' is already in use for tremolos... That's the point. The current design follows choices taken a long time ago. If the choices would have been different, we might have ended up with 3:4. I am not opposed to 3:4 based on its visual aesthetics viewed in isolation, whether we are talking about \time or \tuplet. And 3:4 would have less potential for confusion with #3/4 (not a number pair or fraction, but rather a rational number properly embedded into Guile's numeric stack). But in the design of LilyPond, a number of design decisions have been taken forming the language, and side-stepping this design is expensive. It would probably be less annoying for everybody if I stated flatly "this is impossible" in such cases. But of course, one can always bolt on a few exceptions and overrides before things start really breaking apart. So I start panicking whenever people make really expensive proposals. Part of the saving grace is, of course, that somebody has to actually implement things. But it is not rare that a 90% solution can be hacked up pretty fast, and then the pressure mounts: "somebody else did 90% of the work, why do you refuse to fill in the missing 10% if you are convinced that there is something missing? And don't you dare break any of the 90% with unrelated work." And it is not that this sort of thing does not happen. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
> I'd rather recommend using something separate like > \tupletStyle "3:2", \tupletStyle "3", \tupletStyle "". This is an excellent idea. Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
>> It is a matter of fact that triplets are either marked with a >> single digit, or with a ratio like `4:3'. I think it is not too >> far stretched to expect that lilypond should follow such >> conventions even in the input. > > I disagree. [...] Good arguments, David! > Now where is the point in making a single command deviate from that > convention, data structure, input syntax and general support inside > of LilyPond? How does this make LilyPond easier to comprehend? Playing the advocatus diaboli: I wouldn't mind if we say \time 3:4 At least in Germany and Austria a division gets indicated by `3:4' or `3/4'. But of course `:' is already in use for tremolos... Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Werner LEMBERG writes: >>> We are talking about writing \tuplet 3:2 { ... } instead of \tuplet >>> 3/2 { ... } here. Whether tuplets are central or not, this >>> single-character difference is purely cosmetic, and it is >>> well-known that obsessive-compulsive cosmetic surgery is not >>> exactly guaranteed to maximize the obtained output of beauty. >> >> Uh, it /sounds like/ you're suggesting that Werner has >> obsessive-compulsive disorder. > > No, it doesn't. Just think of who is going to do the surgery :-) > > Regarding the cosmetics, I think we should always think of the user: > It is a matter of fact that triplets are either marked with a single > digit, or with a ratio like `4:3'. I think it is not too far > stretched to expect that lilypond should follow such conventions even > in the input. If you want a version working _without_ surgery, let \tuplet _alternatively_ accept a _quoted_ _string_ "4:3" as argument. \tuplet will then need to parse this string itself. If you want to be cute, override the printing method for tuplet numbers to show "4:3" in this case. However, forcing a certain form of input representation for a certain form of output is a nuisance for programmatically generated music. I'd rather recommend using something separate like \tupletStyle "3:2", \tupletStyle "3", \tupletStyle "". I have _no_ problem with : in _this_ context since it now does not represent a musical/mathematical concept but indeed a graphical representation. In fact, I would _protest_ against using \tupletStyle "3/2" for creating a 3:2 tuplet number. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Werner LEMBERG writes: >>> We are talking about writing \tuplet 3:2 { ... } instead of \tuplet >>> 3/2 { ... } here. Whether tuplets are central or not, this >>> single-character difference is purely cosmetic, and it is >>> well-known that obsessive-compulsive cosmetic surgery is not >>> exactly guaranteed to maximize the obtained output of beauty. >> >> Uh, it /sounds like/ you're suggesting that Werner has >> obsessive-compulsive disorder. > > No, it doesn't. Just think of who is going to do the surgery :-) > > Regarding the cosmetics, I think we should always think of the user: > It is a matter of fact that triplets are either marked with a single > digit, or with a ratio like `4:3'. I think it is not too far > stretched to expect that lilypond should follow such conventions even > in the input. I disagree. We don't write whole, half, and quarter notes as O, d and *| in spite of superficial visual resemblances. There is always a mapping involved between musical notation and LilyPond notation. This mapping should be straightforward and predictable: users should have a good chance, however flimsy, to guess how a certain musical construct will map to LilyPond. If the LilyPond language is one amorphous mass of graphs loosely picked based on visual similarity, this is quite less likely than if the LilyPond language is composed of a finite set of recognizable, consistent, and reasonably expressive elements. It is _exactly_ because I am thinking of the user that I don't want to open a new bag of syntax for every command. With the (somewhat positively acclaimed) proposal of letting standalone durations work for expressing a note pitch repeat, 4:16 is already a quarter note with tremolo repeat. Now people want it to be a fraction as well, but only when used as an argument to \tuplet. A pair of numbers used for expressing a positive ratio _not_ in shortest terms is an idiom expressed as 3/4 in LilyPond. We even have a "fraction?" predicate for this idiom, and we have a consistent input syntax across all modes, to the degree where in ly/engraver-init.ly you'll find lines like timeSignatureFraction = 4/4 Now where is the point in making a single command deviate from that convention, data structure, input syntax and general support inside of LilyPond? How does this make LilyPond easier to comprehend? -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
>> We are talking about writing \tuplet 3:2 { ... } instead of \tuplet >> 3/2 { ... } here. Whether tuplets are central or not, this >> single-character difference is purely cosmetic, and it is >> well-known that obsessive-compulsive cosmetic surgery is not >> exactly guaranteed to maximize the obtained output of beauty. > > Uh, it /sounds like/ you're suggesting that Werner has > obsessive-compulsive disorder. No, it doesn't. Just think of who is going to do the surgery :-) Regarding the cosmetics, I think we should always think of the user: It is a matter of fact that triplets are either marked with a single digit, or with a ratio like `4:3'. I think it is not too far stretched to expect that lilypond should follow such conventions even in the input. Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Janek Warchoł writes: > On Wed, Oct 10, 2012 at 12:00 AM, David Kastrup wrote: >>> I'm not sure about the validity of your conclusion. Writing tuplets >>> is such a central element of inputting music that a special treatment >>> is probably justified, even at the cost of hardwiring. >> >> We are talking about writing \tuplet 3:2 { ... } instead of \tuplet 3/2 >> { ... } here. Whether tuplets are central or not, this single-character >> difference is purely cosmetic, and it is well-known that >> obsessive-compulsive cosmetic surgery is not exactly guaranteed to >> maximize the obtained output of beauty. > > Uh, it /sounds like/ you're suggesting that Werner has > obsessive-compulsive disorder. > > I'm pretty sure that's you didn't mean this, but it might be worth > clarifying. Well, I already met Werner in an ice parlor in Dortmund. I hope I am not overstepping the boundaries of politeness by expressing my belief that I don't consider it likely that he has subjected himself to anything approaching obsessive-compulsive amounts of cosmetic surgery, so I hope I have not touched a sensitive spot here. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Clefs and transposition [was: Re: [proposal] easy triplets and tuplets - Draft 3]
On Wed, Oct 10, 2012 at 3:15 AM, Joseph Rushton Wakeling wrote: > On 10/10/2012 12:08 AM, Joseph Rushton Wakeling wrote: >> [] > > All of this (and what follows) seems rather aggressive and blunt on a second > reading -- wasn't meant to be. Apologies. :-\ No problem, i didn't consider it offensive. I suppose we have to agree to disagree - you haven't convinced me (while i'm all for defining standards, i still want them to be notated explicitely), and i probably won't convince you. cheers, Janek :) ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On Wed, Oct 10, 2012 at 12:00 AM, David Kastrup wrote: >> I'm not sure about the validity of your conclusion. Writing tuplets >> is such a central element of inputting music that a special treatment >> is probably justified, even at the cost of hardwiring. > > We are talking about writing \tuplet 3:2 { ... } instead of \tuplet 3/2 > { ... } here. Whether tuplets are central or not, this single-character > difference is purely cosmetic, and it is well-known that > obsessive-compulsive cosmetic surgery is not exactly guaranteed to > maximize the obtained output of beauty. Uh, it /sounds like/ you're suggesting that Werner has obsessive-compulsive disorder. I'm pretty sure that's you didn't mean this, but it might be worth clarifying. > In the end, LilyPond needs to fit together like a fugue; local > beautification without consideration of the whole is painting yourself > into corners that become increasingly harder to get out of again. +1 Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Clefs and transposition [was: Re: [proposal] easy triplets and tuplets - Draft 3]
On 10/10/2012 12:08 AM, Joseph Rushton Wakeling wrote: Yes, definitely a bad idea. Use 8va. brackets instead when you want to send everything up an octave like that. It was fine for _you_ because you wrote it and knew what you wanted anyway, but it would have probably been confusing for anyone else who had to read it, at least at initial glance. Anyway, _most_ of the time you shouldn't need to do any such octave shifts -- it's only at the very extreme upper end of the instrumental register (and sometimes lower, e.g. on piano) that you would bother. All of this (and what follows) seems rather aggressive and blunt on a second reading -- wasn't meant to be. Apologies. :-\ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Clefs and transposition [was: Re: [proposal] easy triplets and tuplets - Draft 3]
On 10/09/2012 05:23 PM, Janek Warchoł wrote: As for transposing clefs, i play guitar a bit myself, and i have once typeset a piece using both G and G_8 clefs. Maybe it was a bad idea, but for me it was perfectly fine. Yes, definitely a bad idea. Use 8va. brackets instead when you want to send everything up an octave like that. It was fine for _you_ because you wrote it and knew what you wanted anyway, but it would have probably been confusing for anyone else who had to read it, at least at initial glance. Anyway, _most_ of the time you shouldn't need to do any such octave shifts -- it's only at the very extreme upper end of the instrumental register (and sometimes lower, e.g. on piano) that you would bother. It seems that our opinions on this subject are totally opposite. While i definitely agree that the important thing is that performers don't have to worry about this issue, in my opinion the *only* way to ensure this is to state clef transpositions explicitely. After all, it doesn't cost you anything to write them. No, the only way to do it is to ensure that you have a well-defined standard for how music is written for a given instrument, and ensure that composers, publishers etc. know these standards and use them. To a large extent that's what happens, but there are grey areas round some edges, usually where you're seeing new areas of technique or even new instruments introduced. Insisting on a strict employment of \treble or \treble_8 is in practice a good way to increase the number of grey areas rather than reduce them, because it increases the likelihood of multiple different non-uniform practices, and also simply of errors -- errors in writing the part, and errors in playing it, because \treble and \treble_8 are not visually distinct enough for a musician reading the piece in real time. In any case the player shouldn't have to face the question because as a matter of course they should never encounter two clefs an octave apart in the same piece -- you change clef to change the _staff_ pitches, not the relative octave. For me, what we currently have is a holly mess. There are some areas where ambiguity can be your goal, but i don't see how it could be here. In my opinion it is *infinitely* better to write down the information than to leave it to the performer to guess it based on tradition. It's not just "tradition" -- there are well-defined notational standards for different instruments' notation, particularly for pitch, which you can find in any decent orchestration manual. The problems happen when composers or arrangers don't follow the rules, which unfortunately happens more frequently than you'd like, and which to some extent is exacerbated by reliance on music notation software (i.e., trusting that the computer knows what it's doing rather than understanding and properly researching the notational standards). For example, despite the fact that i'm an amateur musician (guitar & voice), i had learned note names quickly. However, for *many years* i had no idea that some instruments are transposed. Had i tried to play a transposed instrument, i would play exactly what was written. When i learned that some instruments are transposed *and that the transposition isn't marked in the notation*, i felt it was outrageous. But it _is_ usually marked in the notation -- you'll get a part marked for "Clarinet in B flat" or "Trumpet in D" or whatever, which tells you what the transposition is. Albeit in some modern parts the instrument's transposition is so standardized (e.g. alto sax is _always_ in E flat, though historically they existed in F and other keys) that it isn't always written, but if you're a composer, conductor or arranger it's reasonable to expect you to have read up on the standards and to know them by heart. I still believe it was a foolish idea to start notating transposing instruments in this way, i.e. without any indication next to the clef (no idea who started it, though :P). You might want to read some of Schoenberg's writings :-) He made some proposals for an alternative staff and clef system designed to better cope with the trend towards atonal music. (Many of the potential ambiguities of transposition actually resolve rather simply in a tonal setup.) I think his ideas probably failed because apart from the weight of lock-in, the main purpose of _individual_ instrumental notation is to make the easiest possible mapping between what is written on the page and what the player has to do. In the case of brass instruments that mapping basically needs to be common to the overtone series of the instrument. In the case of woodwind instruments, the notation needs to be common to the fingering -- whether I'm playing clarinet in B flat, A, C or E flat, or bass clarinet, or alto clarinet, or basset horn, if I see a written middle C I know to put down the thumb and first 3 fingers of my left hand. I don'
Re: [proposal] easy triplets and tuplets - Draft 3
Werner LEMBERG writes: >> In contrast, : is being used for chord and tremolo notation. It has >> no relation to music function arguments. The price for using it >> would be making \tuplet a reserved word specially treated in the >> parser and dealing with the interference of : with its other >> meanings in the parser, and having the command hardwired and not >> user-serviceable and not documented as a music function. >> >> That's not a reasonable price to pay for a one-off command. > > I'm not sure about the validity of your conclusion. Writing tuplets > is such a central element of inputting music that a special treatment > is probably justified, even at the cost of hardwiring. We are talking about writing \tuplet 3:2 { ... } instead of \tuplet 3/2 { ... } here. Whether tuplets are central or not, this single-character difference is purely cosmetic, and it is well-known that obsessive-compulsive cosmetic surgery is not exactly guaranteed to maximize the obtained output of beauty. In the end, LilyPond needs to fit together like a fugue; local beautification without consideration of the whole is painting yourself into corners that become increasingly harder to get out of again. > However, this is nothing I suggest for immediate implementation; as > mentioned in another mail, I think this can be safely postponed. Implementing syntax not in harmony with the rest of the syntax is not really desirable, so "safely postponed" may deliver a wrong message as it implies an eventual delivery and may keep people from thinking how to make best use of the existing framework. This paragraph was supposed to contain some more pompous platitudes, but I need to sleep right now. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On Tue, Oct 9, 2012 at 11:30 PM, Werner LEMBERG wrote: >>> much happier with >>> \tuplet 3:2 { } >>> meaning the same thing as >>> \times 2/3 { } >> >> I think I like this idea. > > Me too. However, this requires surgery in the parser, so I think this > feature gets postponed until someone (hehe, David :-) has time to > analyze possible side effects. He already did: http://lists.gnu.org/archive/html/lilypond-devel/2012-10/msg00333.html ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
> In contrast, : is being used for chord and tremolo notation. It has > no relation to music function arguments. The price for using it > would be making \tuplet a reserved word specially treated in the > parser and dealing with the interference of : with its other > meanings in the parser, and having the command hardwired and not > user-serviceable and not documented as a music function. > > That's not a reasonable price to pay for a one-off command. I'm not sure about the validity of your conclusion. Writing tuplets is such a central element of inputting music that a special treatment is probably justified, even at the cost of hardwiring. However, this is nothing I suggest for immediate implementation; as mentioned in another mail, I think this can be safely postponed. Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On Tue, Oct 9, 2012 at 5:36 PM, David Kastrup wrote: > Janek Warchoł writes: >> i've found a reason why i could support "reversed" tuplet ratio: if we >> decide to allow arbitrary integer durations (so that a3 would mean a >> third of the whole note), it would make more sense to have { a3 b6 } >> equivalent to \tuplet 3/2 { a2 b4 } rather than have it equivalent to >> \tuplet 2/3 { a2 b4 }. In other words, in LilyPond we express >> duration using the /denominator/ of the fraction, so it makes sense to >> multiply duration 2 (half note) by 3/2 to get duration 3 (a triplet). >> Do you see what i mean? > > With the same kind of logic, s2 + s2 should be s4, so I hope this reason > will not remain the only one you can find. but i didn't consider Durations to be a field. I was treating it just like an abelian group, without addition. :P btw, s2 + s2 = s1*1/2 + s1*1/2 = s1 * (1/2 + 1/2) = s1 as we expect (note the transition from LilyPondDuration to fractions of whole notes), and \tuplet 3/2 { s2 } = s1*1/(2 * 3/2) = s1*1/3 = s3 :) >> However, if we reverse the argument in \tuplet, we definitely should >> deprecate \times. Having both \times 2/3 and \tuplet 3/2 for >> specifying triplets would be *very* confusing. > > I agree that using them interchangeably in the documentation would not > be helpful. I see no reason to _remove_ \times, however. It would > likely be more than enough to have its documentation string point out > the existence of \tuplet. Using a convert-ly rule for a blanket > conversion \times->\tuplet would be something I would consider > appropriate. Since we have \scaleDurations, i don't see any compelling reason to keep \times. But i don't insist; your suggestion above is ok. As for Graham's question about \tuplet 3:2, i think that the difficulties David outlined far outweigh the "user-friendliness" gained. cheers, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
>> much happier with >> \tuplet 3:2 { } >> meaning the same thing as >> \times 2/3 { } > > I think I like this idea. Me too. However, this requires surgery in the parser, so I think this feature gets postponed until someone (hehe, David :-) has time to analyze possible side effects. Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Graham Percival writes: > On Tue, Oct 09, 2012 at 09:45:09AM +0200, Francisco Vila wrote: >> So, \tuplet y/x with the exact meaning of \times x/y is less confusing >> because it's not "times" vs "time" anymore, and the straightforward >> fraction is just "music without the maths". So, I predict a widespread >> adoption. > > Do we really need to use the same fraction notation, though? You mean, like 3/4 meaning 3 notes to 4 parts of a measure? > I mean, in music we see 3:2 (if people are being pedantic). I'd be > much happier with \tuplet 3:2 { } meaning the same thing as \times 2/3 > { } 3/2 is a FRACTION, which is a lexical item available as a music function argument. The proposed \tuplet implementations were presented as Scheme code that could just be used in a document without recompilation. In contrast, : is being used for chord and tremolo notation. It has no relation to music function arguments. The price for using it would be making \tuplet a reserved word specially treated in the parser and dealing with the interference of : with its other meanings in the parser, and having the command hardwired and not user-serviceable and not documented as a music function. That's not a reasonable price to pay for a one-off command. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On Tue, 9 Oct 2012, Graham Percival wrote: On Tue, Oct 09, 2012 at 09:45:09AM +0200, Francisco Vila wrote: So, \tuplet y/x with the exact meaning of \times x/y is less confusing because it's not "times" vs "time" anymore, and the straightforward fraction is just "music without the maths". So, I predict a widespread adoption. Do we really need to use the same fraction notation, though? I mean, in music we see 3:2 (if people are being pedantic). I'd be much happier with \tuplet 3:2 { } meaning the same thing as \times 2/3 { } I think I like this idea. -- MT ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On Tue, Oct 09, 2012 at 09:45:09AM +0200, Francisco Vila wrote: > So, \tuplet y/x with the exact meaning of \times x/y is less confusing > because it's not "times" vs "time" anymore, and the straightforward > fraction is just "music without the maths". So, I predict a widespread > adoption. Do we really need to use the same fraction notation, though? I mean, in music we see 3:2 (if people are being pedantic). I'd be much happier with \tuplet 3:2 { } meaning the same thing as \times 2/3 { } - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Janek Warchoł writes: > wow, many more emails arrived! Let me send my thoughts written in the > meantime, and go back offline for a few hours. > > i've found a reason why i could support "reversed" tuplet ratio: if we > decide to allow arbitrary integer durations (so that a3 would mean a > third of the whole note), it would make more sense to have { a3 b6 } > equivalent to \tuplet 3/2 { a2 b4 } rather than have it equivalent to > \tuplet 2/3 { a2 b4 }. In other words, in LilyPond we express > duration using the /denominator/ of the fraction, so it makes sense to > multiply duration 2 (half note) by 3/2 to get duration 3 (a triplet). > Do you see what i mean? With the same kind of logic, s2 + s2 should be s4, so I hope this reason will not remain the only one you can find. > However, if we reverse the argument in \tuplet, we definitely should > deprecate \times. Having both \times 2/3 and \tuplet 3/2 for > specifying triplets would be *very* confusing. I agree that using them interchangeably in the documentation would not be helpful. I see no reason to _remove_ \times, however. It would likely be more than enough to have its documentation string point out the existence of \tuplet. Using a convert-ly rule for a blanket conversion \times->\tuplet would be something I would consider appropriate. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Hi, wow, many more emails arrived! Let me send my thoughts written in the meantime, and go back offline for a few hours. i've found a reason why i could support "reversed" tuplet ratio: if we decide to allow arbitrary integer durations (so that a3 would mean a third of the whole note), it would make more sense to have { a3 b6 } equivalent to \tuplet 3/2 { a2 b4 } rather than have it equivalent to \tuplet 2/3 { a2 b4 }. In other words, in LilyPond we express duration using the /denominator/ of the fraction, so it makes sense to multiply duration 2 (half note) by 3/2 to get duration 3 (a triplet). Do you see what i mean? However, if we reverse the argument in \tuplet, we definitely should deprecate \times. Having both \times 2/3 and \tuplet 3/2 for specifying triplets would be *very* confusing. I agree that specifying not just x/y ratio but also x/y "of what?" is a good idea. I don't have any idea on how the actual syntax might look like, though. As for transposing clefs, i play guitar a bit myself, and i have once typeset a piece using both G and G_8 clefs. Maybe it was a bad idea, but for me it was perfectly fine. On Tue, Oct 9, 2012 at 1:16 AM, Joseph Rushton Wakeling wrote: > If you _did_ insist on the distinction between those clefs being important, > it would be very problematic because then as a guitarist (or piccolist, or > bass player, or conductor) you'd have to spend lots of time worrying about > whether the omission of that "8" on the clef actually meant something or was > just a typo. Whereas as things are, you can just ignore it. > > Now think about extending that to other transposing instruments. Should a > bass clarinet be notated in \treble sounding a 12th below what is written, > or in \treble_8 sounding a 2nd below? Isn't the important thing (as player > or conductor) that you never have to worry about it? It seems that our opinions on this subject are totally opposite. While i definitely agree that the important thing is that performers don't have to worry about this issue, in my opinion the *only* way to ensure this is to state clef transpositions explicitely. After all, it doesn't cost you anything to write them. For me, what we currently have is a holly mess. There are some areas where ambiguity can be your goal, but i don't see how it could be here. In my opinion it is *infinitely* better to write down the information than to leave it to the performer to guess it based on tradition. For example, despite the fact that i'm an amateur musician (guitar & voice), i had learned note names quickly. However, for *many years* i had no idea that some instruments are transposed. Had i tried to play a transposed instrument, i would play exactly what was written. When i learned that some instruments are transposed *and that the transposition isn't marked in the notation*, i felt it was outrageous. I still believe it was a foolish idea to start notating transposing instruments in this way, i.e. without any indication next to the clef (no idea who started it, though :P). For example, the horn transposition can be either a fourth or a fifth. For me this is nonsense: you want to play from some old score, but you have to ask a musicologist to be sure what the notes actually are :( I hope that this email hadn't become too sarcastic or disparaging :/ On Tue, Oct 9, 2012 at 1:16 AM, Joseph Rushton Wakeling wrote: > Don't know about you, but I find they always seem to be most tempting to > write whenever I have something else really important (work, study, > planning, big life change ...) upcoming that I should really be > concentrating on :-P true :P but my conscience is clean this time, as i wrote this email when commuting, without internet access :) cheers, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Benkő Pál writes: > 2012/10/9 David Kastrup : >> Benkő Pál writes: >> >>> 2012/10/9 David Kastrup : I don't really think that people consider \times and \scaleDurations as closely related (and their naming choice is also totally different), so I don't think that there will be much of an opportunity confusing the behavior of \scaleDurations with \tuplet. >>> >>> I, for one, consider \times a visually enhanced variant of \scaleDurations. >>> regardless how it's written, to me both mean metric change (and metric >>> is represented poorly in graphic anyway). >> >> Do you feel that the changed fraction gender of \tuplet would be a >> potential source of confusion for you in the light of your view of >> \scaleDurations? > > definitely not, I'm fine with the \tuplet proposal, it mimics better the > engraved representation. BTW do we still have \compressMusic or > only \scaleDurations? Huh. @newsItem @subsubheading LilyPond 2.11.48 released. @emph{June 9, 2008} LilyPond 2.11.48 is out. This release fixes a few bugs, and @code{\compressMusic} has been renamed to @code{\scaleDurations}. @* I was not actually aware that there ever _was_ a \compressMusic, and it would appear that it had the _same_ fraction interpretation as \scaleDurations. Probably that was the reason for renaming it. Reintroducing it with inversed meaning might not be the hottest idea, then. The underlying Scheme primitive, by the way, is called ly:music-compress: LY_DEFINE (ly_music_compress, "ly:music-compress", 2, 0, 0, (SCM m, SCM factor), "Compress music object@tie{}@var{m} by moment @var{factor}.") It ultimately calls Duration::compressed (Rational m) const { Duration d (*this); d.factor_ *= m; return d; } so we have this misnomer of "compress" for what is actually "scale" (namely making things longer for factors > 1) throughout the whole Scheme API and C++ layer. It's just the user interface that has apparently been relieved of this embarrassing name choice. Reintroducing it with inversed meaning would make a bit of isolated sense in the user interface, but would be horribly confusing in light of all the other layers employing different terminology. So if we want to introduce a "scale Durations by 1/x" user level function at some point of time, \compressMusic seems to be an awfully bad naming choice for that, for historical as well as continuing reasons. I was not aware of that. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/9 David Kastrup : > Benkő Pál writes: > >> 2012/10/9 David Kastrup : >>> I don't really think that people consider \times and \scaleDurations as >>> closely related (and their naming choice is also totally different), so >>> I don't think that there will be much of an opportunity confusing the >>> behavior of \scaleDurations with \tuplet. >> >> I, for one, consider \times a visually enhanced variant of \scaleDurations. >> regardless how it's written, to me both mean metric change (and metric >> is represented poorly in graphic anyway). > > Do you feel that the changed fraction gender of \tuplet would be a > potential source of confusion for you in the light of your view of > \scaleDurations? definitely not, I'm fine with the \tuplet proposal, it mimics better the engraved representation. BTW do we still have \compressMusic or only \scaleDurations? p ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 2012-10-09 11:14, Francisco Vila wrote:> 2012/10/9 Benkő Pál : >> 2012/10/9 Francisco Vila : >>> When I learned how to read music, triplets were taught to me as >>> "always shrinking" groups and you see a "3" but there is an implicit >>> "2" so we have 3:2. Only the numerator is printed by convention. >>> >>> Thus, if you write >>> >>>\times 2/3 { b16 b b b b b } >>> >>> or >>> >>>\times 4/6 { b8 b b } >>> >>> this is mathematically perfect but the number you are asking to be >>> printed is a confusing "3" and a confusing "6" respectively. >> >> the first is not confusing: I think the point here was not that the tuplet notation on paper is confusing per se. Actually, both are VERY common (the 6:4 tuplets appear e.g. in Schubert's Stabat Mater, in several pieces by Preindl or Eybler, etc.) What is confusing is that "3" is printed, when you actually write 2/3. Also, Gould explains tuplets m:n as "m in the time of n" and calls m:n (i.e. 3:2) the tuplet ratio... >> it makes sure to read >> b16[ b] b[ b] b[ b] > > Yes, but I think it is more common to print a "6" here with the same > meaning. Not that I know. A triplet (i.e. 3:2) means that there are three beats in the tuplet, the first might get a slight accent, while a sextuplet means there are two groups of three notes. Also compare Gould, p. 213, regarding the subdivision of beams: "A triplet is always a tripartite division, whereas a sextuplet is two groups each of three notes, a bipartite division." Cheers, Reinhold -- -- Reinhold Kainhofer, reinh...@kainhofer.com, http://www.kainhofer.com * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * Edition Kainhofer, Music Publisher, http://www.edition-kainhofer.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Benkő Pál writes: > 2012/10/9 David Kastrup : >> The concept used for printing/grouping tuplets is different than the >> concept used for scaling the time. That's what makes \times such a >> confusing interface. >> >> The pure scaling alone is available as \scaleDurations. I have no beef >> with it using 2/3 as input, and I would have trouble coming up with a >> justification of using 3/2 here, actually seeing little point in doing >> so. One could use something like \compressMusic 3/2 but I don't see >> much of a motivation for that. >> >> But with tuplets, the concept is not really "scale duration by x" but >> rather "n to m notes" including all the necessary visual changes, and >> \times, including its argument style, expresses this concept poorly. >> >> I don't really think that people consider \times and \scaleDurations as >> closely related (and their naming choice is also totally different), so >> I don't think that there will be much of an opportunity confusing the >> behavior of \scaleDurations with \tuplet. > > I, for one, consider \times a visually enhanced variant of \scaleDurations. > regardless how it's written, to me both mean metric change (and metric > is represented poorly in graphic anyway). Do you feel that the changed fraction gender of \tuplet would be a potential source of confusion for you in the light of your view of \scaleDurations? -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/9 Benkő Pál : > 2012/10/9 Francisco Vila : >> When I learned how to read music, triplets were taught to me as >> "always shrinking" groups and you see a "3" but there is an implicit >> "2" so we have 3:2. Only the numerator is printed by convention. >> >> Thus, if you write >> >> \times 2/3 { b16 b b b b b } >> >> or >> >> \times 4/6 { b8 b b } >> >> this is mathematically perfect but the number you are asking to be >> printed is a confusing "3" and a confusing "6" respectively. > > the first is not confusing: it makes sure to read > b16[ b] b[ b] b[ b] Yes, but I think it is more common to print a "6" here with the same meaning. > instead of > b16[ b b] b[ b b]. -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/9 David Kastrup : > The concept used for printing/grouping tuplets is different than the > concept used for scaling the time. That's what makes \times such a > confusing interface. > > The pure scaling alone is available as \scaleDurations. I have no beef > with it using 2/3 as input, and I would have trouble coming up with a > justification of using 3/2 here, actually seeing little point in doing > so. One could use something like \compressMusic 3/2 but I don't see > much of a motivation for that. > > But with tuplets, the concept is not really "scale duration by x" but > rather "n to m notes" including all the necessary visual changes, and > \times, including its argument style, expresses this concept poorly. > > I don't really think that people consider \times and \scaleDurations as > closely related (and their naming choice is also totally different), so > I don't think that there will be much of an opportunity confusing the > behavior of \scaleDurations with \tuplet. I, for one, consider \times a visually enhanced variant of \scaleDurations. regardless how it's written, to me both mean metric change (and metric is represented poorly in graphic anyway). p ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Francisco Vila writes: > 2012/10/9 David Kastrup : >> Francisco Vila writes: >> >>> 2012/10/9 Keith OHara : Currently, everyone who thinks of a triplet as a 3:2 ratio, 3 notes in the usual time for 2, suffers similar confusion when trying to remember \times 2/3. Triplets are usually written with a simple 3, but 4-note-tuplets are often designated 4:3 for clarity, while LilyPond requires the reversed fraction in \times 3/4 {} >>> >>> Here come Spanish students again. >>> I can think in \times {} as a mathematical expression and >>> it has sense, because "times" means multiply, >> >> How does a mathematician explain the difference between \times 2/3 and >> \times 4/6 ? > > There is no difference BUT tuplets have a printed number, and in > lilypond this number is taken from the denominator for your > convenience. > > When I learned how to read music, triplets were taught to me as > "always shrinking" groups and you see a "3" but there is an implicit > "2" so we have 3:2. Only the numerator is printed by convention. > > Thus, if you write > > \times 2/3 { b16 b b b b b } > > or > > \times 4/6 { b8 b b } > > this is mathematically perfect but the number you are asking to be > printed is a confusing "3" and a confusing "6" respectively. The concept used for printing/grouping tuplets is different than the concept used for scaling the time. That's what makes \times such a confusing interface. The pure scaling alone is available as \scaleDurations. I have no beef with it using 2/3 as input, and I would have trouble coming up with a justification of using 3/2 here, actually seeing little point in doing so. One could use something like \compressMusic 3/2 but I don't see much of a motivation for that. But with tuplets, the concept is not really "scale duration by x" but rather "n to m notes" including all the necessary visual changes, and \times, including its argument style, expresses this concept poorly. I don't really think that people consider \times and \scaleDurations as closely related (and their naming choice is also totally different), so I don't think that there will be much of an opportunity confusing the behavior of \scaleDurations with \tuplet. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/9 Francisco Vila : > When I learned how to read music, triplets were taught to me as > "always shrinking" groups and you see a "3" but there is an implicit > "2" so we have 3:2. Only the numerator is printed by convention. > > Thus, if you write > > \times 2/3 { b16 b b b b b } > > or > > \times 4/6 { b8 b b } > > this is mathematically perfect but the number you are asking to be > printed is a confusing "3" and a confusing "6" respectively. the first is not confusing: it makes sure to read b16[ b] b[ b] b[ b] instead of b16[ b b] b[ b b]. I think I've actually seen such a triplet in Ligeti's Requiem; will look tonight. p ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/9 David Kastrup : > Francisco Vila writes: > >> 2012/10/9 Keith OHara : >>> Currently, everyone who thinks of a triplet as a 3:2 ratio, 3 notes in the >>> usual time for 2, suffers similar confusion when trying to remember \times >>> 2/3. Triplets are usually written with a simple 3, but 4-note-tuplets are >>> often designated 4:3 for clarity, while LilyPond requires the reversed >>> fraction in \times 3/4 {} >> >> Here come Spanish students again. >> I can think in \times {} as a mathematical expression and >> it has sense, because "times" means multiply, > > How does a mathematician explain the difference between \times 2/3 and > \times 4/6 ? There is no difference BUT tuplets have a printed number, and in lilypond this number is taken from the denominator for your convenience. When I learned how to read music, triplets were taught to me as "always shrinking" groups and you see a "3" but there is an implicit "2" so we have 3:2. Only the numerator is printed by convention. Thus, if you write \times 2/3 { b16 b b b b b } or \times 4/6 { b8 b b } this is mathematically perfect but the number you are asking to be printed is a confusing "3" and a confusing "6" respectively. -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On Mon, 8 Oct 2012, Keith OHara wrote: Martin Tarenskeen zonnet.nl> writes: I am not in favour of allowing different commands \times 2/3 and \tuplet3/2 to do the same job. My voice would go to: just keep \times x/y the wayit is. I can't see what makes 3/2 easier than 2/3. And having the choiceof two commands doing the same job with a slightly different syntax onlymakes things more confusing for me. Currently, everyone who thinks of a triplet as a 3:2 ratio, 3 notes in the usual time for 2, suffers similar confusion when trying to remember \times 2/3. Triplets are usually written with a simple 3, but 4-note-tuplets are often designated 4:3 for clarity, while LilyPond requires the reversed fraction in \times 3/4 {} The likely outcome would be to document only \tuplet 3/2 (or \tuplet3 or \triplet depending on what we choose) and have convert-ly change \times x/y to \tuplet y/x, but let LilyPond accept \times x/y from users who have developed the habit. Then there is only one syntax in the documentation. OK. You convinced me. -- MT ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Francisco Vila writes: > 2012/10/9 Keith OHara : >> Currently, everyone who thinks of a triplet as a 3:2 ratio, 3 notes in the >> usual time for 2, suffers similar confusion when trying to remember \times >> 2/3. Triplets are usually written with a simple 3, but 4-note-tuplets are >> often designated 4:3 for clarity, while LilyPond requires the reversed >> fraction in \times 3/4 {} > > Here come Spanish students again. > I can think in \times {} as a mathematical expression and > it has sense, because "times" means multiply, How does a mathematician explain the difference between \times 2/3 and \times 4/6 ? -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
David Kastrup writes: > Graham Percival writes: > >> On Mon, Oct 08, 2012 at 11:49:39PM +0100, Trevor Daniels wrote: >>> >>> David Kastrup wrote Monday, October 08, 2012 10:45 PM >>> >>> > Thomas Morley writes: >>> > >>> >>> In this case, i >>> >>> think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time >>> >>> of 2), because it corresponds to mathematical ratio, and is similar to >>> >>> scaling durations. >>> > >>> > -1 from me for this one. We have \times for that already and I can't >>> > count the times it took me to get the fraction right. And with the name >>> > "\times" there is at least the mnemonic of the name itself. >>> >>> Absolutely! Inverting the fraction for \tuplet was the original reason >>> for inventing it, IIRC. >> >> Woah, really? I thought the whole point was to avoid the >> confusion between \time and \times. > > Both "the whole point" impressions are mistaken if you look at the > original proposal in > http://permalink.gmane.org/gmane.comp.gnu.lilypond.devel/50803>. > It was one, deliberately separate point to discuss. It was discussed, > and a consensus was reached. Obviously, "a consensus was reached" was inaccurate since at at the time of writing, Janek had already voted against this. I actually had to reread his take on this since the detailed argument he makes _strongly_ argues in favor of \tuplet 3/2, but his conclusion is definitely quite opposite. Since then, also Martin has spoken up to express his dislike of a \tuplet behaving substantially different from \times. I disagree with this take since substituting a new command should also give us a chance to reconsider the best behavior without being bogged down by history. A new command name is the best chance of reevaluating the best semantics for users we get. We should not lightly waste it. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Graham Percival wrote Tuesday, October 09, 2012 12:12 AM > On Mon, Oct 08, 2012 at 11:49:39PM +0100, Trevor Daniels wrote: >> >> David Kastrup wrote Monday, October 08, 2012 10:45 PM >> >> > Thomas Morley writes: >> > >> >>> In this case, i >> >>> think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time >> >>> of 2), because it corresponds to mathematical ratio, and is similar to >> >>> scaling durations. >> > >> > -1 from me for this one. We have \times for that already and I can't >> > count the times it took me to get the fraction right. And with the name >> > "\times" there is at least the mnemonic of the name itself. >> >> Absolutely! Inverting the fraction for \tuplet was the original reason >> for inventing it, IIRC. > > Woah, really? I thought the whole point was to avoid the > confusion between \time and \times. Yes, you're right. The original suggestion was by Werner, here: http://article.gmane.org/gmane.comp.gnu.lilypond.devel/7989 > I think it would be > extremely confusing for "\tuplet x/y" to mean the same thing as > "\times y/x". Inverting the fraction so it corresponded to the normal notation came later from Francisco, referenced here: http://article.gmane.org/gmane.comp.gnu.lilypond.devel/14554 which makes the point that \times implies multiplication but \tuplet does not, so the more logical ordering would be better. Trevor ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Martin Tarenskeen writes: > On Mon, 8 Oct 2012, Trevor Daniels wrote: > >> >> David Kastrup wrote Monday, October 08, 2012 10:45 PM >> >> >>> Thomas Morley writes: >>> [...] > So, i believe that LilyPond shouldn't always follow her users' > intuition, even if they are professional musicians. In this case, i > think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time > of 2), because it corresponds to mathematical ratio, and is similar to > scaling durations. +1 >>> >>> -1 from me for this one. We have \times for that already and I can't >>> count the times it took me to get the fraction right. And with the name >>> "\times" there is at least the mnemonic of the name itself. > > I am not in favour of allowing different commands \times 2/3 and > \tuplet 3/2 to do the same job. Why? Nobody forces you to use a command you don't like. > My voice would go to: just keep \times x/y the way it is. The proposal was not about changing \times. > I can't see what makes 3/2 easier than 2/3. 3 triplets on the time of 2 normal notes. That concept is common enough that one writes 3 (or even 3:2) in order to mark tuplets, not 2/3. What is 2/3 supposed to mean? "Each note will take up 2/3 of its nominal time, making the total phrase's total time, linearly distributed, a ratio of 2/3 of its nominal time" -- that's a mathematician's definition, and it is defective anyhow since it fails to explain the difference between \times 2/3 and \times 4/6. \tuplet 6/4 means getting 6 tuplets where 4 notes would be normally. Now give me a definition of \times 4/6 that is sufficient to differentiate it meaningfully from \times 2/3 > And having the choice of two commands doing the same job with a > slightly different syntax only makes things more confusing for me. Then take the choice once and ignore the existence of the other command for the rest of your life. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
"Keith OHara" writes: > duplet = > #(define-music-function (parser location d music) > ((ly:duration? #f) ly:music? ) > (if d > #{\tuplet 2 $d $music #} > #{\tuplet 2 $music #} )) Just a note here: this can be done quite more concisely by writing duplet = #(define-music-function (parser location d music) ((ly:duration? *unspecified*) ly:music?) #{ \tuplet 2 $d #music #}) I prefer using #music here since it preserves a 1:1 relation between identifier and function argument (and saves a copying), while the whole point of $d is to _not_ preserve a 1:1 relation, making $*unspecified* disappear without a trace as opposed to what #*unspecified* would do. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/9 Keith OHara : > Currently, everyone who thinks of a triplet as a 3:2 ratio, 3 notes in the > usual time for 2, suffers similar confusion when trying to remember \times > 2/3. Triplets are usually written with a simple 3, but 4-note-tuplets are > often designated 4:3 for clarity, while LilyPond requires the reversed > fraction in \times 3/4 {} Here come Spanish students again. I can think in \times {} as a mathematical expression and it has sense, because "times" means multiply, but I have observed that newcomers hear about a triplet has to be writen as 2/3 and the "times" part becomes less relevant than the part. They only think "times" as being "time" plus an 's' and that the has to be reversed. So, \tuplet y/x with the exact meaning of \times x/y is less confusing because it's not "times" vs "time" anymore, and the straightforward fraction is just "music without the maths". So, I predict a widespread adoption. -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Martin Tarenskeen zonnet.nl> writes: I am not in favour of allowing different commands \times 2/3 and \tuplet3/2 to do the same job. My voice would go to: just keep \times x/y the wayit is. I can't see what makes 3/2 easier than 2/3. And having the choiceof two commands doing the same job with a slightly different syntax onlymakes things more confusing for me. Currently, everyone who thinks of a triplet as a 3:2 ratio, 3 notes in the usual time for 2, suffers similar confusion when trying to remember \times 2/3. Triplets are usually written with a simple 3, but 4-note-tuplets are often designated 4:3 for clarity, while LilyPond requires the reversed fraction in \times 3/4 {} The likely outcome would be to document only \tuplet 3/2 (or \tuplet3 or \triplet depending on what we choose) and have convert-ly change \times x/y to \tuplet y/x, but let LilyPond accept \times x/y from users who have developed the habit. Then there is only one syntax in the documentation. If we can make \tuplet also easier to use, it might quickly become the only syntax in use. I like the idea of specifying a set of triplets, each lasting the time of a quarter note, as: r4 \triplet 4 {e8\( fis cis e b, cis gis, b, fis, | gis,8 e, gis,} dis,2 cis,4 tuplet.ly Description: Binary data ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On Mon, 8 Oct 2012, Trevor Daniels wrote: David Kastrup wrote Monday, October 08, 2012 10:45 PM Thomas Morley writes: [...] So, i believe that LilyPond shouldn't always follow her users' intuition, even if they are professional musicians. In this case, i think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time of 2), because it corresponds to mathematical ratio, and is similar to scaling durations. +1 -1 from me for this one. We have \times for that already and I can't count the times it took me to get the fraction right. And with the name "\times" there is at least the mnemonic of the name itself. I am not in favour of allowing different commands \times 2/3 and \tuplet 3/2 to do the same job. My voice would go to: just keep \times x/y the way it is. I can't see what makes 3/2 easier than 2/3. And having the choice of two commands doing the same job with a slightly different syntax only makes things more confusing for me. -- MT ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Graham Percival writes: > On Mon, Oct 08, 2012 at 11:49:39PM +0100, Trevor Daniels wrote: >> >> David Kastrup wrote Monday, October 08, 2012 10:45 PM >> >> > Thomas Morley writes: >> > >> >>> In this case, i >> >>> think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time >> >>> of 2), because it corresponds to mathematical ratio, and is similar to >> >>> scaling durations. >> > >> > -1 from me for this one. We have \times for that already and I can't >> > count the times it took me to get the fraction right. And with the name >> > "\times" there is at least the mnemonic of the name itself. >> >> Absolutely! Inverting the fraction for \tuplet was the original reason >> for inventing it, IIRC. > > Woah, really? I thought the whole point was to avoid the > confusion between \time and \times. Both "the whole point" impressions are mistaken if you look at the original proposal in http://permalink.gmane.org/gmane.comp.gnu.lilypond.devel/50803>. It was one, deliberately separate point to discuss. It was discussed, and a consensus was reached. > I think it would be extremely confusing for "\tuplet x/y" to mean the > same thing as "\times y/x". Only if both are intended to be used interchangeably. But use of \times would be discouraged because of _both_ "whole points". -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/09/2012 01:12 AM, Graham Percival wrote: On Mon, Oct 08, 2012 at 11:49:39PM +0100, Trevor Daniels wrote: Absolutely! Inverting the fraction for \tuplet was the original reason for inventing it, IIRC. Woah, really? I thought the whole point was to avoid the confusion between \time and \times. I think it would be extremely confusing for "\tuplet x/y" to mean the same thing as "\times y/x". Aren't they both good reasons? You get to avoid too-similar command names, _and_ you get a syntax that matches more closely to the musical notation. Seems like a win on both counts. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/08/2012 11:25 PM, Thomas Morley wrote: But once I saw a bigband-part for guitar, notated with changing clefs between bass and treble. Well, it was the real treble, no transposition. That it was the real treble was only understandable from the context. The real stupidity there is surely that they bothered switching clefs at all? ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/9 Graham Percival : > On Mon, Oct 08, 2012 at 11:49:39PM +0100, Trevor Daniels wrote: >> >> David Kastrup wrote Monday, October 08, 2012 10:45 PM >> >> > Thomas Morley writes: >> > >> >>> In this case, i >> >>> think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time >> >>> of 2), because it corresponds to mathematical ratio, and is similar to >> >>> scaling durations. >> > >> > -1 from me for this one. We have \times for that already and I can't >> > count the times it took me to get the fraction right. And with the name >> > "\times" there is at least the mnemonic of the name itself. >> >> Absolutely! Inverting the fraction for \tuplet was the original reason >> for inventing it, IIRC. > > Woah, really? I thought the whole point was to avoid the > confusion between \time and \times. I think it would be > extremely confusing for "\tuplet x/y" to mean the same thing as > "\times y/x". I always understood that way. -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/08/2012 10:44 PM, Janek Warchoł wrote: First, we shouldn't mix content and presentation. I think it's a very important rule; one of the best things in LilyPond is that she allows to separate music from its layout. Yes, fair point. But one thing to be careful of particularly as regards contemporary music is that where in earlier music it's often possible to define "standardized" engraving rules, a lot of more recent works frequently switch between different stylistic choices as a means of indicating nuance. If you can't do those switches quickly and easily from the syntax, you have a problem. Looking at it a slightly different way, what may be merely presentation in earlier music, can actually be content for contemporary music. I could give quite a lot of examples, but let's stick for now with the tuplets. I think that what Joseph suggested is mostly a matter of layout. Thus, it shouldn't require any additional user input. For example, displaying the total duration of the tuplet can be done in an automated way - i'm sure LilyPond can calculate it. So, instead of having an additional optional argument that the user would have to provide, we should just create some property of TupletNumber (e.g. display-total-duration) that would print these when set to true. That's broadly what I mean, although I don't think you can do it without _any_ additional user input. What we're certainly in agreement on is that it shouldn't be about manual overrides of what literally appears; I want to be able to easily choose between different stylistic options _and have the precise notation calculated automatically and correctly_. You _do_ need to provide extra information about the stylistic choices, though (more on that below, following your suggestions). We could then go as far as to create a function that would evaluate a tuplet and set this property to true if the tuplet was complicated enough. That's a nice suggestion in and of itself, and would probably simplify a lot of notational issues. You can probably specify some broad stylistic properties for tuplet notation such as number-only, ratio-when-nonstandard (e.g. you display 3, 5, 7, 11, 12 for respectively 3:2, 5:4, 7:4, 11:8 and 12:8, but ratios for other cases), always-use-ratio, and so on. Similarly, deciding what should be displayed inside the TupletBracket is another layout decision - it seems doable to define several styles (e.g. denominator only, ratio with slash, ratio with colon, ratio with noteheads etc) and choose between them using 'style properrty of the TupletNumber. Just bear in mind that \once \override is almost unbearably verbose and confusing if you're doing it very regularly. Joseph mentioned scores in which tuplet style changes all the time. I think that a proper solution to this problem is to create custom shortcuts for overriding TupletNumber style - this way you still have layout separated from score (i.e. one can easily turn these functions off; the layout decisions aren't hardcoded in the music code itself. Yes, that's probably fair, though I think with frequency even a short, easily-legible shortcut can become irritating, which is why I tried to develop a more flexible syntax for \tuplet itself. From a strictly user point of view (not necessarily a developer's!), the ideal would probably be an ability to put in place detailed stylistic rules that depend on the precise tuplet ratios, the position in a nested tuplet hierarchy (top-level, 2nd-level, 3rd ... ?), whether or not the tuplet's beginning and end both coincide with a barline, and probably other factors besides; and then combine that with custom shortcuts for the few cases that slip through the cracks. Secondly, there is a general design principle which says that different things shouldn't be too similar. Because of that i think that we shouldn't allow \tuplet {} (without ratio argument) to mean a triplet - it would be confusing (to say the least). Indeed, but you could reasonably allow \tuplet n {} ... to be used for an n-tuplet for values of n that have a definitively standardized interpretation. (Might be more trouble than it's worth though.) In my opinion, we need a powerful function that can be used to notate any conceiveable tuplet - that would be \tuplet x/y {}. In addition to this, we may define some shorthands, but it's crucial that they are distinct from \tuplet x/y. It should be obvious for everyone, including all LilyPond beginners right from the start, that \tuplet x/y is THE way to enter tuplets, and everything else is just a shorthand. One remark -- this concept of a \tuplet is basically just an inversion of \times, but you do have other opportunities here. A tuplet is in practice not just a ratio but is a ratio _of note values_. So there is a _content_ value in giving the user the opportunity to specify not just x/y but x/y "of what?" (Or, "x of what to y of what?"), whether or not
Re: [proposal] easy triplets and tuplets - Draft 3
On Mon, Oct 08, 2012 at 11:49:39PM +0100, Trevor Daniels wrote: > > David Kastrup wrote Monday, October 08, 2012 10:45 PM > > > Thomas Morley writes: > > > >>> In this case, i > >>> think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time > >>> of 2), because it corresponds to mathematical ratio, and is similar to > >>> scaling durations. > > > > -1 from me for this one. We have \times for that already and I can't > > count the times it took me to get the fraction right. And with the name > > "\times" there is at least the mnemonic of the name itself. > > Absolutely! Inverting the fraction for \tuplet was the original reason > for inventing it, IIRC. Woah, really? I thought the whole point was to avoid the confusion between \time and \times. I think it would be extremely confusing for "\tuplet x/y" to mean the same thing as "\times y/x". - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
David Kastrup wrote Monday, October 08, 2012 10:45 PM > Thomas Morley writes: > >> [...] >>> So, i believe that LilyPond shouldn't always follow her users' >>> intuition, even if they are professional musicians. In this case, i >>> think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time >>> of 2), because it corresponds to mathematical ratio, and is similar to >>> scaling durations. >> >> +1 > > -1 from me for this one. We have \times for that already and I can't > count the times it took me to get the fraction right. And with the name > "\times" there is at least the mnemonic of the name itself. Absolutely! Inverting the fraction for \tuplet was the original reason for inventing it, IIRC. Trevor ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/8 David Kastrup : > Thomas Morley writes: > >> [...] >>> So, i believe that LilyPond shouldn't always follow her users' >>> intuition, even if they are professional musicians. In this case, i >>> think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time >>> of 2), because it corresponds to mathematical ratio, and is similar to >>> scaling durations. >> >> +1 > > -1 from me for this one. We have \times for that already and I can't > count the times it took me to get the fraction right. And with the name > "\times" there is at least the mnemonic of the name itself. > > When I have a tuplet that is marked 3:2 on the tuplet itself using the > respective tuplet style > \override TupletNumber #'text = #tuplet-number::calc-fraction-text > then it makes no sense at all that I have to enter it as > \tuplet 2/3 { ... } for tuplets that are three to two normal notes. Touché. You have a point. > That's not merely unintuitive, it is (oh goodie, no [talk] tag) plain > absurd. How can anybody write "\tuplet 2/3 is better than \tuplet 3/2 > (for 3 notes in time of 2), because it corresponds to mathematical > ratio," with a straight keyboard? How does 2/3 correspond to 3 notes in > time of 2? > > Let me stomp my feet in defiance and holler. > > Ah, that's better. > LOL > -- > David Kastrup -Harm ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Thomas Morley writes: > [...] >> So, i believe that LilyPond shouldn't always follow her users' >> intuition, even if they are professional musicians. In this case, i >> think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time >> of 2), because it corresponds to mathematical ratio, and is similar to >> scaling durations. > > +1 -1 from me for this one. We have \times for that already and I can't count the times it took me to get the fraction right. And with the name "\times" there is at least the mnemonic of the name itself. When I have a tuplet that is marked 3:2 on the tuplet itself using the respective tuplet style \override TupletNumber #'text = #tuplet-number::calc-fraction-text then it makes no sense at all that I have to enter it as \tuplet 2/3 { ... } for tuplets that are three to two normal notes. That's not merely unintuitive, it is (oh goodie, no [talk] tag) plain absurd. How can anybody write "\tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time of 2), because it corresponds to mathematical ratio," with a straight keyboard? How does 2/3 correspond to 3 notes in time of 2? Let me stomp my feet in defiance and holler. Ah, that's better. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
2012/10/8 Janek Warchoł : [...] > Joseph mentioned scores in which tuplet style changes all the time. I > think that a proper solution to this problem is to create custom > shortcuts for overriding TupletNumber style - this way you still have > layout separated from score (i.e. one can easily turn these functions > off; the layout decisions aren't hardcoded in the music code itself. +1 > In my opinion, we need a powerful function that can be used to notate > any conceiveable tuplet - that would be \tuplet x/y {}. In addition > to this, we may define some shorthands, but it's crucial that they are > distinct from \tuplet x/y. It should be obvious for everyone, > including all LilyPond beginners right from the start, that \tuplet > x/y is THE way to enter tuplets, and everything else is just a > shorthand. +1 > For > example, a lot of guitar music is written in treble clef *without* 8 > below the clef. From my point of view, this is extremely confusing, > and a foolish thing to do. You gain nothing by omitting the 8 - why > hide the fact that the music is transposed? Offtopic: Being a guitarist myself, I'm irritated every time I see this. Must be laziness of the typesetter. But once I saw a bigband-part for guitar, notated with changing clefs between bass and treble. Well, it was the real treble, no transposition. That it was the real treble was only understandable from the context. Aarrgh! [...] > So, i believe that LilyPond shouldn't always follow her users' > intuition, even if they are professional musicians. In this case, i > think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time > of 2), because it corresponds to mathematical ratio, and is similar to > scaling durations. +1 > Whoah, that was a long email. :) > cheers, > Janek > -Harm ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Hi, i had some spare time when commuting, so i've written down a few thoughts on this topic. First, we shouldn't mix content and presentation. I think it's a very important rule; one of the best things in LilyPond is that she allows to separate music from its layout. I think that what Joseph suggested is mostly a matter of layout. Thus, it shouldn't require any additional user input. For example, displaying the total duration of the tuplet can be done in an automated way - i'm sure LilyPond can calculate it. So, instead of having an additional optional argument that the user would have to provide, we should just create some property of TupletNumber (e.g. display-total-duration) that would print these when set to true. We could then go as far as to create a function that would evaluate a tuplet and set this property to true if the tuplet was complicated enough. Similarly, deciding what should be displayed inside the TupletBracket is another layout decision - it seems doable to define several styles (e.g. denominator only, ratio with slash, ratio with colon, ratio with noteheads etc) and choose between them using 'style properrty of the TupletNumber. Joseph mentioned scores in which tuplet style changes all the time. I think that a proper solution to this problem is to create custom shortcuts for overriding TupletNumber style - this way you still have layout separated from score (i.e. one can easily turn these functions off; the layout decisions aren't hardcoded in the music code itself. Secondly, there is a general design principle which says that different things shouldn't be too similar. Because of that i think that we shouldn't allow \tuplet {} (without ratio argument) to mean a triplet - it would be confusing (to say the least). In my opinion, we need a powerful function that can be used to notate any conceiveable tuplet - that would be \tuplet x/y {}. In addition to this, we may define some shorthands, but it's crucial that they are distinct from \tuplet x/y. It should be obvious for everyone, including all LilyPond beginners right from the start, that \tuplet x/y is THE way to enter tuplets, and everything else is just a shorthand. Finally, another cool thing about LilyPond is that she is logical, precise and the syntax is fairly unambiguous - *unlike* musical notation itself. I remember one user writing something like "LilyPond forces me to write the music in logical and structured manner - if some notation is particularly difficult to code, i often end up realizing that it was not a good notation at all". So, while i'm wholeheartedly supporting intuitive syntax, i also firmly believe that we shouldn't aim for "the most intuitive syntax possible". Some intuitions may be wrong, some may lead to ambiguities. Please forgive me for saying this, but in my opinion musicians are somewhat prone to this "bad intuitions"; some established music notations are ambiguous for no good reason. For example, a lot of guitar music is written in treble clef *without* 8 below the clef. From my point of view, this is extremely confusing, and a foolish thing to do. You gain nothing by omitting the 8 - why hide the fact that the music is transposed? In LilyPond, if you use the treble clef without 8, you'll get literally what you wrote - there will be no silent transposition. You have to use the proper (i.e. unambiguous) clef to get what you want (or you have to use override trickery, but then you know that you're cheating). I believe that this quality of LilyPond is very noble. So, i believe that LilyPond shouldn't always follow her users' intuition, even if they are professional musicians. In this case, i think that \tuplet 2/3 is better than \tuplet 3/2 (for 3 notes in time of 2), because it corresponds to mathematical ratio, and is similar to scaling durations. Whoah, that was a long email. cheers, Janek ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/08/2012 01:03 AM, Reinhold Kainhofer wrote: Actually, thinking of it, it would actually be quite simple to calculate the displayed fraction with durations from the given durations and the tuplet fraction (except that there is no way to distinguish 3:2 and 4:6). (m*dur1):(n*dur2) = tuplet fraction can be easily solved as m/n = (tuplet fraction)*dur2/dur1 and then reduced to minimal m and n. This could then be displayed as m{dur1}:n{dur2} Do you need to reduce to minimal m and n? If you have m and n as given, then you can say, "OK, what's the total 'interior' duration of this tuplet divided by m, what's the total 'exterior' duration of this tuplet divided by n?" In both cases that should come out as a "standard" note (1, 2, 4, 8, 16, ... or their dotted equivalents). If we take the simple case, it should be identical for both divisions, and you could throw a warning or error if it's not. That probably covers most use-cases, since I don't think there's really a lot of m{dur1}:n{dur2} about in reality; m{dur1}:{dur2}, maybe. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 2012-10-08 00:21, Joseph Rushton Wakeling wrote: On 10/07/2012 11:52 PM, Reinhold Kainhofer wrote: There is, however, no check whether the fraction with the durations makes sense and matches the real tuplet (in most cases, itwill not). Yes, that's what I mean. I'd like to see something where the fractions and durations are all derived from the tuplet syntax. Actually, thinking of it, it would actually be quite simple to calculate the displayed fraction with durations from the given durations and the tuplet fraction (except that there is no way to distinguish 3:2 and 4:6). (m*dur1):(n*dur2) = tuplet fraction can be easily solved as m/n = (tuplet fraction)*dur2/dur1 and then reduced to minimal m and n. This could then be displayed as m{dur1}:n{dur2} Cheers, Reinhold -- -- Reinhold Kainhofer, reinh...@kainhofer.com, http://www.kainhofer.com * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * Edition Kainhofer, Music Publisher, http://www.edition-kainhofer.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/08/2012 12:40 AM, David Kastrup wrote: I diasagree. Whether or not you we provide separate commands actually doing the overrides, the choice between all those variants does not appear to convey musical information individually but just constitutes a different choice of consistent notation throughout a piece. Well, that's the point -- if you look at various contemporary pieces (e.g. Ferneyhough), the tuplet style is _not_ consistent throughout the piece but is dependent on musical context. Some tuplets are just a single number (e.g. "standard" triplets or quintuplets), some have ratios, some have a single number and an overall duration, some have ratios and overall durations, It sounds like a complicated mess but visually it's actually quite sane and legible and makes for an easier read than a single "standard" tuplet notation would. As you say, it would be a PITA to notate such a piece having to use \overrides all over the place to change the style, which is why it would be very helpful if the \tuplet syntax could allow the choice between these stylistic variants to be made concisely. Cf. my very provisional syntax ideas, which I imagine probably aren't workable as-is; but could something functionally equivalent and similarly concise be worked out? ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
Joseph Rushton Wakeling writes: [...] > Just to give a flavour, besides the standard > > |-- n --| > > (i.e. bracket with number), and the almost-as-standard > > |- n : m -| > > (i.e. ratio), you also might encounter something like, > > |- 3 : 2 {2} -| > or > |- 3 {2} : 2 -| > > where {2}, {4}, {8} etc. represents a written half, quarter, eighth note, etc. > > or perhaps, > |- 7 {16} : {4} -| > > and sometimes things like, > > |- 5 {16} : 4 {16} -| > > (which feels a bit redundant but is certainly unambiguous). > > Of course, conceptually you could also write any arbitrary combination, like > > |- 5 {16} : 2 {4} -| > > ... though it's not a notation you're likely to find (never say never...). > > What you can also get is something where the total duration of the > tuplet is indicated above the number or ratio, something like e.g. > >{4} > |-- 3 -- | > > (3 triplet eighths = 1 quarter note in total) > > or > {8} > |-- 5 : 4 --| > > (5 quintuplet 32nds = 1 eighth-note) > > or >{ 8 ~ 16. } > |-- 11 : 7 --| > > (11 32nd-notes in the time of 7) [...] > So, for a _really_ effective \tuplet command, it would be great if the > syntax could allow for specifying these different options -- single > number, ratio, ratio with note values before, after or both sides, > total duration above -- in a concise and simple way, _without_ needing > to engage in copious \overrides and manually writing the contents of > the tuplet bracket. I diasagree. Whether or not you we provide separate commands actually doing the overrides, the choice between all those variants does not appear to convey musical information individually but just constitutes a different choice of consistent notation throughout a piece. Having to specify your style for every tuplet again does not make sense, so this functionality falls squarely into the domain of graphical representation and thus grob overrides, and any commands provided for manipulating them are best kept separate from the commands manipulating the actual timing. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/07/2012 11:52 PM, Reinhold Kainhofer wrote: There is, however, no check whether the fraction with the durations makes sense and matches the real tuplet (in most cases, itwill not). Yes, that's what I mean. I'd like to see something where the fractions and durations are all derived from the tuplet syntax. I don't think that fully automatic tuplet notation will work in all cases. However, there is certainly enough to think about a more general tuplet command in lilypond. The formatting functions are already there, what's missing is the input syntax. Well, just as a very provisional sort of example, I was thinking along these sort of lines: \tuplet 7 { } gives you 7 in the time of 4, and prints just a 7 in the tuplet bracket. \tuplet 7/4 { }gives you regular 7:4 ratio, and by default prints the ratio in the tuplet bracket. \tuplet { 8*7 }/4 { } gives you 7 8th-notes in the time of 4, and would print in the tuplet bracket: 7 {8} : 4 (replacing {8} by an actual 8th note). \tuplet 7/{ 8*4 } { } ditto, but you get the note-value printed the other side of the ratio: 7 : 4 {8} \tuplet {16*7}/{4} { ... } gives you 7 16th-notes in the space of a quarter-note, and would print: 7 {16} : {4} \tuplet {16*7}/{4.} { .. } gives you 7 16th-notes in the space of a dotted quarter (really, a 7:6 ratio), and would print: 7 {16} : {4.} \tuplet {16*7}/{8*3} {...} gives you 7 16th-notes in the space of 3 8th- notes (really, the same as the above), and would print: 7 {16} : 3 {8} Note that at least some of the above examples, by specifying note durations as well as ratios, could in principle be checkable for correctness. Then you could have something like \tupletWithDuration to indicate printing the overall duration above the tuplet value, à la Ferneyhough. It might also be useful to have something which allows you to specify the note-values (so enabling checking) _without_ having them appear in the tuplet bracket. e.g. something like (this is probably stupid, but I hope someone can come up with a better idea): \tuplet {16!*7} / 4 would print the 16th-note, \tuplet {16*7} {4} wouldn't; and similarly \tuplet {16!*7}/{4!} would see the tuplet bracket containing 7 {16} : {4}, while \tuplet {16*7}/{4!} would see it contain 7 : {4}. I don't know if any of the above syntax is feasible as-is (I think my idea involving ! is probably really stupid, I hope the other bits are vaguely sane), but I hope it's at least useful in pointing to the sort of thing that could be done. It's not purely manual overrides... (But still enough rope to hang yourself in the way you describe). For what it's worth, I did appreciate that it wasn't all manual -- it was the rope I was worrying about, though :-) ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 2012-10-07 23:38, Joseph Rushton Wakeling wrote: On 10/07/2012 11:29 PM, Reinhold Kainhofer wrote: http://lsr.dsi.unimi.it/LSR/Item?id=482 http://lsr.dsi.unimi.it/LSR/Item?id=817 I implemented those functions for MusicXML import. Note, however, that lilypond does not automatically use those, you have to manually set them as shown in the snippets. Do I understand right that these functions are entirely manual overrides -- that they specify what to print (either a note-value, or the entire ratio) without reference to the actual tuplet underneath? No, the formatter functions that I wrote use the tuplet fraction. The override does not contain the values of the tuplet fraction, just the note types. E.g. \once \override TupletNumber #'text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4") \times 2/3 { c8 c8 c8 c8 c8 c8 } This will print 3{4}, where the 3 comes from the tuplet fraction and only the base note duration is set in the override. Or the more general case: \once \override TupletNumber #'text = #(tuplet-number::fraction-with-notes "4." "8") \times 2/3 { c4. c4. c4. c4. } This will print a tuplet number 3{4.}:2{8} where the 3 and the 2 comes from the \times command and only the note durations are specified in the override. There is, however, no check whether the fraction with the durations makes sense and matches the real tuplet (in most cases, it will not). There are, however, also formatter functions that override also the tuplet fraction. This is what I'm getting at, you see -- I'd like to see a \tuplet command that takes the information I've given about the tuplet ratio and units and translates that _automatically_ into the correct notation. I don't think that fully automatic tuplet notation will work in all cases. However, there is certainly enough to think about a more general tuplet command in lilypond. The formatting functions are already there, what's missing is the input syntax. I'm not trying to dismiss your work, it's just that I'm leery of purely manual notational overrides because there's always a risk of screwing things up if you later revise the piece and forget to also revise the override (there's a similar problem IIRC with the current solution to customized subsidiary beam-breaking). It's not purely manual overrides... (But still enough rope to hang yourself in the way you describe). Cheers, Reinhold -- -- Reinhold Kainhofer, reinh...@kainhofer.com, http://www.kainhofer.com * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * Edition Kainhofer, Music Publisher, http://www.edition-kainhofer.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/07/2012 11:29 PM, Reinhold Kainhofer wrote: http://lsr.dsi.unimi.it/LSR/Item?id=482 http://lsr.dsi.unimi.it/LSR/Item?id=817 I implemented those functions for MusicXML import. Note, however, that lilypond does not automatically use those, you have to manually set them as shown in the snippets. Do I understand right that these functions are entirely manual overrides -- that they specify what to print (either a note-value, or the entire ratio) without reference to the actual tuplet underneath? This is what I'm getting at, you see -- I'd like to see a \tuplet command that takes the information I've given about the tuplet ratio and units and translates that _automatically_ into the correct notation. I'm not trying to dismiss your work, it's just that I'm leery of purely manual notational overrides because there's always a risk of screwing things up if you later revise the piece and forget to also revise the override (there's a similar problem IIRC with the current solution to customized subsidiary beam-breaking). ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 2012-10-07 23:14, Joseph Rushton Wakeling wrote: Apologies for coming late with these next remarks, but it's perhaps worth thinking about quite how flexible a \tuplet command could be, in respect of some of the various modern notations out there. Just to give a flavour, besides the standard |-- n --| (i.e. bracket with number), and the almost-as-standard |- n : m -| (i.e. ratio), you also might encounter something like, |- 3 : 2 {2} -| or |- 3 {2} : 2 -| where {2}, {4}, {8} etc. represents a written half, quarter, eighth note, etc. http://lsr.dsi.unimi.it/LSR/Item?id=482 http://lsr.dsi.unimi.it/LSR/Item?id=817 I implemented those functions for MusicXML import. Note, however, that lilypond does not automatically use those, you have to manually set them as shown in the snippets. Cheers, Reinhold -- -- Reinhold Kainhofer, reinh...@kainhofer.com, http://www.kainhofer.com * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * Edition Kainhofer, Music Publisher, http://www.edition-kainhofer.com ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: [proposal] easy triplets and tuplets - Draft 3
On 10/07/2012 05:04 PM, Ian Hulin wrote: The design was deliberately restricted to providing shorthands for the \times commands with 2:3 and 3:2 ratios expressed in the n/m rational parameter, however there seemed to be a feeling that the 5:4 ratio was just as common. (See 6. above). Yes, it is, and you can probably also include \septuplet as being equivalent to \tuplet 7 as being equivalent to \times 4/7. That's the established modern standard septuplet, although there are others in the literature past and present (in modern pieces, alternate septuplets are usually given with the explicit ratio, e.g. 7:6, 7:8 etc.). 3. Another suggestion was that \tuplet command could be flexible enough to cater for the the commoner forms of tuplets by using defaults to arguments which the user could omit Apologies for coming late with these next remarks, but it's perhaps worth thinking about quite how flexible a \tuplet command could be, in respect of some of the various modern notations out there. Just to give a flavour, besides the standard |-- n --| (i.e. bracket with number), and the almost-as-standard |- n : m -| (i.e. ratio), you also might encounter something like, |- 3 : 2 {2} -| or |- 3 {2} : 2 -| where {2}, {4}, {8} etc. represents a written half, quarter, eighth note, etc. or perhaps, |- 7 {16} : {4} -| and sometimes things like, |- 5 {16} : 4 {16} -| (which feels a bit redundant but is certainly unambiguous). Of course, conceptually you could also write any arbitrary combination, like |- 5 {16} : 2 {4} -| ... though it's not a notation you're likely to find (never say never...). What you can also get is something where the total duration of the tuplet is indicated above the number or ratio, something like e.g. {4} |-- 3 -- | (3 triplet eighths = 1 quarter note in total) or {8} |-- 5 : 4 --| (5 quintuplet 32nds = 1 eighth-note) or { 8 ~ 16. } |-- 11 : 7 --| (11 32nd-notes in the time of 7) This indicator of total duration is used very widely by Ferneyhough to indicate the total length of the outermost of his extensively nested tuplets (*), and it's quite a useful device in being able to see how long a given complex rhythmic section lasts relative to the conductor's beat. You can see examples here: http://soundandmusic.org/thecollection/files/scores/6634w.pdf (* Ferneyhough's more recent scores, engraved with Finale, seem to omit this notation, which is a shame, and probably entirely down to Finale not being able to provide it automatically.) So, for a _really_ effective \tuplet command, it would be great if the syntax could allow for specifying these different options -- single number, ratio, ratio with note values before, after or both sides, total duration above -- in a concise and simple way, _without_ needing to engage in copious \overrides and manually writing the contents of the tuplet bracket. I realize that's a somewhat broader scope of notation than is really the focus of this proposal, but my feeling is it should be possible to implement as a natural extension of the \tuplet functionality already proposed so far. I just thought I'd bring it up so the design of \tuplet doesn't cut off these possibilities before they've even been considered. I do have some tentative syntax ideas here here, but before putting them forward I'd rather hear what others have to think. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
[proposal] easy triplets and tuplets - Draft 3
Thanks to everyone for their feedback so far. Here is Version 3 of the proposal. There will be new commands to supplement (or eventually replace) the current \times command. 1. \tuplet n/m {} % does what \times does, but not so easily confused with \time % command. 2. \triplet {} % shorthand for current % \times 2/3 command 3. \duplet {} % shorthand for current % \times 3/2 command 4. \quadruplet {} % shorthand for current % \times 3/4 command 5. \sextuplet {} % shorthand for current % \times 4/6 command Discussions seemed to imply that we also might need 6. \quintuplet {} % shorthand for current % \times 4/5 command. The design was deliberately restricted to providing shorthands for the \times commands with 2:3 and 3:2 ratios expressed in the n/m rational parameter, however there seemed to be a feeling that the 5:4 ratio was just as common. (See 6. above). This should be relatively easy to implement by adding declarations to music-functions-init.ly. The following questions were put forward in Version 1: 1. Should the new \tuplet retain the \times meaning of the fraction, i.e. \tuplet 2/3 {c8 c c} uses 2/3 because that's what you'd use if you were just using durations: c8*2/3 c c , or invert it as \tuplet 3/2 {c8 c c} because that reflects better the "three notes in the time of two" definition of a triplet. Feeling generally has been that \tuplet 3/2 {c8 c c} for a triplet was better than the current \times 2/3 style. One vote was for representing this as a ratio e.g. \tuplet 3:2 {c8 c c}. The downside of this is that it would require a parser extension, and provision of a home-brew ratio? predicate to allow validation in the music function. Another suggestion was that the commoner tuplets should be represented as by an integer argument i.e. \tuplet 3 as an equivalent to the current \times 2/3 and equivalent to \tuplet 3/2. These would stand instead of the proposed \triplet etc. commands. Decisions: Use the inverted fraction rather than the ratio format. Use the above \triplet etc. commands in tandem with the new \tuplet: they are more readable although less syntactically elegant. 2. Should the \tuplet command attempt to validate the length of the incoming music expression? I.e. add up the lengths of the constituent notes in the music expression, and see if it would be a valid note-length once multiplied (or divided depending on decision for 1. above) the fraction. Those who commented felt this was not possible. Decision: The \tuplet command will not attempt to validate the length of the incoming music expression. 3. Another suggestion was that \tuplet command could be flexible enough to cater for the the commoner forms of tuplets by using defaults to arguments which the user could omit, e.g.: \tuplet {} % implies \tuplet 3/2 {} % \times 2/3 {} in current syntax. \tuplet with an integer rather than a fraction implies other common tuplets \tuplet 2 implies \duplet \tuplet 3 implies \triplet \tuplet 4 implies \quadruplet \tuplet 6 implies \sextuplet etc. Decision: After looking at some prototype code the \tuplet command will act as simple replacement for \times. Although the idea behind the defaulting/implied values for the fraction parameter are quite elegant as an idea, the disadvantage is that they actually make source code potentially less readable, particularly when we using the command with an integer "fraction" parameter, as we are using number in this case as a keyword. If users want not to code the complete fraction parameter as, they can use \triplet and friends. Cheers, Ian ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel