Re: A question for the wise with brains or those who just used it for a while and know :)
Hi all, Le 14/05/2021 à 16:18, Carl Sorensen a écrit : On 5/14/21, 7:05 AM, "darki...@jesusgod-pope666.info" wrote: The Half note of cause is should still be a half note or half break, I just don't want it taking precious space like that, that is nonsense in my view. I like how they did it in the old days without concern of such things. I just want it nice spread out really, the lower notes I would like to get a little more room as well. Like mixing the new with the old, the best of both worlds :) If you want to make every note take up the space of an eighth note, you can scale the durations. Instead of e2, use e2*1/4 You can do the same for rests. There is also this trick: \layout { \context { \Score \override SpacingSpanner.spacing-increment = 0 } \context { \Voice \override NoteHead.extra-spacing-width = #'(-2 . 2) } } { \cadenzaOn c1 c2 c4 c8 c16 c32 c64 } g4^ \markup \center-column { " " " " \override #'(size . 0.5) % 1 standard \override #'(thickness . 0.1) % 0.1 standard \woodwind-diagram #'flute #'((cc . (one two three))(lh . ())(rh . ())) } If you want to make this process easier, you can define an alist with the flute diagrams, one entry per pitch. It will be a big alist, but you only have to do it once. You can then define a music function (call it fluteNotes) that will take a sequence of notes, and return the notes with the flute diagrams attached as markups. It's possible that Harm (Thomas Morely) or Aaron Hill might even write the music function for you, as they seem to like this kind of programming challenge. So then you could do something like \new \Staff { \fluteNotes {g'4 e'2 d'4} } And you would automatically get the notes with the flute diagrams attached. I think this is the easiest way for you to get the automatic flute diagrams you want. I once posted something like that on the French list (http://lilypond-french-users.1298960.n2.nabble.com/tin-whistle-td7590313.html). Here is an amended version: \version "2.22.0" autoFingerings = #(define-music-function (instrument alist music) (symbol? list? ly:music?) #{ << \new Dynamics { #(music-map (lambda (m) (if (music-is-of-type? m 'note-event) (let* ((pitch (ly:music-property m 'pitch)) (semitones (ly:pitch-semitones pitch)) (reduced-semitones (modulo semitones 12)) (fingerings (or (assv-ref alist reduced-semitones) (begin (ly:music-warning m "fingering for pitch ~a in semitones not found" reduced-semitones) '() (make-music 'SkipEvent 'duration (ly:music-property m 'duration) 'articulations (list (make-music 'TextScriptEvent 'text #{ \markup \center-column { \override #'(size . 0.5) \override #'(thickness . 0.5) \woodwind-diagram #instrument #fingerings } #} m)) (ly:music-deep-copy music)) } { #music } >> #}) % G note is 7 semitones above C) myFingeringAlist.7 = #'((cc . (one two three)) (lh . ()) (rh . ())) % Add further entries in the same way. \autoFingerings flute \myFingeringAlist { g4 } Best regards, Jean
Lyrics and Repeats
Hi all In the Notation manual is described how to manage Lyrics in Repeat conditions. It shows examples the Repeat section following an initial part of music. There are also examples when the Repeat starts the piece and then followed by more music. But if you are searching the combination of these two you search in vain. This was really what I wanted, an initial part before the Repeat then a couple of alternatives and an ending part outside of the repeat and alternatives. Well I understand the author of the manual who left this case aside, because the solution I succeeded to find does not agree with the normal rules described in the manual. The rule with repeated { \skip 1 } was changed. Instead of counting individual tones, you now has to define whole measures. If you do not, the text is gliding away, possibly of the score, it vanishes and you cannot find it! I suppose this is a bug that ought to be corrected. Another observation is that \lyricsto adds an extra space at the start in the case that you define an new lyric at the beginning of the \repeat. So the '\new Lyric \lyricsto "melody" { ' is NOT equivalent with '\new Lyric { \set associatedVoice = "melody" '. This too ought to be a bug. To find this took of course a quite lot of time, and I am still not shure I have catched the full truth. In the following examlple I have used variables for the lyrics, just to test that it work, and it does. The interested can also test removing the "% " before the \lyricsto to see the consequence. I am running LilyPond version 2.21.0 via Frescobaldi. Appended an image of the Music example. Kaj P \version "2.22.0" ta = \lyricmode { % Not re -- peat -- ed. a a a a } tb = \lyricmode { % The first time words. b b b b } tc = \lyricmode { % Sec -- ond time words. c c c c } tx = \lyricmode { x x x x } ty = \lyricmode { y y y y } tz = \lyricmode { z z z z } \score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } \alternative { { c,4 c c c c c c c } { d4 d d d } } e4 e e e } } } \new Lyrics \lyricsto "melody" { \ta << { \tb \tx \tx \tx \repeat unfold 1 { \skip 1 } \tz } \new Lyrics % \lyricsto "melody" { \set associatydVoice = "melody" \tc \repeat unfold 3 { \skip 1 } \ty } >> } >> }
Re: Lyrics and Repeats
On Sat 15 May 2021 at 16:03:54 (+0200), Kaj Persson wrote: > > In the Notation manual is described how to manage Lyrics in Repeat > conditions. It shows examples the Repeat section following an initial > part of music. There are also examples when the Repeat starts the > piece and then followed by more music. But if you are searching the > combination of these two you search in vain. This was really what I > wanted, an initial part before the Repeat then a couple of > alternatives and an ending part outside of the repeat and > alternatives. Well I understand the author of the manual who left this > case aside, because the solution I succeeded to find does not agree > with the normal rules described in the manual. The rule with repeated > { \skip 1 } was changed. Instead of counting individual tones, you now > has to define whole measures. If you do not, the text is gliding away, > possibly of the score, it vanishes and you cannot find it! I suppose > this is a bug that ought to be corrected. > > Another observation is that \lyricsto adds an extra space at the start > in the case that you define an new lyric at the beginning of the > \repeat. So the '\new Lyric \lyricsto "melody" { ' is NOT equivalent > with '\new Lyric { \set associatedVoice = "melody" '. This too ought > to be a bug. > > To find this took of course a quite lot of time, and I am still not > shure I have catched the full truth. In the following examlple I have > used variables for the lyrics, just to test that it work, and it does. > The interested can also test removing the "% " before the \lyricsto to > see the consequence. > > I am running LilyPond version 2.21.0 via Frescobaldi. Appended an > image of the Music example. Perhaps you should look back at this post from last week: https://lists.gnu.org/archive/html/lilypond-user/2021-05/msg00038.html You have to choose one method or the other, not a sort of mixture. BTW your lyrics have no durations, fair enough with method 1, but then the same will be true for \skips. Syntactically, however, they must have a numeric suffix, whose value is ignored. (§ Invisible rests, p62 NR 2.22.0) Cheers, David.
Basic functions
I want to include a change of midi tempo at various points in a score, using something like \setSpeed #2 #120 where setSpeed = #(define-music-function (parser location scale speed) (number? number? ) #{ \set Score.tempoHideNote = ##t \tempo scale = speed #} ) I'm still using 2.18 I'm afraid, which still used the parser and location parameters.. I'm assuming this should be a music function rather than markup, but perhaps my arguments aren't numbers. In this case the function is hardly worth it, but I want to base more complicated routines on it, and have failed at the first hurdle! Jonathan
Re: Basic functions
Le 15/05/2021 à 19:49, Jenifer Tribe a écrit : I want to include a change of midi tempo at various points in a score, using something like \setSpeed #2 #120 where setSpeed = #(define-music-function (parser location scale speed) (number? number? ) #{ \set Score.tempoHideNote = ##t \tempo scale = speed #} ) I'm still using 2.18 I'm afraid, which still used the parser and location parameters.. I'm assuming this should be a music function rather than markup, but perhaps my arguments aren't numbers. In this case the function is hardly worth it, but I want to base more complicated routines on it, and have failed at the first hurdle! There are two mistakes here: - In the function, scale and speed are interpreted as strings. You want $scale and $speed (the reason for using $ instead of # is explained in [1]). - The scale argument is a duration, not a number (you can do \tempo 4. = 120 for instance). Corrected version: \version "2.23.3" setSpeed = #(define-music-function (parser location scale speed) (ly:duration? number?) #{ \set Score.tempoHideNote = ##t \tempo $scale = $speed #}) \score { { \setSpeed 4. 4 c } \layout { } \midi { } } There is also the possibility of doing \layout { \context { \Score tempoHideNote = ##t } } to set tempoHideNote globally (read [2]), and then you can just use the normal \tempo command in the music. Best, Jean [1] https://extending-lilypond.readthedocs.io/en/latest/lily-and-scheme.html#hash-vs-dollar [2] http://lilypond.org/doc/v2.22/Documentation/notation/changing-context-default-settings
how to engrave an arpeggio based on a chord of differing length notes?
Hello; I have an interesting engraving problem I haven't seen before (example png file attached). I understand how to handle the tuplet, the crescendo, the decrescendo and the general polyphony, even the arpeggio. However, the arpeggio is based on a half note and a dotted half note. How to handle that? I'm using Lilypond 2.22.0. Thanks, Ken Wolcott
Re: how to engrave an arpeggio based on a chord of differing length notes?
> On 15 May, 2021, at 7:39 PM, Kenneth Wolcott wrote: > > Hello; > > I have an interesting engraving problem I haven't seen before > (example png file attached). > > I understand how to handle the tuplet, the crescendo, the > decrescendo and the general polyphony, even the arpeggio. > > However, the arpeggio is based on a half note and a dotted half > note. How to handle that? Are you sure it’s an appregio and not a quarter rest? ✝✝ Fr. Samuel, OSB (R. Padraic Springuel) St. Anselm’s Abbey 4501 South Dakota Ave, NE Washington, DC, 20017 202-269-2300 (c) 202-853-7036 PAX ☧ ΧΡΙΣΤΟΣ
Re: how to engrave an arpeggio based on a chord of differing length notes?
Well, that certainly makes it a lot simpler! :-) Thanks for helping with the obvious that I just did not see. Awesome! On Sat, May 15, 2021 at 5:20 PM Fr. Samuel Springuel wrote: > > > On 15 May, 2021, at 7:39 PM, Kenneth Wolcott > > wrote: > > > > Hello; > > > > I have an interesting engraving problem I haven't seen before > > (example png file attached). > > > > I understand how to handle the tuplet, the crescendo, the > > decrescendo and the general polyphony, even the arpeggio. > > > > However, the arpeggio is based on a half note and a dotted half > > note. How to handle that? > > Are you sure it’s an appregio and not a quarter rest? > > ✝✝ > Fr. Samuel, OSB > (R. Padraic Springuel) > St. Anselm’s Abbey > 4501 South Dakota Ave, NE > Washington, DC, 20017 > 202-269-2300 > (c) 202-853-7036 > > PAX ☧ ΧΡΙΣΤΟΣ >
Re: Lyrics and Repeats
2021-05-15 20:31 skrev David Wright: On Sat 15 May 2021 at 16:03:54 (+0200), Kaj Persson wrote: In the Notation manual is described how to manage Lyrics in Repeat conditions. It shows examples the Repeat section following an initial part of music. There are also examples when the Repeat starts the piece and then followed by more music. But if you are searching the combination of these two you search in vain. This was really what I wanted, an initial part before the Repeat then a couple of alternatives and an ending part outside of the repeat and alternatives. Well I understand the author of the manual who left this case aside, because the solution I succeeded to find does not agree with the normal rules described in the manual. The rule with repeated { \skip 1 } was changed. Instead of counting individual tones, you now has to define whole measures. If you do not, the text is gliding away, possibly of the score, it vanishes and you cannot find it! I suppose this is a bug that ought to be corrected. Another observation is that \lyricsto adds an extra space at the start in the case that you define an new lyric at the beginning of the \repeat. So the '\new Lyric \lyricsto "melody" { ' is NOT equivalent with '\new Lyric { \set associatedVoice = "melody" '. This too ought to be a bug. To find this took of course a quite lot of time, and I am still not shure I have catched the full truth. In the following examlple I have used variables for the lyrics, just to test that it work, and it does. The interested can also test removing the "% " before the \lyricsto to see the consequence. I am running LilyPond version 2.21.0 via Frescobaldi. Appended an image of the Music example. Perhaps you should look back at this post from last week: https://lists.gnu.org/archive/html/lilypond-user/2021-05/msg00038.html You have to choose one method or the other, not a sort of mixture. BTW your lyrics have no durations, fair enough with method 1, but then the same will be true for \skips. Syntactically, however, they must have a numeric suffix, whose value is ignored. (§ Invisible rests, p62 NR 2.22.0) Cheers, David. Thank you, David, for your reply and your efforts to explain my experiences. Unfortunately you did not succeed completely. First you notice that there are no duration figures with the words/syllables in the lyrics. The only exceptions are the skip commands. I have used this method because the manual suggests it. I have read that in lyric text LilyPond ignores the figure at \skip. I have seen an implied word "never", but from your answer one should possibly understand it as "sometimes" or at least "most often". I think I have read most of the relevant parts in Notation manual and also Learning manual, but, according to what I can remember, I have nowhere seen a declaration of the conditions when LilyPond in fact uses the duration figure of \skip. Obviously I have happened to run across such a condition. It also explains my observation that the \skip command does not mean individual notes/tones but whole measures. The figure 1 does mean a full measure in the tempo 4/4. So it should mean two measures in 2/2, but I have not tested that. All this, until these conditions are presented, about when LilyPond uses the figure, makes me, from now on, skip the \skip and instead use one of the alternatives which I by chance happened to discover in the snippets manual (I think it was) namely the empty string ("") or the underscore (_), which at a quick test seem not to have the drawbacks of \skip. The method of defining the duration for every word/syllable really does not entice me much. Letting the notes alone define the durations is too comfortable for that. Moreover I have not found how to return to the normal mode, if I at a short, special section, does define the durations for lyrics words. All this so long, however, does not explain the extra space introduced by \lyricsto, so that is another question. Regards and once again, thank you David for your try to help. /Kaj So
Re: Lyrics and Repeats
On 2021-05-15 9:07 pm, Kaj Persson wrote: [...] \addlyrics and \lyricsto are related constructs that both create LyricCombineMusic. This is what allows you to enter lyric syllables without specifying durations, where the durations are inferred by an associated Voice. Note that in this special mode and only this mode, \skip durations are ignored. So it is the count of \skips that matter. When you are entering lyrics outside LyricCombineMusic, you must specify durations manually lest they be assumed given the most recently specified duration. In this case, \skip carries its normal meaning where the duration matters. It should be noted that \setting associatedVoice has no effect outside of LyricCombineMusic. Here is an example demonstrating the difference between using \lyricsto and manual durations: \version "2.22.0" lyricSkip = #(define-music-function (count) (integer?) "Inserts the specified number of lyric skips." #{ \repeat unfold #count \skip 1 #}) << \new Voice = melody { \time 3/4 \partial 4 g'8 8 \repeat volta 2 { 2 4 } \alternative { { 2 4 | 2 8 8 } { 4 2 } } 2. \bar "|." } \new Lyrics \lyricsto melody { \set stanza = "lyricsto" a b | c d | e f | g h i } \new Lyrics \lyricsto melody { \lyricSkip 2 | j k \lyricSkip 5 | l m | n } \new Lyrics \lyricmode { \set stanza = "manual" a8 b | c2 d4 | e2 f4 | g2 h8 i } \new Lyrics \lyricmode { \skip 4 | j2 k4 \skip 2.*2 | l4 m2 | n2. } >> -- Aaron Hill