lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Removing lyric hyphens


From: Benjamin Bloomfield
Subject: Re: Removing lyric hyphens
Date: Mon, 29 Jul 2019 15:06:01 -0400

This is actually perfect.  I already have a script eliminating all but the first semibreve in a series, so this is exactly what I was looking for.

Thanks so much!

Benjamin Bloomfield

On Thu, Jul 25, 2019 at 3:41 AM Alexander Kobel <address@hidden> wrote:
Hi Benjamin,

the closest we have available to eliminate spurious space between
syllables is described in the thread culminating in

  https://lists.gnu.org/archive/html/lilypond-user/2019-05/msg00389.html

(I'm not the author of the snippet, just the bearer of the full include
file in this thread. All credits to David, Mike, and Harm.)

Just \include this file, and add

\context {
  \Lyrics
  \override LyricWord.after-line-breaking = #(lyric-word-compressor 0.5)
  \override LyricHyphen #'minimum-distance = #0
  \override LyricHyphen #'minimum-length = #0
}

to your layout block (or use the equivalent locally inside the lyrics,
where necessary).

Alas, I'm afraid it generally won't give pleasant results for the type
of chant you have in your example (look at "bestower" and "power"):
There, the text widths dominate the note widths by quite a bit, and what
you (most likely) actually want is a "seemless" spacing of the lyrics
and note heads that are centered over the corresponding syllables.

AFAICS this is unsupported for the time being, as Lily tries to space
out the note heads fairly according to rhythmical concerns, while
acknowledging lyric widths as constraints; you'd need the other way around.


However, that's just the technical state-of-the-art, as far as I am
aware. From a more practical perspective, and independent of typesetting
difficulty, I'd prefer to see only *one* breve note head for repetitions
on the same note in chants, rather than one per syllable (and texts
left-aligned to those breves); see


http://lilypond.org/doc/v2.19/Documentation/notation/working-with-ancient-music_002d_002dscenarios-and-solutions#transcribing-gregorian-chant

Perhaps this is the actual solution to your problem.

And if you insist on automatic linebreaking, try to ... Okay, I see now
that I wanted to suggest exactly what you described in your second mail.
Maybe the above solution works after all, in your full context. Good luck!


HTH,
Alex


