X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fessay%2Fengraving.itely;h=7b58fb050c37eb86c528b9d0149c413f10bc8ddc;hb=9d1520b21710bd22872010ae9aa4c4899014e9d4;hp=1015b0bf6d12dc7f92719cdadcc6b65b6aa4238a;hpb=78ee94fc5421798b85173546d7ec08d642d008a1;p=lilypond.git diff --git a/Documentation/essay/engraving.itely b/Documentation/essay/engraving.itely index 1015b0bf6d..7b58fb050c 100644 --- a/Documentation/essay/engraving.itely +++ b/Documentation/essay/engraving.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.13.4" +@c \version "2.15.32" @node Music engraving @chapter Music engraving @@ -83,9 +83,9 @@ and movement, and it feels like a living, breathing piece of music, while the newer edition seems cold and mechanical. It is hard to immediately see what makes the difference with the newer -edition. Everything looks neat and tiny, possibly even @qq{better} -because it looks more computerized and uniform. This really puzzled us -for quite a while. We wanted to improve computer notation, but we first +edition. Everything looks neat and tidy, possibly even @qq{better} +because it looks more computerized and uniform. This really puzzled us +for quite a while. We wanted to improve computer notation, but we first had to figure out what was wrong with it. The answer lies in the precise, mathematical uniformity of the newer @@ -112,9 +112,9 @@ into a rigid grid of musical markings. There are other differences as well: in the hand-engraved edition the vertical lines are all stronger, the slurs lie closer to the note heads, -and there is more variety in the slopes of the beams. Although such +and there is more variety in the slopes of the beams. Although such details may seem like nitpicking, the result is a score that is easier -to read. In the computer-generated output, each line is nearly identical +to read. In the computer-generated output, each line is nearly identical and if the musician looks away for a moment she will be lost on the page. @@ -292,7 +292,7 @@ vertical strokes are heavier. In spacing, the distribution of space should reflect the durations between notes. However, as we saw in the Bach Suite above, many modern scores adhere to the durations with mathematical precision, which leads -to poor results. In the next example a motive is printed twice: the +to poor results. In the next example a motif is printed twice: the first time using exact mathematical spacing, and the second with corrections. Which do you prefer? @@ -370,7 +370,7 @@ the eye. The spacing algorithms in LilyPond even take the barlines into account, which is why the final up-stem in the properly spaced example has been given a little more space before the barline to keep it from looking -crowded. A down-stem would not need this adjustment. +crowded. A down-stem would not need this adjustment. @node Ledger lines @unnumberedsubsec Ledger lines @@ -461,8 +461,9 @@ global = { \key c \minor } -\new Score << - \new Staff \with { +\score { + << + \new Staff \with { fontSize = #-4 \override StaffSymbol #'staff-space = #(magstep -4) \override StaffSymbol #'thickness = #(magstep -3) @@ -474,18 +475,18 @@ global = { g8.(^> b16 c ees) g8-.^> r r R2. } - \new PianoStaff << - \set PianoStaff.instrumentName = #"Piano" - \new Staff \relative c' { - \global - s2. - s4. s8 r8 r16 - 4.^> 8 r r - } - \new Staff \relative c { - \global - \clef "bass" - << + \new PianoStaff << + \set PianoStaff.instrumentName = #"Piano" + \new Staff \relative c' { + \global + s2. + s4. s8 r8 r16 + 4.^> 8 r r + } + \new Staff \relative c { + \global + \clef "bass" + << { \once \override DynamicText #'X-offset = #-3 2.~->^\f @@ -494,12 +495,13 @@ global = { 2.~ 4.~ 8 } - >> - r8 r16 16 - 4.-> 8 r r - } + >> + r8 r16 16 + 4.-> 8 r r + } + >> >> ->> +} @end lilypond @end ignore @@ -595,7 +597,7 @@ for each possible configuration we compute an ugliness score and we choose the least ugly configuration. For example, here are three possible slur configurations, and LilyPond -has given each one a score in @q{ugly points}. The first example gets +has given each one a score in @q{ugly points}. The first example gets 15.39 points for grazing one of the noteheads: @lilypond @@ -735,7 +737,7 @@ We can also measure LilyPond's ability to make music engraving decisions automatically by comparing LilyPond's output to the output of a commercial software product. In this case we have chosen Finale 2008, which is one of the most popular commercial score writers, particularly -in North America. Sibelius is their major rival and they appear to be +in North America. Sibelius is its major rival and appears to be especially strong in the European market. For our comparison we selected Bach's Fugue in G minor from the @@ -757,10 +759,10 @@ We made our comparison by engraving the last seven measures of the piece the subject returns in a three-part stretto and leads into the closing section. In the Finale version, we have resisted the temptation to make any adjustments to the default output because we are trying to show the -things that each software package gets right without assistance. The +things that each software package gets right without assistance. The only major edits that we made were adjusting the page size to match this essay and forcing the music onto two systems to make the comparison -easier. By default Finale would have engraved two systems of three +easier. By default Finale would have engraved two systems of three measures each and a final, full-width system containing a single measure. @@ -788,10 +790,12 @@ partII = \relative c' { d4 r4 r8 d'16 c bes8 c16 d ees8 d c ees a, r r4 } + partIII = \relative c' { \voiceOne r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a } + partIV = \relative c { \voiceTwo d4 r r2 @@ -826,7 +830,7 @@ partIV = \relative c { } \context { \PianoStaff - \override StaffGrouper #'between-staff-spacing #'padding = #1 + \override StaffGrouper #'staff-staff-spacing #'padding = #1 } } } @@ -837,7 +841,7 @@ Some shortcomings in the unedited Finale output include: @item Most of the beams extend too far off the staff. A beam that points towards the center of the staff should have a length of about one octave, but engravers shorten this when the beam points away from the -staff in multi-voice music. The Finale beaming can be easily improved +staff in multi-voice music. The Finale beaming can easily be improved with their Patterson Beams plug-in, but we elected to skip that step for this example. @item Finale doesn't adjust the positions of interlocking note heads, @@ -846,16 +850,19 @@ lower voices exchange positions temporarily: @lilypond collide = \once \override NoteColumn #'force-hshift = #0 -\new Score << - \new Voice = "sample" \relative c''{ - \key g \minor - << - { \voiceOne g4 \collide g4 } - \new Voice { \voiceTwo bes \collide bes } - >> - } - \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" } ->> + +\score { + << + \new Voice = "sample" \relative c''{ + \key g \minor + << + { \voiceOne g4 \collide g4 } + \new Voice { \voiceTwo bes \collide bes } + >> + } + \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" } + >> +} @end lilypond @item Finale has placed all of the rests at fixed heights on the staff. @@ -869,8 +876,8 @@ collision than Finale does. @end itemize This example is not intended to suggest that Finale cannot be used to -produce publication-quality output. On the contrary, in the hands of a -skilled user it can and does, but it requires skill and time. One of the +produce publication-quality output. On the contrary, in the hands of a +skilled user it can and does, but it requires skill and time. One of the fundamental differences between LilyPond and commercial scorewriters is that LilyPond hopes to reduce the amount of human intervention to an absolute minimum, while other packages try to provide an attractive @@ -898,9 +905,9 @@ engraving error. If you are interested in examining these examples in more detail, the full seven-measure excerpt can be found at the end of this essay along -with four different published engravings. Close examination reveals that +with four different published engravings. Close examination reveals that there is some acceptable variation among the hand-engravings, but that -LilyPond compares reasonably well to that acceptable range. There are +LilyPond compares reasonably well to that acceptable range. There are still some shortcomings in the LilyPond output, for example, it appears a bit too aggressive in shortening some of the stems, so there is room for further development and fine-tuning. @@ -1026,7 +1033,7 @@ components: parsing and representation take up less than 10% of the source code. When designing the structures used in LilyPond, we made some different -decisions than are apparent in other software. Consider the hierarchical +decisions than are apparent in other software. Consider the hierarchical nature of music notation: @lilypond[quote,fragment] @@ -1113,7 +1120,7 @@ between staves, and the staves have different time signatures. Many software packages would struggle with reproducing this example because they are built on the nested box structure. With LilyPond, on the other hand, we have tried to keep the input format and the structure as -flexbile as possible. +flexible as possible. @node What symbols to engrave? @unnumberedsubsec What symbols to engrave? @@ -1358,13 +1365,19 @@ graphical objects have all directions down (or left). The second chord has all directions up (right). @lilypond[quote,ragged-right] -\new Score \with { - \override SpacingSpanner #'spacing-increment = #3 - \override TimeSignature #'transparent = ##t -} \relative c' { - \stemDown 4_>-\arpeggio - \override Arpeggio #'direction = #RIGHT - \stemUp 4^>-\arpeggio +\score { + \relative c' { + \stemDown 4_>-\arpeggio + \override Arpeggio #'direction = #RIGHT + \stemUp 4^>-\arpeggio + } + \layout { + \context { + \Score + \override SpacingSpanner #'spacing-increment = #3 + \override TimeSignature #'transparent = ##t + } + } } @end lilypond @@ -1539,10 +1552,7 @@ following example combines some more exotic constructs. >> } >> \midi { - \context { - \Score - tempoWholesPerMinute = #(ly:make-moment 60 8) - } + \tempo 8 = 60 } \layout { \context { @@ -1714,7 +1724,7 @@ partIV = \relative c { } \context { \PianoStaff - \override StaffGrouper #'between-staff-spacing #'padding = #1 + \override StaffGrouper #'staff-staff-spacing #'padding = #1 } } }