[Top][All Lists]

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

Re: Problems with polyphony (rests, dynamics, lyrics, tempo)

From: Mats Bengtsson
Subject: Re: Problems with polyphony (rests, dynamics, lyrics, tempo)
Date: Mon, 04 Apr 2005 23:35:52 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050319

Many questions in the same email!

Reinhold Kainhofer wrote:

Hi Mats,
Thanks a lot for your help. I've now managed to create two songs without problems, but for two other pieces I have deeper needs and I'm still running into problems that I haven't yet been able to solve.

Am Donnerstag, 24. März 2005 11:30 schrieben Sie:
If you add
the following two lines to the end of your GlobalSettings, the rests
will be merged, even though you'll get some warning printouts.
GlobalSettings = {
\revert Rest #'direction
\revert MultiMeasureRest #'staff-position

It seems to work fine (is there any way to suppress these warnings?). But there is one big problem: If you have a dotted rest (e.g. r8.), the rests will still be combined, but the dots are not. So the r8. rest will have two dots. See

The \voiceOne and \voiceTwo settings also set different prefered directions for the
dots, so try to add also

\revert Dots #'direction
\revert DotColumn #'direction

2) Since I also need the midi file, and possibly generate separate scores
for each voice, I have to add the dynamics to every voice. However, then
the piano, crescendo signs etc. appear twice, overwriting some notes (see How can I make lilypond print out these
dynamics only once (for the staff instead of separately for each voice),
while the midi will still apply them to both voices in the staff?
The ideas described in
should work here as well.

Okay, so I generated the dynamics separated from the actual notes. Now the problem is that the p, the fermatas, the crescendi, etc. are drawn immediately above the staff, even if the collide with a note!

An example of this problem can be seen in measure 4 of:
The trick is to include the dynamics in the same Voice context as the music, i.e. to add it in

\context Voice = sopranos { \voiceOne << \dynamik \GlobalSettings \sopMusic >> }

One way to handle the different
number of lyrics lines is described in the manual for version 2.5 at

I tried it in that file ImKrapfenwaldl (measure 21, where the soprano, tenor and bass have "klim-p're mit den Gro-schen", while the alto has lyrics "klim-p're mit den letz-ten Gro-schen"). It doesn't seem to work, the error message is that the sopranoGroschen voice cannot be found or created. What am i doing wrong here?

I don't have access to a LilyPond installation for the moment, so I can't try, but your input file looks OK at a first glance. You normally get warnings about a missing voice if you use \lyricsto with a Voice context that doesn't start from bar 1, but it should
work anyway.

Other problems I have with that piece:

-) The spacing of the notes is very uneven (caused by diffferent lengths of the lyrics). See e.g. measure 46, which contains 4 eigth-notes, which are spaced very uneven.
If you can show some examples of well-engraved scores where this situation is handled differently, I'm sure that the main hackers of LilyPond are interested.
They are very keen to provide as good layout as possible.

-) The whole piece is space too narrow for my taste. Is there any way to increase the horizontal spacing of the whole document.
See the previous answer. However, see

-) the dot of dotted notes is too far away from the note and too near to the next note. See e.g. measure 67 of ImKrapfenwaldl.pdf

That looks very strange. I recommend you to send a bug report to address@hidden

-) What is the correct way to type-set a piece with a main part, a trio, a da capo and a final coda? In particular, I need line breaks exactly where the trio and the coda begins, and I also need the correct repetitions in the midi file.

There's no right or wrong. Use \break to get line breaks. For the moment, there's no builtin support to handle "da capo". For the MIDI version, you can always make a
separate \score{...} for the MIDI output or use the \tag feature.

-) The way described in to put a coda (or fermata) sign above a bar line doesn't work for me. The bar line after measure 55 should have a fermata sign (as specified in the tempos). (Actually I want a coda there, but since the example given in the docu doesn't work, I didn't try to find the coda sign.)
Should work, can't provide more input without access to a running LilyPond.

-) How can I make a line break inside a measure. In particular, in measure 56 the Trio begins inside the staff. How can I for a page break before the r8 break?

LilyPond will only consider breaking lines at bar lines. If you want a line break in the
middle of a measure, insert an invisible bar line: \bar ""

-) In measures 78 and 82, is there any way I can add an underscore until the end of the measure (similar to a melisma, only that there is only one note in that measure).

Maybe someone else knows.

-) The whole measure rests in the last system are not centered inside the measure (measures 109-111 and 115.

Use R2 instead of r2. In general, always use R for full measure rests, see

-) The fermatas on the rests in the last system are not drawn above the rests. What am I doing wrong here?

Moving your \dynamik into the corresponding Voice context should hopefully solve
also these problems.

The same problems (spacing much too tight for easy reading, whole measure rests not centered, main/trio/D.C./coda structure, coda sign on the staff) also appear in

-) The additional problem I have there is then the key changes from a to e (three sharps to four sharps), one would usually just write four sharp signs for the new key. But lilypond first completely cancels the a key (three natural signs), only to add four sharp signs immediately afterwards. See line 19 of TritschTratsch.pdf. How can I prevent this and force lilypond to skip the natural signs.

Search the mailing list archives or look through the list of properties for the
Key_engraver at

-) In there is not one voice where I can assign the lyrics, because every now and then only one voice keeps singing, all others are quiet. So I tried the trick to change the associated voice with \set associatedVoice = basses But that doesn't work at all. If I uncomment all these lines in the lyrics, no lyrics are printed at all after the first \set associatedVoice. For an example see:

I hope someone else can answer this one as well.


Thanks a lot for all your help.



lilypond-user mailing list

reply via email to

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