bug-lilypond
[Top][All Lists]
Advanced

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

Bug: lyrics set to Devnull ignore implicit melismata


From: Sietse Brouwer
Subject: Bug: lyrics set to Devnull ignore implicit melismata
Date: Sat, 13 Jan 2007 00:40:48 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Dear Lilyists,

Lyrics are linked to a set of notes using \lyricsto. Normally, e.g. when 
linking to a Voice context, implicit melismata such as slurs, ties, and 
explicit beams are automagically detected. The next syllable begins after the 
melisma ends.

However: If you link lyrics to a Devnull context, any melismata in the notes 
are ignored and each syllable is linked to one note, melisma or no.

Users can work around this problem by explicitly declaring the melismata with 
\melisma and \melismaEnd.

A little background: In practice, you link lyrics to a Devnull if you want to 
let the lyrics follow a different rythm than the text. The Devnull allows the 
text to be linked to the notes it contains, but it produces no output. It's 
very convenient. This trick is explicitly explained in the manual, in section 
7.3.7.5 "Lyrics independent of notes"; anybody trying it on music with 
melismata will run into this bug.

The example file below contains an example of the bug for each of the three 
implicit melismata: ties, slurs, and manual beams. It also contains an example 
of the workaround.

Hope this helps!

Sietse
Sietse Brouwer

P.S.: when you try to compile this file, you'll notice a plethora of warnings 
of the type "warning: Lyric syllable does not have note. Use \lyricsto or 
associatedVoice." I'm filing a seperate bug report for that.

* * *

Using Windows XP, Lilypond 2.10.11

\version "2.10.11"

% Bug-demonstration: if you link lyrics to a Devnull context,
% the implicit melismata get ignored. That is, melismata
% indicated by a slur or manual beaming.
% A user-end workaround is defining the melismata explicitly.

\layout { ragged-right = ##t }

musicTie = {
        c'4 g'4~ g'4 c'4
}

% musicSlur will demonstrate that slur-melismata are not detected.
musicSlur = {
        c'4 d'4( e'4) f'4
}

% musicBeam will demonstrate that manual-beam-melismata are not 
% detected.
musicBeam = {
        c'4 d'8[ e'8] f'4
}

% musicWorkaround will demonstrate the workaround. I kid you not.
musicWorkaround = {
        c'4 
        d'4( \melisma e'4) \melismaEnd
        f'4
}

\score {
        <<
        \new Staff = staffTie <<
                % The notes. The lyrics should align to these.
                \musicTie
                \new Devnull = "invisibleTie" \musicTie
                \new Lyrics \lyricsto "invisibleTie" 
                \lyricmode {
                        Ape nut mice
                }
        >>
        \new Staff = staffSlur <<
                % The notes. The lyrics should align to these.
                \musicSlur
                \new Devnull = "invisibleSlur" \musicSlur
                \new Lyrics \lyricsto "invisibleSlur" 
                \lyricmode {
                        Whim suss yet
                }
        >>
        \new Staff = staffBeam <<
        % This example shows that 'manual beam melismata' are not
        % detected, either.
                \autoBeamOff
                \musicBeam
                \new Devnull = "invisibleBeam" \musicBeam
                \new Lyrics \lyricsto "invisibleBeam" 
                \lyricmode {
                        Tin four geese
                }
        >>
        \new Staff <<
                \musicWorkaround
                \new Devnull = "invisibleWorkaround" \musicWorkaround
                \new Lyrics \lyricsto "invisibleWorkaround" 
                \lyricmode {
                        Loam case book
                }
        >>
        >>
}






reply via email to

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