bug-lilypond
[Top][All Lists]
Advanced

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

Feature Request: \addlyrics issues


From: Erik Sandberg
Subject: Feature Request: \addlyrics issues
Date: Wed, 7 Jan 2004 18:03:15 +0100
User-agent: KMail/1.5.4

Hi,

It seems that lily 2.1 is the time for major changes in the lyrics code, which 
even may break backward compatibility.. so it feels like the right time to 
raise these questions, as some kind of constructive criticism (tm):

1. It would often be useful to override the behaviour of \addlyrics in a 
simple way, e.g. to set the durations of the lyrics manually for just one or 
two syllables.

An example is when there are multiple stanzas, and two notes which are tied in 
the first but not in the second stanza (this is often notated as a dashed 
slur):

\addlyrics
 \notes \context Voice {c4 c\( c\) c} % \(\) should be ()
 \lyrics \context Lyrics <<
   {one4 two2 __ four4 }
   {one4 two three four }
 >>
I can't find a good way to change \( to the correct ( without turning off 
automatic melismata.

Now I can imagine that there is a sufficient solution to this problem already. 
But the big problem for me is that it requires too much thinking and 
experimenting. Each time I have typeset something with lyrics, I have run 
into problems which required some time and some thinking to solve, as soon as 
I ran into things such as melisma, slurs, beams, etc. What I would really 
like is a way to simply say "OK, now I don't understand how to tweak the 
addlyrics system to do what I want, so let's instead just say quickly what I 
mean, in terms of explicit durations". In the previous example, the first 
stanza could look something like:
{one4 \addlyricsOff two2 \addlyricsOn four4}
(where two2 means that "two" explicitely has the duration 1/2)
This notation would be easy to write and read. It also feels like a hack, but 
it does reflect something like a hack in the notation. And problems will 
arise if \addlyricsOn isn't aligned to a note in the melody, so this could 
result in a warning and give undefined output.

2. Another suggestion I have, is a major change in the lyrics durations in 
\addlyrics: Let \addlyrics accept only those durations that are multiples of 
quarters (and give warnings for all other durations), and then assign each 
quarter in the lyrics to one syllable in the melody. I.e., "\addlyrics {c2 d 
e f} {one4 two2 __ four4}" would let "two" span over the d and e. The 
advantage would be in cases like this:
i=\lyrics {one2 __ three4 four }
ii=\lyrics {one4 two2 __ four4 }
...
\addlyrics
 \notes \context Voice {c2 c c c}
 \lyrics \context Lyrics <<\i \ii >>

Now what if we would leave out stanza \ii ? I don't know how to do this with 
the current system, but with the proposed system you would only need to do 
the natural way:
 \lyrics \context Lyrics <<\i >>

I suspect that this feature is possible to achieve already, by adding a ghost 
LyricsVoice, which would \repeat "unfold" ""4 forever, but that is not output 
to paper (you'd have to do something like removing the engraver of that 
LyricsVoice). My wild suggestion is to change the syntax, so that this 
wouldn't be needed (as far as I can see, this would simplify some situations, 
and I can not find any situation that it complicates).

3. Another (minor) wish related to this, is that _if_ feature #2 is added, 
there could be an optional feature to automatically add a slur (dashed or 
undashed, depending on typesetting standards) in the melody, whenever a 
syllable spans over several untied notes. This would only be of interest in 
examples analog to the above case (you would like the notes to look like {c2
( c) c c} if you only use stanza \i, and perhaps like {c2( c)( c) c} if both 
stanzas are used). Note that I don't know much about any standards on how 
vocal music usually is engraved, so I might just as well be very wrong here.

Any comments?

By the way, there are a few related problems/bugs:

i) I can remember that there once existed a property automaticMelismata 
somewhere. Now I can not find that property (it's not in the manual, and grep 
-ri melism /usr/share/doc/lilypond/ finds nothing relevant).
Btw, in regression/lyric-combine.ly, this is referred to as automaticMelismas, 
not -ta as I remember. Is this a typo?

ii) I think it should be made more visible in the documentation that | can be 
used in lyrics as well. I was looking for a way to avoid getting lyrics out 
of sync, and I was even on my way of writing a feature request for something 
that handles this, when I discovered that | works fine. I haven't found a 
single example that uses it, but using | now and then in lyrics is really a 
very good idea that could be more encouraged.

iii) Dashed/dotted Slurs: They do not look very good IMO. There should be at 
least two parameters, e.g. both length of dashes and distance between dashes. 
Both these parameters should also be scaled with the font size (or whatever 
it's called now..), right now the distance in centimeters between dots/dashes 
is the same with paper11 and paper26:
\include "paper26.ly" \score {\notes{\slurDotted c( d e  c)}}
\include "paper11.ly" \score {\notes{\slurDotted c( d e  c)}}

Hm, this became quite a big bunch of different suggestions. They have been in 
my brain for quite a long time now :) I hope they are useful.

Thanks,
Erik





reply via email to

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