Re: Undertie in lyrics to show no breath
Hello Mancunius, personally I like to do such things like this: \language "english" global = { \key d \major } soprano=\relative c'{ r2 r4 fs b4 b8 b d2 ~ d4 cs cs %\breathe d ~ d8 cs b4 b as b2. fs4 fs2 r2 } startTie = #(define-music-function (m) (ly:music?) #{ << \once\set tieWaitForNote = ##t \tweak staff-position #1 \tweak transparent ##t c''-\tweak direction #DOWN ~ $m >> #}) endTie = #(define-music-function (m) (ly:music?) #{ << \tweak staff-position #1 \tweak transparent ##t c'' $m >> #}) \layout { \context { \Lyrics \consists Note_heads_engraver \consists Tie_engraver } } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- \startTie um, \endTie O __ sa -- _ crum con -- ví -- vi -- um } \score { { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } } The main problem here is that this will align the tie to the actual position, not to the right/left edges of the LyricsText. For this it would be quite simple to do some engraver magic that sets appriate hook for such alignment. Cheers, Valentin Am Mittwoch, 20. Juli 2022, 12:34:58 CEST schrieb mancunius: > Hello. In the following example I want the undertie to be placed between the > 2 “O sacrum convivium” lines of lyrics, to indicate that no breath should > be taken by the singers - as per the normal choral convention. (cf. the > commented-out \breathe command in the music itself.) As it currently > compiles, the undertie is placed beneath the word “O” of the second phrase. > How do I adjust it so that it becomes a link between the 2 phrases, not > part of one of them? (I’ve attached a screenshot of what I would like to > achieve) > > Thanks, > > mancunius > > \version "2.20.0" > \language "english" > > global = > { > \key d \major > } > > soprano=\relative c'{ > r2 r4 fs > b4 b8 b d2 ~ > d4 cs cs %\breathe > d ~ > d8 cs b4 b as > b2. fs4 > fs2 r2 > } > > sopranotext=\lyricmode{ > O sa -- crum con -- ví -- vi -- um, \markup\undertie > O __ sa -- _ crum con -- ví -- vi -- um > } > > \score { > { > \new Staff << > \global > \new Voice="v1" > { > \clef "treble" > \soprano > } > \new Lyrics \lyricsto "v1" {\sopranotext} > > } > } signature.asc Description: This is a digitally signed message part.
Re: Undertie in lyrics to show no breath
Am Mi., 20. Juli 2022 um 15:18 Uhr schrieb mancunius : > > Hello. In the following example I want the undertie to be placed between the > 2 “O sacrum convivium” lines of lyrics, to indicate that no breath should be > taken by the singers - as per the normal choral convention. (cf. the > commented-out \breathe command in the music itself.) As it currently > compiles, the undertie is placed beneath the word “O” of the second phrase. > How do I adjust it so that it becomes a link between the 2 phrases, not part > of one of them? (I’ve attached a screenshot of what I would like to achieve) > > Thanks, > > mancunius > > \version "2.20.0" > \language "english" > > global = > { > \key d \major > } > > soprano=\relative c'{ > r2 r4 fs > b4 b8 b d2 ~ > d4 cs cs %\breathe > d ~ > d8 cs b4 b as > b2. fs4 > fs2 r2 > } > > sopranotext=\lyricmode{ > O sa -- crum con -- ví -- vi -- um, \markup\undertie > O __ sa -- _ crum con -- ví -- vi -- um > } > > \score { > { > \new Staff << > \global > \new Voice="v1" > { > \clef "treble" > \soprano > } > \new Lyrics \lyricsto "v1" {\sopranotext} > >> > } > } > Probably: \version "2.20.0" \language "english" withLyricTie = \with { \consists "Text_spanner_engraver" \override TextSpanner.direction = #DOWN \override TextSpanner.bound-details.left.attach-dir = #0 \override TextSpanner.bound-details.left.padding = 0 \override TextSpanner.bound-details.right.attach-dir = 0 \override TextSpanner.bound-details.right.padding = 0 \override TextSpanner.outside-staff-priority = ##f \override TextSpanner.padding = 0.2 \override TextSpanner.stencil = #(grob-transformer 'stencil (lambda (grob orig) (let* ((left-info (ly:grob-property grob 'left-bound-info)) (left-padding (assoc-get 'padding left-info)) (right-info (ly:grob-property grob 'right-bound-info)) (right-padding (assoc-get 'padding right-info)) (stil-x-ext (ly:stencil-extent orig X))) (make-tie-stencil (cons (+ (car stil-x-ext) left-padding) 0) (cons (- (cdr stil-x-ext) right-padding) 0) 0.1 DOWN } global = { \key d \major } soprano=\relative c'{ r2 r4 fs b4 b8 b d2 ~ d4 cs cs \breathe d ~ d8 cs b4 b as b2. fs4 fs2 r2 } sopranotext=\lyricmode{ %% Adjust with below, change values to taste. \override TextSpanner.bound-details.left.padding = 0.25 \override TextSpanner.bound-details.right.padding = 0.25 O sa -- crum con -- ví -- vi -- um,\startTextSpan O\stopTextSpan __ sa -- _ crum con -- ví -- vi -- um } \score { { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \with \withLyricTie \lyricsto "v1" {\sopranotext} >> } } Cheers, Harm
Re: Undertie in lyrics to show no breath
On Fri 22 Jul 2022 at 12:52:17 (+0200), mancunius wrote: > On 22 Jul 2022, at 10:41, Jean Abou Samra wrote: > > Le 22/07/2022 à 10:27, Simon Albrecht a écrit : > >> On 20/07/2022 12:34, mancunius wrote: > >>> Hello. In the following example I want the undertie to be placed between > >>> the 2 “O sacrum convivium” lines of lyrics, to indicate that no breath > >>> should be taken by the singers - as per the normal choral convention. > >>> (cf. the commented-out \breathe command in the music itself.) As it > >>> currently compiles, the undertie is placed beneath the word “O” of the > >>> second phrase. > >> > >> This is because the markup command \undertie requires an argument and so > >> it is applied to the following syllable. > >> > >> What I would suggest is a dotted or dashed slur between the notes like > >> this: > >> > >> { \once\dashedSlur cs( d) } > > Well, as David W. mentioned, there is predefined syntax with "~" to create > > a tie. Its length is fixed, however. > > > > { c'1 1 } > > \addlyrics { aah~ aah } > > > > Do you think it's conventional to make the tie extend to the next syllable? > > Thank you for the replies. The lyric tie doesn’t need to extend to the next > syllable, but it looks odd when appended to the left syllable at the same > time as displacing it; it looks like an error, Sure, I pointed that out; and as I implied, for precision you need to make adjustments in X position. It just depends on who's the target of your engraving. > especially if the left syllable were to stretch across more than one note as > in the revised example below. Well that actually solves the alignment problem, because it forces left-alignment of the lyric. > The purpose of a dotted slur between the notes is ambiguous, so I’d rather > not take that route. … and when the piece is strophic, it doesn't actually specify which verses carry over, particularly if the engraver wishes to preserve, but contradict, the text's punctuation (as here). > My preference is to have a lyric tie equally spaced between the two > syllables: it looks elegant and its purpose is clear. I suppose a scheme expert might be able to hack that out of a fake lyric hyphen rendered as a slur. (Technically, these are lyric slurs, of course.) But my preference is attached, because that's the syllable affected. That said, if there's a new line involved, I prefix the second syllable with a slur too, as a reminder when the eye has moved ahead. Again, adjustments …. Anyway, when following a tied note, perhaps pick a method that suits. There's a snippet attached (the ! example is just to document that the padding argument is optional). Cheers, David. \language "english" \include "extender.ily" extendSlur = #(extend "‿" 0.2) extendBang = #(extend "!") global = { \key d \major } soprano=\relative c'{ r4 cs cs a d e cs fs ~ fs %\breathe b, fs' fs8 fs a4. a8 g4 fs } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- um, \extendSlur O sa -- crum con -- ví -- vi -- um, con } \score { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- "um,__‿" O sa -- crum con -- ví -- vi -- um, con } \score { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- "um,__ ~" O sa -- crum con -- ví -- vi -- um, con } \score { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- "um, ~" O sa -- crum con -- ví -- vi -- um, con } \score { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- um, \extendBang O sa -- crum con -- ví -- vi -- um, con } \score { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- um,~ __ O sa -- crum con -- ví -- vi -- um, con } \score { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } \version "2.22.1" %
Re: Undertie in lyrics to show no breath
Thank you for the replies. The lyric tie doesn’t need to extend to the next syllable, but it looks odd when appended to the left syllable at the same time as displacing it; it looks like an error, especially if the left syllable were to stretch across more than one note as in the revised example below. The purpose of a dotted slur between the notes is ambiguous, so I’d rather not take that route. My preference is to have a lyric tie equally spaced between the two syllables: it looks elegant and its purpose is clear. \version "2.20.0" \language "english" global = { \key d \major } soprano=\relative c'{ r4 cs cs a d e cs fs ~ fs %\breathe b, fs' fs8 fs a4. a8 g4 fs } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- um,~ __ O sa -- crum con -- ví -- vi -- um, con } \score { { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } } > On 22 Jul 2022, at 10:41, Jean Abou Samra wrote: > > > > Le 22/07/2022 à 10:27, Simon Albrecht a écrit : >> Hi mancunius, >> >> On 20/07/2022 12:34, mancunius wrote: >>> Hello. In the following example I want the undertie to be placed between >>> the 2 “O sacrum convivium” lines of lyrics, to indicate that no breath >>> should be taken by the singers - as per the normal choral convention. (cf. >>> the commented-out \breathe command in the music itself.) As it currently >>> compiles, the undertie is placed beneath the word “O” of the second phrase. >> >> This is because the markup command \undertie requires an argument and so it >> is applied to the following syllable. >> >> What I would suggest is a dotted or dashed slur between the notes like this: >> >> { \once\dashedSlur cs( d) } >> >> Unfortunately there is no mechanism for creating a tie between different >> lyric syllables _yet_. However, LilyPond is very open to customisation and >> maybe some of the wizards on this list could help. This is the method I >> hoped might work: >> >> >> \version "2.20.0" >> >> \layout { >> \context { >> \Lyrics >> \consists "Slur_engraver" >> } >> } >> >> startLyricSlur = ( >> stopLyricSlur = ) >> >> \score { >> << >> { 2 4( 4) } >> \addlyrics { >> um, \startLyricSlur >> O __ \stopLyricSlur >> } >> >> >> } >> %% >> >> and I don’t know whether it’s a short or a long way from working… > > > Well, as David W. mentioned, there is predefined syntax with "~" to create a > tie. Its length is fixed, however. > > { c'1 1 } > \addlyrics { aah~ aah } > > Do you think it's conventional to make the tie extend to the next syllable? > > Best, > Jean >
Re: Undertie in lyrics to show no breath
Le 22/07/2022 à 10:27, Simon Albrecht a écrit : Hi mancunius, On 20/07/2022 12:34, mancunius wrote: Hello. In the following example I want the undertie to be placed between the 2 “O sacrum convivium” lines of lyrics, to indicate that no breath should be taken by the singers - as per the normal choral convention. (cf. the commented-out \breathe command in the music itself.) As it currently compiles, the undertie is placed beneath the word “O” of the second phrase. This is because the markup command \undertie requires an argument and so it is applied to the following syllable. What I would suggest is a dotted or dashed slur between the notes like this: { \once\dashedSlur cs( d) } Unfortunately there is no mechanism for creating a tie between different lyric syllables _yet_. However, LilyPond is very open to customisation and maybe some of the wizards on this list could help. This is the method I hoped might work: \version "2.20.0" \layout { \context { \Lyrics \consists "Slur_engraver" } } startLyricSlur = ( stopLyricSlur = ) \score { << { 2 4( 4) } \addlyrics { um, \startLyricSlur O __ \stopLyricSlur } >> } %% and I don’t know whether it’s a short or a long way from working… Well, as David W. mentioned, there is predefined syntax with "~" to create a tie. Its length is fixed, however. { c'1 1 } \addlyrics { aah~ aah } Do you think it's conventional to make the tie extend to the next syllable? Best, Jean
Re: Undertie in lyrics to show no breath
Hi mancunius, On 20/07/2022 12:34, mancunius wrote: Hello. In the following example I want the undertie to be placed between the 2 “O sacrum convivium” lines of lyrics, to indicate that no breath should be taken by the singers - as per the normal choral convention. (cf. the commented-out \breathe command in the music itself.) As it currently compiles, the undertie is placed beneath the word “O” of the second phrase. This is because the markup command \undertie requires an argument and so it is applied to the following syllable. What I would suggest is a dotted or dashed slur between the notes like this: { \once\dashedSlur cs( d) } Unfortunately there is no mechanism for creating a tie between different lyric syllables _yet_. However, LilyPond is very open to customisation and maybe some of the wizards on this list could help. This is the method I hoped might work: \version "2.20.0" \layout { \context { \Lyrics \consists "Slur_engraver" } } startLyricSlur = ( stopLyricSlur = ) \score { << { 2 4( 4) } \addlyrics { um, \startLyricSlur O __ \stopLyricSlur } >> } %% and I don’t know whether it’s a short or a long way from working… Best, Simon
Re: Undertie in lyrics to show no breath
On Wed 20 Jul 2022 at 11:34:58 (+0100), mancunius wrote: > Hello. In the following example I want the undertie to be placed between the > 2 “O sacrum convivium” lines of lyrics, to indicate that no breath should be > taken by the singers - as per the normal choral convention. (cf. the > commented-out \breathe command in the music itself.) As it currently > compiles, the undertie is placed beneath the word “O” of the second phrase. > How do I adjust it so that it becomes a link between the 2 phrases, not part > of one of them? (I’ve attached a screenshot of what I would like to achieve) You might try: O sa -- crum con -- ví -- vi -- um_~ O __ sa -- _ crum con -- ví -- vi -- um ± the comma. Note that the alignment of the um is slightly affected, if you're after precision. Cheers, David.
Undertie in lyrics to show no breath
Hello. In the following example I want the undertie to be placed between the 2 “O sacrum convivium” lines of lyrics, to indicate that no breath should be taken by the singers - as per the normal choral convention. (cf. the commented-out \breathe command in the music itself.) As it currently compiles, the undertie is placed beneath the word “O” of the second phrase. How do I adjust it so that it becomes a link between the 2 phrases, not part of one of them? (I’ve attached a screenshot of what I would like to achieve) Thanks, mancunius \version "2.20.0" \language "english" global = { \key d \major } soprano=\relative c'{ r2 r4 fs b4 b8 b d2 ~ d4 cs cs %\breathe d ~ d8 cs b4 b as b2. fs4 fs2 r2 } sopranotext=\lyricmode{ O sa -- crum con -- ví -- vi -- um, \markup\undertie O __ sa -- _ crum con -- ví -- vi -- um } \score { { \new Staff << \global \new Voice="v1" { \clef "treble" \soprano } \new Lyrics \lyricsto "v1" {\sopranotext} >> } }