[Top][All Lists]
[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
- Feature Request: \addlyrics issues,
Erik Sandberg <=