On 25.07.19 04:27, Vaughan McAlley wrote:
> On Thu, 25 Jul 2019 at 09:29, Benjamin Bloomfield <address@hidden
> <mailto:address@hidden>> wrote:
>
>     No, I should have explained that I have further things going on in
>     my full source code that remove the semibreves unless they are the
>     first one or the first in the system, and the hyphenations are given
>     so that a reasonable point can be chosen for the system breaks even
>     if it's in the middle of a word.  I have everything working nicely
>     except for the slight bit of extra space between syllables.
>
>     Sorry I forgot to mention why I have the hyphenation points marked,
>     because you're right, the solution you give is the obvious one if I
>     didn't need those hyphenation points for the possible line breaks.
>
>     Thanks,
>
>     /Benjamin Bloomfield/
>
>     On Wed, Jul 24, 2019 at 6:02 PM Brian Barker
>     <address@hidden <mailto:address@hidden>> wrote:
>
>         At 15:54 24/07/2019 -0400, you wrote:
>         >I've been trying to totally get rid of the space
>         >where a lyric hyphen might go, in cases where
>         >that space is already very small, but I have not
>         >been able to figure it out. Is there a way to
>         >get rid of these spaces instead of having them
>         >still present as empty space?  I want the
>         >syllables to be as close to each other as if they were a single
>         syllable.
>
>         If you don't want the space, don't put it in! If
>         you want "Holy", enter "Holy", not "Ho -- ly". If
>         you then want that word to fit one note, use "Holy_". Thus:
>         Draw near, Lord, Holy_ Father,_ almighty__ and e -- ter -- nal God,
>         with
>         a'8 c1 c c c c c c \divisioMinima b8 a b \divisioMaior
>
>         But isn't the way such music is usually set with
>         a single semibreve for all the syllables that are chanted to it?
>         Draw "near, Lord, Holy Father, almighty and e" -- ter -- nal God,
>         a'8 c1 \divisioMinima b8 a b \divisioMaior
>
>         Now all you probably have to do is to move the
>         semibreve back to over the word "near," ...
>
>         I trust this helps.
>
>         Brian Barker - privately
>
>     _______________________________________________
>     lilypond-user mailing list
>     address@hidden <mailto:address@hidden>
>     https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
> It looks like all those semibreves, even if they are changed to a short
> length, want to take up room because they are a big symbol. If you
> remove all overrides to lyric hyphens, the syllables come together
> unless they are smaller than the breve symbol. Changing the X-extent of
> noteheads makes all the widths dependent on the syllables, but
> introduces further issues:
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \version "2.19.81"
>
> \include "gregorian.ly <http://gregorian.ly>"
>
>   antiphonText = \lyricmode {
>     Draw near, Lord, Ho -- ly Fa -- ther,
> al -- might -- y and e -- ter -- nal God,
> au -- thor of hu -- man dig -- ni -- ty and be -- stow -- er of all grac
> -- es,
> through whom all things pro -- gress,
> through whom eve -- ry -- thing is made firm,
> who, by the pow -- er of the Ho -- ly Spir -- it,
> in or -- der to form a priest -- ly peo -- ple,
> es -- tab -- lish a -- mong them min -- is -- ters of Christ your Son in
> var -- i -- ous or -- ders.
>
>   }
>
>
>   aSop = \transpose c c {
>     %\revert LyricHyphen.minimum-distance
>     \relative c' {
>       \cadenzaOn
> a'8 \bar"" c\breve*1/1024 \bar"" c \bar"" c \bar"" c \bar"" c \bar"" c
> \bar"" \divisioMinima
> c\breve*1/1024 \bar"" c \bar"" c \bar"" c \bar"" c \bar"" b8 \bar"" a
> \bar"" b \bar"" \divisioMaior
> a8 \bar"" c\breve*1/1024 \bar"" c \bar"" c \bar"" c \bar"" c \bar"" c
> \bar"" c \bar"" c \bar"" c \bar"" c \bar"" c \bar"" b8 \bar"" a \bar"" b
> \bar"" b \bar"" \divisioMaior
> a8 \bar"" c\breve*1/1024 \bar"" c \bar"" c \bar"" c \bar"" c \bar""
> \divisioMinima
> c\breve*1/1024 \bar"" c \bar"" c \bar"" c \bar"" c \bar"" b8 \bar"" a
> \bar"" b \bar"" \divisioMaior
> a8 \bar"" c\breve*1/1024 \bar"" c \bar"" c \bar"" c \bar"" c \bar"" c
> \bar"" b8 \bar"" a \bar"" b \bar"" b \bar"" \divisioMaior
> b\breve*1/1024 \bar"" b \bar"" b \bar"" b \bar"" b \bar"" b \bar"" a8
> \bar"" b \bar"" c \bar"" b \bar"" \divisioMinima \break
> b\breve*1/1024 \bar"" b \bar"" b \bar"" b \bar"" b \bar"" b \bar"" b
> \bar"" b \bar"" b \bar"" b \bar"" b \bar"" b \bar"" b \bar"" b \bar"" g8
> \bar"" a \bar"" b \bar"" a \bar"" a \bar"" \divisioMaxima
>       \cadenzaOff
>     }
>   }
>
>
> \score {
>   <<
>     \new Staff
>     <<
>       \clef "treble"
>       \new Voice = "sop" { \voiceOne \aSop }
>     >>
>     \new Lyrics \lyricsto sop \antiphonText
>   >>
>   \layout {
>     \context { \Voice
>      \override NoteHead.X-extent = #'(0 . 0)
>     }
>     \context { \Lyrics
>       \override LyricText #'font-family = #'normal
>    %   \override LyricHyphen #'minimum-distance = #1.0
> %      \override LyricHyphen #'minimum-length = #0.3
>
>
>
>      %\override LyricHyphen #'minimum-length = #1.5
>      %\override LyricHyphen #'padding = #0
>     }
>   }
> }
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>
> Vaughan
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user

reply via email to

[Prev in Thread] Current Thread [Next in Thread]