]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/automated-engraving/benchmarking.itexi
31aec4319c81d232435f1d94b920ddbf248cc22c
[lilypond.git] / Documentation / automated-engraving / benchmarking.itexi
1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9
10
11 @node benchmarking 
12
13 @unnumberedsec Notation benchmarking
14
15 A flexible architecture is necessary for good
16 formatting. Unfortunately, it is not sufficient.  Only a careful
17 emulation of printed matter will give a good result.  We suggested in
18 the introduction to compare program output with existing hand-engraved
19 scores.  It is exactly this technique that we use to perfect LilyPond
20 output.  In a way, this is a benchmarking technique: the performance of
21 the program, in terms of quality, is measured in relation to a known
22 quantity.
23
24 Here you see parts of a benchmark piece. At the top the reference
25 edition (B@"arenreiter BA 320) at the bottom the output from
26 LilyPond 1.4:
27
28 @divClass{float-center}
29 @divEnd
30 @ref{pictures/baer-sarabande-hires.jpeg,
31 @image{pictures/baer-sarabande,,,.png}}
32
33 @divClass{float-center}
34 @divEnd
35 B@"arenreiter (click to enlarge)
36
37 @divClass{float-center}
38 @divEnd
39 @image{pictures/lily14-sarabande,,,.png}
40
41 @divClass{float-center}
42 @divEnd
43 LilyPond 1.4
44
45 The LilyPond output is certainly readable, and for many people it
46 would be acceptable. However, close comparison with a hand-engraved
47 score showed a lot of errors in the formatting details:
48
49 @divClass{float-center}
50 @divEnd
51 @image{pictures/lily14-sarabande-correct,,,.png}
52
53 @divClass{float-center}
54 @divEnd
55 @itemize
56 @item
57  Lots of symbols were unbalanced. In particular the trill sign was
58 too large.
59
60
61 @item
62  Stems and beams were all wrong: the stems were too long, and
63 beam should be slanted to cover staff lines exactly. The beam was also
64 too light.
65
66
67 @item
68  The spacing was irregular: some measures were too tight, other
69 too wide.
70
71
72 @end itemize
73 (And there were missing notes in the original version for LilyPond)
74
75 By addressing the relevant algorithms, settings, and font designs, we
76 were able to improve the output. The output for LilyPond 1.8 is shown
77 below. Although it is not a clone of the reference edition, this
78 output is very close to publication quality.
79
80 @divClass{float-center}
81 @divEnd
82 @image{pictures/lily17-sarabande,,,.png}
83
84 @divClass{float-center}
85 @divEnd
86 LilyPond 1.8
87
88 @divClass{float-center}
89 @divEnd
90 @image{pictures/baer-sarabande,,,.png}
91
92 @divClass{float-center}
93 @divEnd
94 B@"arenreiter
95
96 Another example of benchmarking is our project for the 2.1 series, a
97 @ref{schubert,Schubert song}.
98
99 @divClass{float-right}
100 @divEnd
101 Next: @ref{typography-features.html,Cool features},
102 typographical hoops that we made LilyPond jump through.
103
104 @bye
105