Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(508)

Delta Between Two Patch Sets: Documentation/notation/vocal.itely

Issue 11328043: Issue 3457: Add NullVoice context (using \partcombine with lyrics). (Closed)
Left Patch Set: Rewrite, using a better method. Created 10 years, 8 months ago
Right Patch Set: Minor clarification. Created 10 years, 7 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « Documentation/notation/simultaneous.itely ('k') | ly/engraver-init.ly » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
1 @c -*- coding: utf-8; mode: texinfo; -*- 1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore 2 @ignore
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH 3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4 4
5 When revising a translation, copy the HEAD committish of the 5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. For details, see the Contributors' 6 version that you are working on. For details, see the Contributors'
7 Guide, node Updating translation committishes.. 7 Guide, node Updating translation committishes..
8 @end ignore 8 @end ignore
9 9
10 @c \version "2.17.19" 10 @c \version "2.17.19"
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after
866 @subsection Techniques specific to lyrics 866 @subsection Techniques specific to lyrics
867 867
868 @c TODO this whole section is to be reorganised 868 @c TODO this whole section is to be reorganised
869 869
870 @menu 870 @menu
871 * Working with lyrics and variables:: 871 * Working with lyrics and variables::
872 * Placing lyrics vertically:: 872 * Placing lyrics vertically::
873 * Placing syllables horizontally:: 873 * Placing syllables horizontally::
874 * Lyrics and repeats:: 874 * Lyrics and repeats::
875 * Divisi lyrics:: 875 * Divisi lyrics::
876 * Polyphony with shared lyrics::
876 @end menu 877 @end menu
877 878
878 879
879 880
880 @node Working with lyrics and variables 881 @node Working with lyrics and variables
881 @unnumberedsubsubsec Working with lyrics and variables 882 @unnumberedsubsubsec Working with lyrics and variables
882 883
883 @cindex lyrics, using variables 884 @cindex lyrics, using variables
884 885
885 Variables containing lyrics can be created, but the lyrics must be 886 Variables containing lyrics can be created, but the lyrics must be
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after
1638 several measures. The @code{<< @{@dots{}@} \\ @{@dots{}@} >>} 1639 several measures. The @code{<< @{@dots{}@} \\ @{@dots{}@} >>}
1639 construct, where the two (or more) musical expressions are 1640 construct, where the two (or more) musical expressions are
1640 separated by double backslashes, might seem the proper way to 1641 separated by double backslashes, might seem the proper way to
1641 set the split voices. This construct, however, will assign 1642 set the split voices. This construct, however, will assign
1642 @strong{all} the expressions within it to @strong{NEW Voice 1643 @strong{all} the expressions within it to @strong{NEW Voice
1643 contexts} which will result in @emph{no lyrics} being set for 1644 contexts} which will result in @emph{no lyrics} being set for
1644 them since the lyrics will be set to the original voice context 1645 them since the lyrics will be set to the original voice context
1645 -- not, typically, what one wants. The temporary polyphonic 1646 -- not, typically, what one wants. The temporary polyphonic
1646 passage is the proper construct to use, see section 1647 passage is the proper construct to use, see section
1647 @emph{Temporary polyphonic passages} in @ref{Single-staff polyphony}. 1648 @emph{Temporary polyphonic passages} in @ref{Single-staff polyphony}.
1649
1650
1651 @node Polyphony with shared lyrics
1652 @unnumberedsubsubsec Polyphony with shared lyrics
1653
1654 @cindex NullVoice
1655 @cindex polyphony, shared lyrics
1656 @cindex lyrics, shared among voices
1657 @cindex \partcombine and lyrics
1658 @funindex \partcombine
1659
1660 When two voices with different rhythms share the same lyrics,
1661 aligning the lyrics to one of the voices may lead to problems in
1662 the other voice. For example, the second lyric extender below is
1663 too short, since the lyrics are aligned only to the top voice:
1664
1665 @lilypond[quote,verbatim]
1666 soprano = \relative { b'8( c d c) d2 }
1667 alto = \relative { g'2 b8( a g a) }
1668 words = \lyricmode { la __ la __ }
1669
1670 \new Staff <<
1671 \new Voice = "sopranoVoice" { \voiceOne \soprano }
1672 \new Voice { \voiceTwo \alto }
1673 \new Lyrics \lyricsto "sopranoVoice" \words
1674 >>
1675 @end lilypond
1676
1677 To get the desired result, align the lyrics to a new
1678 @code{NullVoice} context containing a suitable combination of the
1679 two voices. The notes of the @code{NullVoice} context do not
1680 appear on the printed page, but can be used to align the lyrics
1681 appropriately:
1682
1683 @lilypond[quote,verbatim]
1684 soprano = \relative { b'8( c d c) d2 }
1685 alto = \relative { g'2 b8( a g a) }
1686 aligner = \relative { b'8( c d c) b( a g a) }
1687 words = \lyricmode { la __ la __ }
1688
1689 \new Staff <<
1690 \new Voice { \voiceOne \soprano }
1691 \new Voice { \voiceTwo \alto }
1692 \new NullVoice = "aligner" \aligner
1693 \new Lyrics \lyricsto "aligner" \words
1694 >>
1695 @end lilypond
1696
1697 The @code{NullVoice} context must be inside a @code{Staff}
1698 context, and should only contain notes that are already being
1699 displayed in that staff, and in the same octave. Otherwise the
1700 @code{NullVoice} may interact with the printed voices in
1701 unexpected ways. For example, the last note of the soprano below
1702 should have a natural sign, but it is not printed because the
1703 arbitrary notes of the @code{NullVoice} have already cancelled it:
1704
1705 @lilypond[quote,verbatim]
1706 soprano = \relative { cis''4( d) c2 }
1707 alto = \relative { a'2 a4( g) }
1708 aligner = \relative { c''4( c) c( c) }
1709 words = \lyricmode { la __ la __ }
1710
1711 \new Staff <<
1712 \new Voice { \voiceOne \soprano }
1713 \new Voice { \voiceTwo \alto }
1714 \new NullVoice = "aligner" \aligner
1715 \new Lyrics \lyricsto "aligner" \words
1716 >>
1717 @end lilypond
1718
1719 This method also can be used with the @code{\partcombine}
1720 function, which does not allow lyrics on its own:
1721
1722 @lilypond[quote,verbatim]
1723 soprano = \relative { b'8( c d c) d2 }
1724 alto = \relative { g'2 b8( a g a) }
1725 aligner = \relative { b'8( c d c) b( a g a) }
1726 words = \lyricmode { la __ la __ }
1727
1728 \new Staff <<
1729 \new Voice \partcombine \soprano \alto
1730 \new NullVoice = "aligner" \aligner
1731 \new Lyrics \lyricsto "aligner" \words
1732 >>
1733 @end lilypond
1734
1735 @noindent
1736 The @code{\partcombine} function is described in
1737 @ref{Automatic part combining}.
1738
1739 Lastly, this method can be used even when the voices are in
1740 different staves, and is not limited to only two voices:
1741
1742 @lilypond[quote,verbatim]
1743 soprano = \relative { b'8( c d c) d2 }
1744 altoOne = \relative { g'2 b8( a b4) }
1745 altoTwo = \relative { d'2 g4( fis8 g) }
1746 aligner = \relative { b'8( c d c) d( d d d) }
1747 words = \lyricmode { la __ la __ }
1748
1749 \new ChoirStaff <<
1750 \new Staff <<
1751 \soprano
1752 \new NullVoice = "aligner" \aligner
1753 >>
1754 \new Lyrics \lyricsto "aligner" \words
1755 \new Staff \partcombine \altoOne \altoTwo
1756 >>
1757 @end lilypond
1758
1759 However, note that in the second half of the measure above, the
1760 notes in the @code{NullVoice} context reflect the rhythm of the
1761 lower staff, but they do not deviate from the single pitch being
1762 displayed in the staff to which the @code{NullVoice} belongs.
1763 While not actually required in this particular example, it is a
1764 good idea in general to enter the notes in this way.
1648 1765
1649 1766
1650 @node Stanzas 1767 @node Stanzas
1651 @subsection Stanzas 1768 @subsection Stanzas
1652 1769
1653 @menu 1770 @menu
1654 * Adding stanza numbers:: 1771 * Adding stanza numbers::
1655 * Adding dynamics marks to stanzas:: 1772 * Adding dynamics marks to stanzas::
1656 * Adding singers' names to stanzas:: 1773 * Adding singers' names to stanzas::
1657 * Stanzas with different rhythms:: 1774 * Stanzas with different rhythms::
(...skipping 1619 matching lines...) Expand 10 before | Expand all | Expand 10 after
3277 @c Add "Printing both the ancient and the modern clef in vocal music" snippet, 3394 @c Add "Printing both the ancient and the modern clef in vocal music" snippet,
3278 @c and "Transcription of Ancient music with incipit" snippet. -vv 3395 @c and "Transcription of Ancient music with incipit" snippet. -vv
3279 3396
3280 @seealso 3397 @seealso
3281 Notation Reference: 3398 Notation Reference:
3282 @ref{Ancient notation}. 3399 @ref{Ancient notation}.
3283 3400
3284 3401
3285 3402
3286 3403
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b