]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/automated-engraving/benchmarking.itexi
Merge branch 'lilypond/translation' of ssh://jomand@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.  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 @c @ref{baer-sarabande-hires.png,
30 @sourceimage{baer-sarabande,,,.png}
31 @c }
32 @divEnd
33
34 @divClass{float-center}
35 B@"arenreiter (click to enlarge)
36 @divEnd
37
38 @divClass{float-center}
39 @sourceimage{lily14-sarabande,,,.png}
40 @divEnd
41
42 @divClass{float-center}
43 LilyPond 1.4
44 @divEnd
45
46 The LilyPond output is certainly readable, and for many people it
47 would be acceptable. However, close comparison with a hand-engraved
48 score showed a lot of errors in the formatting details:
49
50 @divClass{float-center}
51 @sourceimage{lily14-sarabande-correct,,,.png}
52 @divEnd
53
54 @divClass{float-center}
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 @divEnd
74
75 (And there were missing notes in the original version for LilyPond)
76
77 By addressing the relevant algorithms, settings, and font designs, we
78 were able to improve the output. The output for LilyPond 1.8 is shown
79 below. Although it is not a clone of the reference edition, this
80 output is very close to publication quality.
81
82 @divClass{float-center}
83 @sourceimage{lily17-sarabande,,,.png}
84 @divEnd
85
86 @divClass{float-center}
87 LilyPond 1.8
88 @divEnd
89
90 @divClass{float-center}
91 @sourceimage{baer-sarabande,,,.png}
92 @divEnd
93
94 @divClass{float-center}
95 B@"arenreiter
96 @divEnd
97
98 Another example of benchmarking is our project for the 2.1 series, a
99 @ref{schubert,Schubert song}.
100
101 @divClass{float-right}
102 Next: @ref{typography-features,Cool features},
103 typographical hoops that we made LilyPond jump through.
104 @divEnd