Re: why chords with notes of different duration is not supported?
On Wed, Jan 12, 2011 at 12:04:50AM -0500, Marc Mouries wrote: > i'd like to know about the rationale behind not supporting chords with notes > of different duration. Because there's no such thing as a chord with notes of different duration. > In the case typesetting violin music it would be much simpler if the notation > for chord allowed for notes of different duration. > It also applies to other instruments where chords are arpegiated and the top > notes continue. That's not a chord. That's multiple voices, and they're simple to write in lilypond. Please read the learning manual. If anybody was interested, they could write a music function which automatically translates the music into the relevant multiple voices. The input code would look like this: \violinChord{ g4 d' b' g'2 } Once such a function were written by a user, it could be uploaded to LSR or just sent here for discussion. Once any bugs were worked out, it could be included in lilypond. - Graham ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: why chords with notes of different duration is not supported?
Am Mittwoch, 12. Januar 2011, um 09:02:19 schrieb Graham Percival: > On Wed, Jan 12, 2011 at 12:04:50AM -0500, Marc Mouries wrote: > > i'd like to know about the rationale behind not supporting chords with > > notes of different duration. > > Because there's no such thing as a chord with notes of different > duration. But there is a notation for multiple stops that looks like a chord with notes of different duration. See e.g. Gardner Read, Example 23-12 (p.389): http://www.fam.tuwien.ac.at/~reinhold/temp/Read_MultiStoppedChords.png > > In the case typesetting violin music it would be much simpler if the > > notation for chord allowed for notes of different duration. It also > > applies to other instruments where chords are arpegiated and the top > > notes continue. > > That's not a chord. That's multiple voices, and they're simple to > write in lilypond. Please read the learning manual. To quote Gardner Read: "Chord notation for string instruments often appears incorrect to the non-string player." As a violin can only play one note, the other notes of the chord needs to be arpeggiated, and the chord notation shows which note will last and which will only sound for a short time. Cheers, Reinhold -- -- Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/ * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * LilyPond, Music typesetting, http://www.lilypond.org ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: why chords with notes of different duration is not supported?
On Wed, Jan 12, 2011 at 09:15:41AM +0100, Reinhold Kainhofer wrote: > Am Mittwoch, 12. Januar 2011, um 09:02:19 schrieb Graham Percival: > > On Wed, Jan 12, 2011 at 12:04:50AM -0500, Marc Mouries wrote: > > > i'd like to know about the rationale behind not supporting chords with > > > notes of different duration. > > > > Because there's no such thing as a chord with notes of different > > duration. > > But there is a notation for multiple stops that looks like a chord with notes > of different duration. Before moving to computer science, I was a cello teacher. And I'm now playing first violin in an orchestra doing, amongst other things, Tchaik's Romeo and Juliet. I also played viola for half of my music degree. I'm very familiar with (bowed) string music. > > That's not a chord. That's multiple voices, and they're simple to > > write in lilypond. Please read the learning manual. > > To quote Gardner Read: "Chord notation for string instruments often appears > incorrect to the non-string player." There's a couple of separate issues here: - what is the precise definition of a "chord" according to an arbitrary violinist? - what is the precise definition of a "chord" according to an expert in music notation? - what is the precise definition of a "chord" according to the lilypond manual? - what is the precise definition of a "chord" according to the lilypond internal code (be it scheme or C++)? > As a violin can only play one note, two notes, you mean. Look, if you want to get a violinist "chord", you do this: \new Staff \relative c'' { << { \voiceOne g,4 } { \voiceOne d'4 } { \voiceOne b'4 } { \voiceOne g'2 } >> } not hard. Wrap it up in a music function to make it easier. If somebody wants to work on adding such a music function to lilypond itself, send an email to the frog list, or a patch to the -devel list. If somebody wants to talk about the lilypond input syntax -- such as making the <> construct allow different durations -- then wait until GLISS. - Graham ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: ottava bassa
Neil Puttock escribió: You can force a manual ottava bracket by setting ottavation. thank you, neil! your code works very well using the correct pitches. still so much to learn about lilypond... ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: why chords with notes of different duration is not supported?
Graham Percival writes: > On Wed, Jan 12, 2011 at 09:15:41AM +0100, Reinhold Kainhofer wrote: > >> But there is a notation for multiple stops that looks like a chord >> with notes of different duration. > > Before moving to computer science, I was a cello teacher. And I'm now > playing first violin in an orchestra doing, amongst other things, > Tchaik's Romeo and Juliet. I also played viola for half of my music > degree. I'm very familiar with (bowed) string music. So you should be perfectly aware that the notation Reinhold refers to (including references, by the way) exists. >> > That's not a chord. That's multiple voices, and they're simple to >> > write in lilypond. Please read the learning manual. >> >> To quote Gardner Read: "Chord notation for string instruments often >> appears incorrect to the non-string player." > > There's a couple of separate issues here: > - what is the precise definition of a "chord" according to an > arbitrary violinist? > - what is the precise definition of a "chord" according to an > expert in music notation? > - what is the precise definition of a "chord" according to the > lilypond manual? > - what is the precise definition of a "chord" according to the > lilypond internal code (be it scheme or C++)? I think you are focusing on the wrong issues here. Precise definitions of "chord" don't even matter. Lilypond is not a composer, it is notation software. The purpose of notation software is to put down a suitable visible representation of how composers wish to see their concepts expressed when specified in a reasonable manner in Lilypond's input language. String music composers use chords with notes of different length. There are references for that. The execution is clear. Whether or not you like the notation or concept, it is there to stay, and saying Lilypond should not be allowed to deal with this notation well because composers should rather get a clue is putting the cart before the horse. >> As a violin can only play one note, > > two notes, you mean. If you are not worried about tonal balance all too much, three on a modern violin, and four on a HIP violin with flat bridge. Tends to sound awful, but that's not an absolute deterrent for modern composers. Or even players. > Look, if you want to get a violinist "chord", you do this: > \new Staff \relative c'' { > << > { \voiceOne g,4 } > { \voiceOne d'4 } > { \voiceOne b'4 } > { \voiceOne g'2 } > >> > } > > not hard. Wrap it up in a music function to make it easier. It works by accident, with clashing notehead warnings, and with stems that just happen to overlap if you are lucky and are not subject to Lilypond's usual operations ensuring good quality. > If somebody wants to work on adding such a music function to lilypond > itself, send an email to the frog list, or a patch to the -devel list. > If somebody wants to talk about the lilypond input syntax -- such as > making the <> construct allow different durations -- then wait until > GLISS. I resend my patch that will do the right thing when just writing << g,4 d'4 b'4 g'2 >> I sent it to the devel list. All I got was one comment that this would likely not be accepted. Questions why this was so were not replied to. One basic problem with Lilypond's voices is just that the contexts are not fine-grained enough. For proper typesetting, you would need at least one context operating _before_ stemming and beaming. Possibly even something in between. There once have been subvoices (called threads) which were removed, as far as I can tell mainly because it was hard enough as it was to specify the right context when manipulating properties, and so cutting down the number of contexts was deemed an improvement. As a result, there are quite a number of constructs in the notation manual that work with artificial voices and hidden notes, clearly not at all being a logical representation of the composer's intention. That's a deficiency, not an advantage of Lilypond. For the record, I append the patch. I tested it just slightly. One area that could be problematic is what happens in Midi, and what total time is assigned to the construct when typesetting (should likely be the shortest, and probably is just undefined in the current state of the patch). >From 3b1f96dde917bf96adad478c9f5e033f33bbf78e Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Wed, 12 Jan 2011 13:07:42 +0100 Subject: [PATCH 1/2] lily/stem-engraver.cc: allow distinguishable durations to be stemmed together (string chords) --- lily/stem-engraver.cc | 18 +- 1 files changed, 17 insertions(+), 1 deletions(-) diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index d09e3b9..96ebd10 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -134,7 +134,23 @@ Stem_engraver::acknowledge_rhythmic_head (Grob_info gi) if (!stem_) make_stem (gi); - if (Stem::duration_log (stem_) != d->duration_log ()) + int ds = St
Release candiate 1 of 2.14 - LilyPond 2.13.46 released!
LilyPond 2.13.46 is out; this is the first release candidate of the upcoming 2.14 stable release. All users are invited to experiment with this version. New features since 2.12.3 are listed in the “Changes” manual on the website section about Development. http://lilypond.org/development.html There are no known Critical issues with this release. If no Critical bugs are found, then the official 2.14.0 release will be on 26 Jan 2011. If you discover any problems, please send us Bug reports. http://lilypond.org/bug-reports.html Cheers, - Graham ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: ottava bassa
Reinhold Kainhofer escribió: No, not easily. Currently, the callback function make-ottava-set for OttavaMusic has it hardcoded to assign the ottavation properties to the staff: thank you for the clarification, i'm not familiar with the source code (i'm not a programmer). If you modify that function in scm/define-music-callbacks.scm to 'Voice instead of 'Staff, then \ottava only applies to the current voice (which is, however, probably now what we want by default). i guess you meant that this is *not* what we want? it really isn't? i mean, if you instantiate two voices and put the \ottava indication only in one, i guess you only want the octave change only in that voice. not uncommon in piano music, among other cases. best, lj ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: why chords with notes of different duration is not supported?
On Wed, Jan 12, 2011 at 01:17:46PM +0100, David Kastrup wrote: > Graham Percival writes: > > > Before moving to computer science, I was a cello teacher. And I'm now > > playing first violin in an orchestra doing, amongst other things, > > Tchaik's Romeo and Juliet. I also played viola for half of my music > > degree. I'm very familiar with (bowed) string music. > > So you should be perfectly aware that the notation Reinhold refers to > (including references, by the way) exists. Yes, and I (apparently falsely) believed that I showed how to create that notation without using lilypond chord constructs. > > There's a couple of separate issues here: > > - what is the precise definition of a "chord" according to an > > arbitrary violinist? > > - what is the precise definition of a "chord" according to an > > expert in music notation? > > - what is the precise definition of a "chord" according to the > > lilypond manual? > > - what is the precise definition of a "chord" according to the > > lilypond internal code (be it scheme or C++)? > > I think you are focusing on the wrong issues here. Precise definitions > of "chord" don't even matter. Lilypond is not a composer, it is > notation software. The purpose of notation software is to put down a > suitable visible representation of how composers wish to see their > concepts expressed when specified in a reasonable manner in Lilypond's > input language. I'm not focusing on them; I'm listing them so that people can clearly state which one they're interested in. > String music composers use chords with notes of different length. There > are references for that. The execution is clear. Whether or not you > like the notation or concept, it is there to stay, and saying Lilypond > should not be allowed to deal with this notation well because composers > should rather get a clue is putting the cart before the horse. So you are stating that: 1. violinists believe that a "chord" can contain notes of different durations. 2. notation experts believe that a "chord" can contain notes of different durations. 3. lilypond should have a way of creating this notation. (note that I'm not using the word "believe" in a derogatory sense) Point 1 is definitely correct. I have no opinion on point 2; I am neither an expert on notation, nor particularly interested in the subject. But I have no interest in disputing point 2. The remaining question is "how should lilypond create that notation", which can be divided into: - "how should lilypond represent this notation internally" (I note that your patch uses simultaneous music rather than lilypond "chords") - "how should we explain how to use this notation in our docs" I have no opinion on the first question, since it's outside of my expertise. I do not expect the second question to be problematic, but I will certainly review any doc patches, and if anything major needs to be done, I'll definitely help with that. > > Look, if you want to get a violinist "chord", you do this: > > \new Staff \relative c'' { > > << > > { \voiceOne g,4 } > > { \voiceOne d'4 } > > { \voiceOne b'4 } > > { \voiceOne g'2 } > > >> > > } > > > > not hard. Wrap it up in a music function to make it easier. > > It works by accident, with clashing notehead warnings, and with stems > that just happen to overlap if you are lucky and are not subject to > Lilypond's usual operations ensuring good quality. Oh, I didn't realize that the stems were overlapping rather than actually merged. > I resend my patch that will do the right thing when just writing > > << g,4 d'4 b'4 g'2 >> Great! > I sent it to the devel list. All I got was one comment that this would > likely not be accepted. Questions why this was so were not replied to. ... Please tell me that you are not surprised that our development process is a mess. Please tell me that you know that we've been making a lot of noise about this over the past six months. Please tell me that you are aware of the huge number of issues in: http://lilypond.org/doc/v2.13/Documentation/contributor/policy-decisions in particular, the "patch reviewing" item. I've stated a few times that this should be our first big policy discussion once 2.14 is out. -snip- > That's a deficiency, not an advantage of Lilypond. Agreed! And it's great to see some work in this area. Cheers, - Graham ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: why chords with notes of different duration is not supported?
David Kastrup writes: > For the record, I append the patch. I tested it just slightly. One > area that could be problematic is what happens in Midi, and what total > time is assigned to the construct when typesetting (should likely be > the shortest, and probably is just undefined in the current state of > the patch). Postscriptum: strike that "problematic" idea. The stem engraver is not involved with timing of parallel passages at all. So the patch will merely reduce the number of warnings. I also apparently was wrong about the stems merely overlapping: you _do_ get a common stem already, just with a stern warning. My patch merely removes the warning when the common stem does not result in an ambiguous visual representation. It does not affect the output at all. So I misremembered a few things. The patch is not really invasive as it only makes Lilypond be quiet when things work out according to what one can find in string notation. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: ottava bassa
- Original Message - From: > If you modify that function in scm/define-music-callbacks.scm to 'Voice > instead of 'Staff, then \ottava only applies to the current voice (which > is, > however, probably now what we want by default). i guess you meant that this is *not* what we want? it really isn't? i mean, if you instantiate two voices and put the \ottava indication only in one, i guess you only want the octave change only in that voice. not uncommon in piano music, among other cases. The problem with this approach is: if you want the ottavation to apply to the staff, which is common, would you need to set it in each voice? And then you'd need to detect that it had already been set and not typeset it. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re:why chords with notes of different duration is not, supported?
I resend my patch that will do the right thing when just writing << g,4 d'4 b'4 g'2>> A couple of comments: If I were to typeset this chord, my first choice would be to tweak the duration-log of some of the note-heads within a normal chord, see for example http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00188.html. Agreed, this is an ugly syntax that requires a good understanding of the LilyPond internals, even though the technique explicitly is mentioned in the section on Tweak, in the Notation Reference. This could be an answer to Grahams question on how to implement the feature internally in LilyPond. We shouldn't blame Bach! If you look at his autograph, you will see that he uses separate stems for the different notes. This has been very thoroughly imitated in the edition prepared by late Werner Icking, see for example the first bars of http://icking-music-archive.org/scores/bach/sonatas_and_partitas/bwv1001.pdf (typeset using MusiXTeX), in case you don't have access to a good copy of the autograph and think that http://upload.wikimedia.org/wikipedia/commons/a/a5/BWV1001.jpg is too small. However, there are many other composers that use the notation you are discussing (in addition to lots of editions of Bach). /Mats ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
feedback on 2.13.46
Hello, Using 2.13.46 still can't automatically spread staves/systems into fittable layout, thus there are still "couldn't fit music on page". Haipeng ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: function looksSlower from LSR produces many warnings
On 1/12/2011 2:00 AM, Nick Payne wrote: On 12/01/11 16:08, Marc Mouries wrote: On Jan 11, 2011, at 6:34 PM, Carl Sorensen wrote: On 1/11/11 11:30 AM, "Marc M" wrote: As a matter of fact, I get the same warnings without the function but with \stemUp with the code: \version "2.13.45" \language "english" \score { \relative g' { << { \stemUp g, } \\ { \stemUp d' } \\ { \stemUp b' } \\ { \stemUp g' }>> } } Not clear why because the music looks ok. Because you have four different voices that are all trying to share the same space. This means they collide. In this particular instance, the collision is not a problem; it's the desired behavior. it's also not clear why \stemUp is necessary with voices while the stems are in the right direction when we just print a chord: \version "2.13.45" \language "english" \score { \relative g' { 4 } } Because the chord is in a single voice, which has a given stem direction. When you do the parallel music, instead of the chord, you create *four* voices. And normally we like to distinguish between voices, so we want the stems to be different. This might be true for Choral music where the voice are played by different player or singer but that's not the case for Violin. This is how all editions print Bach's Solo Sonata for Violin. Please see the Learning Manual, section 3.2.1, for more explanation on this subject. You really need to understand this concept to use LilyPond effectively for complex music. Thanks for the link but I have read this section of the doc. I find all of this tuning is needed because lilypond does not support writing chords with notes of different duration. If this was supported music complex music like the solo sonatas would be much simpler to typeset. I like lilypond and at the beginning I recommended it to other violinists but they found it was too developer oriented. Which, on my side i like the power of function that can be applied but I find myself spending more and more (too much) time to adjust lilypond layout. This might be because i am typesetting more complex music now but i'd like for lilypond to have a more approachable and more intuitive notation. Typesetting music for one instrument with different voice is definitely not only a to lay music out nicely but also to edit the lilypond code due to the multiple voices required just to enter few "chords" here and there. If you have a look at the Mutopia Project web site, all the Bach solo violin Sonatas and Partitas are there, all set with Lilypond and with the ly source files available... Nick thanks i just downloaded it and the layout does not look good. http://www.mutopiaproject.org/ftp/BachJS/BWV1001/bwv-1001_1/bwv-1001_1-let.pdf ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: why chords with notes of different duration is not supported?
On 1/12/2011 4:40 AM, Graham Percival wrote: On Wed, Jan 12, 2011 at 09:15:41AM +0100, Reinhold Kainhofer wrote: Am Mittwoch, 12. Januar 2011, um 09:02:19 schrieb Graham Percival: On Wed, Jan 12, 2011 at 12:04:50AM -0500, Marc Mouries wrote: i'd like to know about the rationale behind not supporting chords with notes of different duration. Because there's no such thing as a chord with notes of different duration. But there is a notation for multiple stops that looks like a chord with notes of different duration. Before moving to computer science, I was a cello teacher. And I'm now playing first violin in an orchestra doing, amongst other things, Tchaik's Romeo and Juliet. I also played viola for half of my music degree. I'm very familiar with (bowed) string music. So what's the point of saying "Because there's no such thing as a chord with notes of different duration" ? That does not help the communication. That's not a chord. That's multiple voices, and they're simple to write in lilypond. Please read the learning manual. To quote Gardner Read: "Chord notation for string instruments often appears incorrect to the non-string player." There's a couple of separate issues here: - what is the precise definition of a "chord" according to an arbitrary violinist? - what is the precise definition of a "chord" according to an expert in music notation? - what is the precise definition of a "chord" according to the lilypond manual? - what is the precise definition of a "chord" according to the lilypond internal code (be it scheme or C++)? A chord is simply several notes played simultaneously and that definition is the same for a violinist, a pianist or a percussion player. As a violin can only play one note, two notes, you mean. yes really simultaneously 2. That's why strings players use the term "double-stop". Double-stop usually have the same duration while playing a 3 or 4 notes chords can be played in different ways. The 1st 2 strings together and then the top 2 together or some other combination. That's the part that is left for interpretation. However it is very frequent that the top note in a chord played by a bowed-string instrument is prolonged onto the next sequence. That the problem #1 i encountered while typesetting some parts of Beethov 5th symphony. The 2nd problem is that in Baroque music the notes of the chord can be written in cascade from top to bottom while later this was no longer used but still played in an arpeggiated mode. Look, if you want to get a violinist "chord", you do this: \new Staff \relative c'' { << { \voiceOne g,4 } { \voiceOne d'4 } { \voiceOne b'4 } { \voiceOne g'2 } >> } not hard. not hard but verbose and not user-friendly. If the notes are all attached to the same voice why not allowing: << g,4 d'4 b'4 >> ? Of course then to be authentic typesetters will want the ability to adjust the layout of the notes in a) a normal chord with all the notes aligned vertically or b) the notes in staggered rows. Just look at the 3 measures of this score produced by lilypond: http://www.mutopiaproject.org/ftp/BachJS/BWV1001/bwv-1001_1/bwv-1001_1-let.pdf Wrap it up in a music function to make it easier. If somebody wants to work on adding such a music function to lilypond itself, send an email to the frog list, or a patch to the -devel list. If somebody wants to talk about the lilypond input syntax -- such as making the<> construct allow different durations -- then wait until GLISS. - Graham It's probably better to continue this discussion until GLISS then. -Marc ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: why chords with notes of different duration is not supported?
[About chords which contain notes of different durations, sometimes seen in string music.] > If the notes are all attached to the same voice why not allowing: > > << g,4 d'4 b'4>> ? If at all, the syntax would be e.g. and the chord's duration would be the maximum of the single note's durations. This syntax extension looks quite natural to me. Perhaps it makes sense to add it to the tracker as an enhancement request? I've CCed bug-lilypond. Werner ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user