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