]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/essay/engraving.itely
lily.git: Rewrite translation markers.
[lilypond.git] / Documentation / de / essay / engraving.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2
3 @ignore
4     Translation of GIT committish: 88b16bead0a1fbd13c5ebae6f3acb6a042ef89f0
5
6
7     When revising a translation, copy the HEAD committish of the
8     version that you are working on.  For details, see the Contributors'
9     Guide, node Updating translation committishes..
10 @end ignore
11
12 @c \version "2.13.4"
13
14 @c Translators: Till Paala
15
16 @node Notensatz
17 @chapter Notensatz
18 @translationof Music engraving
19
20 Dieser Abschnitt erklärt die Ziele und die Architektur von LilyPond.
21
22 @menu
23 * Die Geschichte von LilyPond::
24 * Details des Notensetzens::
25 * Automatisierter Notensatz::
26 * Welche Symbole?::
27 * Die Darstellung der Musik::
28 * Beispielanwendung::
29 * Anhang::
30 @end menu
31
32
33 @node Die Geschichte von LilyPond
34 @unnumberedsec Die Geschichte von LilyPond
35 @translationof The LilyPond story
36
37 Bevor LilyPond eine Gemeinschaft von Benutzern rund um die Welt
38 besaß, bevor es benutzt worden war um Noten für Kurse in der Uni
39 zu erstellen oder die Partituren von Opern, die ihre erste Premiere
40 erleben, bevor es einen Aufsatz über den Notensatz, Computercode
41 oder wenigstens ein organisiertes Entwicklerteam gab, begann LilyPond
42 mit einer Frage:
43
44 @quotation
45 Warum schaffen es die meisten computergesetzten Noten nicht, die
46 Schönheit und Ausgeglichenheit von handgestochenem Notensatz aufzuweisen?
47 @end quotation
48
49 @noindent
50 Einige der Antworten können gefunden werden, indem wir uns die
51 beiden folgenden Noten zur Analyse vornehmen.  Das erste Beispiel
52 ist ein schöner handgestochener Notensatz von 1950, das zweite
53 Beispiel eine moderne, computergesetzte Edition.
54
55 @ifnottex
56 @noindent
57 Bärenreiter BA 320, @copyright{}1950:
58
59 @sourceimage{baer-suite1-fullpage,,,png}
60
61 @noindent
62 Henle Nr. 666, @copyright{}2000:
63 @sourceimage{henle-suite1-fullpage,,,png}
64 @end ifnottex
65
66 Die Noten sind identisch und stammen aus der ersten Solosuite für
67 Violoncello von J. S. Bach, aber ihre Erscheinung ist sehr
68 unterschiedlich, insbesondere wenn man sie ausdruckt und aus einigem
69 Abstand betrachtet. 
70 @ifnottex
71 (Die PDF-Version dieses Handbuchs hat hochauflösende Abbildungen,
72 die sich zum Drucken eignen.)
73 @end ifnottex
74 Versuchen Sie, beide Beispiele zu lesen oder von ihnen zu spielen,
75 und Sie werden feststellen, dass der handgestochene Satz sich
76 angenehmer benutzen lässt.  Er weist fließende Linien und Bewegung
77 auf und fühlt sich wie ein lebendes, atmendes Stück Musik an, während
78 die neuere Edition kalt und mechanisch erscheint.
79
80 Es ist schwer, sofort die Unterschiede zur neueren Edition auszumachen.
81 Alles sieht sauber und fein aus, möglicherweise sogar @qq{besser},
82 weil es eher komputerkonform und einheitlich wirkt.  Das hat uns
83 tatsächlich für eine ganze Weile beschäftigt.  Wir wollten die
84 Computernotation verbessern, aber wir mussten erst verstehen, was
85 eigentlich falsch mit ihr war.
86
87 Die Antwort findet sich in der präzisen, mathematischen Gleichheit
88 der neueren Edition.  Suchen Sie die Taktstriche in der Mitte jeder
89 Zeiel: im handgestochenen Satz hat die Position dieser Taktstriche
90 sozusagen natürliche Variation, während die neuere Version sie
91 fast immer perfekt in die Mitte setzt.  Das zeigen diese vereinfachten
92 Diagramme des Seitenlayouts vom handgestochenen (links) und
93 Computersatz (rechts):
94
95 @quotation
96 @iftex
97 @sourceimage{pdf/page-layout-comparison,,,}
98 @end iftex
99 @ifnottex
100 @sourceimage{page-layout-comparison,,,png}
101 @end ifnottex
102 @end quotation
103 @noindent
104
105 Im Computersatz sind sogar die einzelnen Notenköpfe vertikal
106 aneinander ausgerichtet, was dazu führt, dass die Melodie hinter
107 einem starren Gitter aus musikalischen Zeichen verschwindet.
108
109 Es gibt noch weitere Unterschiede: in der handgestochenen Version
110 sind die vertikalen Linien stärker, die Bögen liegen dichter an den
111 Notenköpfen und es gibt mehr Vielfalt in der Platzierung der
112 Balken.  Auch wenn derartige Details als Haarspalterei erscheinen,
113 haben wir trotzdem als Ergebnis einen Satz, der einfacher zu lesen
114 ist.  In der Computerausgabe ist jede Zeile fast identisch mit den
115 anderen und wenn der Musiker für einen Moment weg schaut, wird
116 er die Orientierung auf der Seite verlieren.
117
118 LilyPond wurde geschaffen, um die Probleme zu lösen, die wir in
119 existierenden Programmen gefunden haben und um schöne Noten zu
120 schaffen, die die besten handgestochenen Partituren imitieren.
121 Während unserer Arbeit an dem Programm haben wir sehr viel gelernt
122 über die Art und Weise wie ein gut gestochener Notensatz erstellt
123 wird.  In diesem Aufsatz beschreiben wir einige der Aspekte, die
124 wir versucht haben, mit LilyPond nachzuahmen.
125
126 @iftex
127 @page
128 @noindent
129 Bärenreiter BA 320, @copyright{}1950:
130
131 @sourceimage{baer-suite1-fullpage,16cm,,}
132 @page
133 @noindent
134 Henle no. 666, @copyright{}2000:
135 @sp 3
136 @sourceimage{henle-suite1-fullpage,16cm,,}
137 @page
138 @end iftex
139
140
141 @node Details des Notensetzens
142 @unnumberedsec Details des Notensetzens
143 @translationof Engraving details
144
145 @cindex Notensatz
146 @cindex Typographie
147 @cindex Notengravur
148 @cindex Gravur, Notensatz
149 @cindex Plattendruck, Noten
150
151 Die Kunst des Notensatzes wird auch als Notenstich bezeichnet. Dieser 
152 Begriff stammt aus dem traditionellen Notendruck@footnote{Frühe
153 europäische Drucker versuchten sich an verschiedenen Techniken
154 wie handgeschnitzten Holzblöcken, beweglichen Lettern und
155 gravierten dünnen Metallblechen.  Der Satz mit Lettern hat den
156 Vorteil, dass man ihn schnell korrigieren kann und auch Text
157 einfach einfügen kann, aber nur der Notenstich als Gravur
158 ermöglichte die Möglichkeit, lebendiges Layout ohne
159 Qualitätsabstriche zu erstellen.  So wurden der Notenstich
160 mit der Hand bis ins 20. Jahrhundert zum Standard für alle
161 gedruckten Noten, ausgenommen einige Hymnale und Liederbücher, wo
162 der Letterdruck durch seine Einfachheit und Kostenersparnis
163 gerechtfertigt war.}. Noch bis vor etwa 20 
164 Jahren wurden Noten erstellt, indem man sie in eine Zink- oder Zinnplatte 
165 schnitt oder mit Stempeln schlug. Diese Platte wurde dann mit Druckerschwärze
166 versehen, so dass sie in den geschnittenen und gestempelten Vertiefungen 
167 blieb. Diese Vertiefungen schwärzten dann ein auf die Platte gelegtes 
168 Papier. Das Gravieren wurde vollständig von Hand erledigt. Es war darum 
169 sehr mühsam, Korrekturen anzubringen, weshalb man von vornherein richtig
170 schneiden musste. Die Kunst des Notenstechens war eine sehr
171 spezialisierte Handwerkskunst, für die ein Handwerker etwa fünf
172 Ausbildungsjahre benötigte, bevor der den Meistertitel tragen durfte.
173 Weitere fünf Jahre waren erforderlich, um diese Kunst wirklich zu
174 beherrschen.
175
176 @quotation
177 @iftex
178 @sourceimage{hader-slaan,,7cm,}
179 @end iftex
180 @ifnottex
181 @sourceimage{hader-slaan,,,jpg}
182 @end ifnottex
183 @end quotation
184
185 LilyPond wurd von den handgestochenen traditionellen Noten
186 inspiriert, die in der ersten Hälfte des 20. Jahrhunderts von
187 europäischen Notenverlagen herausgegeben wurden (insbesondere
188 Bärenreiter, Duhem, Durand, Hofmeister, Peters und Scott).  Sie
189 werden teilweise als der Höhepunkt des traditionellen Notenstichs
190 angesehen.
191
192 @c Heutzutage wird fast alle gedruckte Musik von Computern erstellt. Das 
193 @c hat einige deutliche Vorteile: Drucke sind billiger als die gravierten
194 @c Platten und der Computersatz kann per E-Mail verschickt werden. Leider
195 @c hat der intensive Einsatz des Computers die graphische Qualität
196 @c des Notensatzes vermindert. Mit dem Computer erstellte Noten sehen 
197 @c langweilig und mechanisch aus, was es erschwert, von ihnen zu spielen.
198
199 @menu
200 * Notenschriftarten::                 
201 * Optischer Ausgleich::             
202 * Hilfslinien::                
203 * Optische Größen::              
204 * Warum der große Aufwand?::           
205  @end menu
206
207 @node Notenschriftarten
208 @unnumberedsubsec Notenschriftarten
209 @translationof Music fonts
210
211 Die Abbildung unten illustriert den Unterschied zwischen  
212 traditionellem Notensatz und einem typischen Computersatz.
213 Das linke Bild zeigt ein eingescanntes b-Vorzeichen
214 einer handgestochenen Bärenreiter-Edition, das rechte Bild
215 hingegen ein Symbol aus einer 2000 herausgegebenen Edition
216 der selben Noten.  Obwohl beide Bilder mit der gleichen
217 Tintenfarbe gedruckt sind, wird die frühere Version dunkler: die
218 Notenlinien sind dicker und das Bärenreiter-b hat ein rundliches,
219 beihnahe sinnliches Aussehen.  Der rechte Scan hingegen hat
220 dünnere Linien und eine gerade Form mit scharfen Ecken und Kanten.
221
222 @multitable @columnfractions .25 .25 .25 .25
223 @item @tab
224 @ifnotinfo
225 @iftex
226 @sourceimage{baer-flat-gray,,4cm,}
227 @end iftex
228 @ifnottex
229 @sourceimage{baer-flat-gray,,,png}
230 @end ifnottex
231
232 @tab
233 @iftex
234 @sourceimage{henle-flat-gray,,4cm,}
235 @end iftex
236 @ifnottex
237 @sourceimage{henle-flat-gray,,,png}
238 @end ifnottex
239
240 @end ifnotinfo
241 @ifinfo
242 @sourceimage{henle-flat-bw,,,png}
243 @sourceimage{baer-flat-bw,,,png}
244 @sourceimage{lily-flat-bw,,,png}
245 @end ifinfo
246
247
248 @item @tab
249 Bärenreiter (1950)
250 @tab
251 Henle (2000)
252
253 @end multitable
254
255
256 @cindex Musiksymbole
257 @cindex Schriftart
258 @cindex Dichte
259 @cindex Balance
260
261 Als wir uns entschlossen hatten, ein Programm zu schreiben, das
262 die Typographie des Notensatzes beherrscht, gab es keine freien
263 Musikschriftarten, die unserem geplanten eleganten Notenbild passen
264 würden.  Unbeirrt schufen wir eine Schriftart und dazu einen
265 Coputerfont mit den musikalischen Symbolen, wobei wir uns an den
266 schönen Musikdrucken der handgestochenen Noten orientierten.  Ohne
267 diese Erfahrung hätten wir nie verstanden, wie hässlich die
268 Schriftarten waren, die wir zuerst bewunderten.
269
270 Unten ein Beispiel zweier Notenschriftarten.  Das obere Beispiel ist der
271 Standard im Sibelius-Programm (die @emph{Opus}-Schriftart), das
272 untere unsere eigene LilyPond-Schriftart.
273
274 @quotation
275 @iftex
276 @sourceimage{pdf/OpusAndFeta,,,}
277 @end iftex
278 @ifnottex
279 @sourceimage{OpusAndFeta,,,png}
280 @end ifnottex
281 @end quotation
282
283 Die LilyPond-Symbole sind schwerer und ihre Dicke ist durchgängiger,
284 wodurch sie einfacher zu lesen sind.  Feine Enden, wie etwa die
285 Seiten der Viertelpause, sollten nicht als scharfe Spitzen enden,
286 sondern etwas abgerundet.  Das liegt daran, dass scharfe Enden
287 der Stempel sehr fragil sind und sich schnell durch die Verwendung
288 abnutzen.  Zusammengefasst muss die Schärze der Schriftart sehr
289 vorsichtig mit der Schwärze von Notenlinien, Balken und Bögen
290 abgeglichen werden, um ein starkes, aber doch ausgewogenes Gesamtbild
291 zu ergeben.
292
293 Einige weitere Besonderheiten: der Notenkopf der Halben ist nicht
294 elliptisch, sondern etwas rautenförmig.  Der vertikale Hals des
295 b-Symbols ist schwach keilförmig nach oben hin.  Das Kreuz und das
296 Auflösungszeichen sind einfacher aus der Entfernung zu unterscheiden,
297 weil ihre schrägen Linien eine andere Neigung haben und die vertikalen
298 Linien dicker sind.
299
300 @node Optischer Ausgleich
301 @unnumberedsubsec Optischer Ausgleich
302 @translationof Optical spacing
303
304 Die Aufteilung der Noten in der Horizontalen sollte die Dauer der
305 jeweiligen Note widerspiegeln.  Wie wir jedoch im Beispiel der
306 Bach-Suite oben sehen konnten, orientieren sich viele moderne
307 Partituren an den Dauern mit mathematischer Präzision, was zu
308 schlechten Ergebnissen führt.  Im nächsten Beispiel ist ein Motiv
309 zweimal dargestellt: das erste Mal mit exakter mathematischer
310 Aufteilung, das zweite Mal mit Korrekturen.  Welches Beispiel
311 spricht Sie mehr an?
312
313 @cindex Optischer Ausgleich
314
315 @lilypond
316 \paper {
317   ragged-right = ##t
318   indent = #0.0
319 }
320
321 music = {
322    c'4 e''4 e'4 b'4 |
323    \stemDown
324    b'8[ e'' a' e'']
325    \stemNeutral
326    e'8[ e'8 e'8 e'8]
327 }
328 \score
329 {
330   \music
331   \layout {
332     \context {
333       \Staff
334       \override NoteSpacing #'stem-spacing-correction = #0.0
335       \override NoteSpacing #'same-direction-correction = #0.0
336       \override StaffSpacing #'stem-spacing-correction = #0.0
337     }
338   }
339 }
340 @end lilypond
341
342 @lilypond
343 \paper {
344   ragged-right = ##t
345   indent = #0.0
346 }
347
348 music = {
349    c'4 e''4 e'4 b'4 |
350    \stemDown
351    b'8[ e'' a' e'']
352    \stemNeutral
353    e'8[ e'8 e'8 e'8]
354 }
355
356 \score
357 {
358   \music
359   \layout {
360     \context {
361       \Staff
362       \override NoteSpacing #'stem-spacing-correction = #0.6
363     }
364   }
365 }
366 @end lilypond
367
368 @cindex normale Rhythmen
369 @cindex normale Abstände
370 @cindex Abstände, normal
371 @cindex Rhythmen, normal
372
373 In jedem Takt in diesem Ausschnitt kommen Noten vor, die in einem
374 gleichmäßigen Rhythmus gespielt werden. Die Abstände sollten das
375 widerspiegeln. Leider lässt uns aber das Auge im Stich: es beachtet
376 nicht nur den Abstand von aufeinander folgenden Notenköpfen, sondern
377 auch den ihrer Hälse. Also müssen Noten, deren Hälse in direkter
378 Folge zuerst nach oben und dann nach unten ausgerichtet sind, weiter
379 auseinander gezogen werden, während die unten/oben-Folge engere
380 Abstände fordert, und das alles auch noch in Abhängigkeit von der 
381 vertikalen Position der Noten. Das untere Beispiel ist mit dieser 
382 Korrektur gesetzt. Im oberen Beispiel hingegen bilden sich 
383 für das Auge bei unten/oben-Folgen Notenklumpen.  Ein Notenstechermeister
384 hätte die Notenaufteilung angepasst, sodass die angenehm zu lesen ist.
385
386 Ein weiteres Beispiel optischen Ausgleichs ist das visualle Zusammenspiel
387 von Hälsen und Taktstrichen.  Wenn eine Noten mit Hals nach oben
388 vor einem Taktstrich kommt, braucht man etwas mehr Platz, damit
389 sich die Aufteilung nicht zu dicht anfühlt:
390
391 @lilypond
392 \paper {
393   ragged-right = ##t
394 }
395
396 \score {
397   {
398     c''8 c'' c'' c'' c'' c'' c'' c'' \break
399     a' a' a' a' a' a' a' a'
400   }
401   \layout {
402     \context {
403       \Staff
404       \remove "Time_signature_engraver"
405       \override NoteSpacing #'stem-spacing-correction = #0.7
406     }
407     \context {
408       \Score
409       \remove "Bar_number_engraver"
410     }
411   }
412 }
413 @end lilypond
414
415 @node Hilfslinien
416 @unnumberedsubsec Hilfslinien
417 @translationof Ledger lines
418
419 @cindex Hilfslinien
420 @cindex Zusammenstöße
421
422 Hilfslinien stellen eine typographische Herausforderung dar: sie
423 machen es schwerer, die Notensymbole dicht anzuordnen und sie müssen
424 klar genug sein, dass sich die Tonhöhe mit einem schnellen Blick
425 erkennen lässt.  Im Beispeil unten können wir sehen, dass
426 Hilfslinien dicker als normale Notenlinien sein sollten und dass
427 ein gelernter Notenstecher eine Hilfslinie verkürzt, um dichteres
428 Platzzieren von Versetzungszeichen zu erlauben.  Wir haben diese
429 Eigenschaft in den Notensatz von LilyPond eingebaut.
430
431 @multitable @columnfractions .25 .25 .25 .25
432 @item @tab
433
434 @iftex
435 @sourceimage{baer-ledger,3cm,,}
436 @end iftex
437 @ifnottex
438 @sourceimage{baer-ledger,,,png}
439 @end ifnottex
440
441 @tab
442
443 @iftex
444 @sourceimage{lily-ledger,3cm,,}
445 @end iftex
446 @ifnottex
447 @sourceimage{lily-ledger,,,png}
448 @end ifnottex
449
450 @end multitable
451
452
453 @node Optische Größen
454 @unnumberedsubsec Optische Größen
455 @translationof Optical sizing
456
457 Noten werden in verschiedenen Größen gedruckt.  Ursprünglich hatte
458 man hierzu Stempel in verschiedenen Größen, was gleichzeitig heißt,
459 dass jeder Stempel so beschaffen war, dass er für seine Größe ein
460 ideales Abbild erzeugte.  Mit den digitalen Fonts kann ein einziger
461 Umriss mathematisch skaliert werden, um eine beliebige Größe zu
462 erzeugen, was sehr viele Vorteile hat.  In kleinen Größen erscheinen
463 die Symbole jedoch zu dünn.
464
465 Für LilyPond haben wir Schriftarten mit einer Reihe von Dicken
466 erstellt, die jeweils einer Notengröße entsprechen.  Hier ein
467 LilyPond-Notensatz mit der Systemgröße 26:
468
469 @quotation
470 @iftex
471 @sourceimage{pdf/size26,,23mm,}
472 @end iftex
473 @ifnottex
474 @sourceimage{size26,,,png}
475 @end ifnottex
476 @end quotation
477
478 @noindent
479 und hier die gleichen Noten mit Systemgröße 11, anschließend um 236%
480 vergrößert, damit das Bild in exakt der gleichen Größe wie das
481 vorige erscheint:
482
483 @quotation
484 @iftex
485 @sourceimage{pdf/size11,,23mm,}
486 @end iftex
487 @ifnottex
488 @sourceimage{size11,,,png}
489 @end ifnottex
490 @end quotation
491
492 @noindent
493 Bei kleineren Größen benutzt LilyPond proportional dickere
494 Notenlinien, sodass das Notenbild immernoch gut zu lesen ist.
495
496 @ignore
497 Dadurch können auch Notensysteme unterschiedlicher Größe
498 friedlich nebeneinander auf der gleichen Seite erscheinen:
499
500 @c TODO: are the stems in this example the right thickness? How should
501 @c line weights be scaled for small staves?
502
503 @c Grieg's Violin Sonata Op. 45
504 @lilypond[indent=1.5cm]
505 global = {
506   \time 6/8
507   \key c \minor
508 }
509
510 \new Score <<
511   \new Staff \with {
512       fontSize = #-4
513       \override StaffSymbol #'staff-space = #(magstep -4)
514       \override StaffSymbol #'thickness = #(magstep -3)
515     }
516     \relative c' {
517       \global
518       \set Staff.instrumentName = #"Violin"
519       c8.(\f^> b16 c d) ees8.(^> d16 c b)
520       g8.(^> b16 c ees) g8-.^> r r
521       R2.
522     }
523   \new PianoStaff <<
524     \set PianoStaff.instrumentName = #"Piano"
525     \new Staff \relative c' {
526       \global
527       s2.
528       s4. s8 r8 r16 <c f aes c>
529       <c f aes c>4.^> <c ees g>8 r r
530     }
531     \new Staff \relative c {
532       \global
533       \clef "bass"
534       << {
535         \once \override DynamicText #'X-offset = #-3
536         <ees g c>2.~->^\f
537         <ees g c>4.~ <ees g c>8
538       } \\ {
539         <c g c,>2.~
540         <c g c,>4.~ <c g c,>8
541       } >>
542       r8 r16 <f, c' aes'>16
543       <f c' aes'>4.-> <c' g'>8 r r
544     }
545   >>
546 >>
547 @end lilypond
548 @end ignore
549
550
551 @node Warum der große Aufwand?
552 @unnumberedsubsec Warum der große Aufwand?
553 @translationof Why work so hard?
554
555 Musiker sind üblicherweise zu sehr damit beschäftigt, die Musik aufzuführen, 
556 als dass sie das Aussehen der Noten studieren könnten; darum mag diese 
557 Beschäftigung mit typographischen Details akademisch wirken. 
558 Das ist sie aber nicht.  Notenmaterial ist Aufführungsmaterial:
559 alles muss unternommen werden, damit der Musiker die Aufführung
560 besser bewältigt, und alles, das unklar oder unangenehm ist,
561 ist eine Hindernis.
562
563 Der dichtere Eindruck, den die dickeren Notenlinien und schwereren
564 Notationssymbole schaffen, eignet sich besser für Noten,
565 die weit vom Leser entfernt stehen, etwa auf einem Notenständer.
566 Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die 
567 Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen. 
568 Dadurch werden unnötige Seitenumbrüche vermieden, so dass man 
569 nicht so oft blättern muss.
570
571 Dies sind die Anforderungen der Typographie: Das Layout sollte
572 schön sein -- nicht nur aus Selbstzweck, sondern vor allem um dem
573 Leser zu helfen.  Für Aufführungsmaterial ist das umso wichtiger,
574 denn Musiker haben eine begrenzte Aufnahmefähigkeit. Je weniger
575 Mühe nötig ist, die Noten zu erfassen, desto mehr Zeit bleibt für
576 die Gestaltung der eigentlichen Musik. Das heißt: Gute 
577 Typographie führt zu besseren Aufführungen!
578
579 Die Beispiele haben gezeigt, dass der Notensatz eine subtile und 
580 komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung 
581 erlangt werden können, die Musiker normalerweise nicht haben.
582 LilyPond stellt unser Bemühen dar, die graphische Qualität
583 handgestochener Notenseiten ins Computer-Zeitalter zu transportieren 
584 und sie für normale Musiker erreichbar zu machen. Wir haben 
585 unsere Algorithmen, die Gestalt der Symbole und die Programm-Einstellungen
586 darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität 
587 der alten Editionen entspricht, die wir so gerne betrachten 
588 und aus denen wir gerne spielen.
589
590
591
592 @node Automatisierter Notensatz
593 @unnumberedsubsec Automatisierter Notensatz
594 @translationof Automated engraving
595
596 @cindex Notensatz, automatisch
597 @cindex automatischer Notensatz
598
599 Dieser Abschnitt beschreibt, was benötigt wird um ein Programm zu
600 schreiben, welches das Layout von gestochenen Noten nachahmen kann:
601 eine Methode, dem Computer gute Layouts zu erklären, detailliertes
602 Vergleichen mit echten Notendrucken und genug Flexibilität, um mit
603 den vielen Herausforderungen fertig zu werden, die der Notensatz
604 mit sich bringt.
605
606 @menu
607 * Schönheitswettbewerb::             
608 * Verbessern durch Benchmarking::  
609 * Alles richtig machen::        
610 * Flexible Architektur::       
611 @end menu
612
613 @node Schönheitswettbewerb
614 @unnumberedsubsec Schönheitswettbewerb
615 @translationof Beauty contests
616
617 Wie sollen wir also jetzt die Typographie anwenden?
618 Anders gesagt: welcher von den drei Konfigurationen sollte für
619 den folgenden Bogen ausgewählt werden?
620
621 @lilypond
622 \relative c {
623     \clef bass
624     \once \override Slur #'positions = #'(1.5 . 1)
625     e8[( f] g[ a b d,)] r4
626     \once \override Slur #'positions = #'(2 . 3)
627     e8[( f] g[ a b d,)] r4
628     e8[( f] g[ a b d,)] r4
629 }
630 @end lilypond
631
632 Es gibt wenige Bücher über die Kunst des Notensatzes.  Leider
633 haben sie nur Daumenregeln und einige Beispiele zu bieten.  Solche
634 Regeln können sehr informativ sein, aber sie sind weit entfernt
635 von einem Algorithmus, den wir in unser Programm einbauen könnten.
636 Indem man die Anweisungen der Literatur anwendet, kommt man zu
637 Algorithmen mit sehr vielen manuellen Ausnahmen.  Alle die möglichen
638 Fälle zu analysieren stellt sehr viel Arbeit dar und meistens
639 werden dennoch nicht alle Fälle vollständig abgedeckt:
640
641 @quotation
642 @iftex
643 @sourceimage{ross-beam-scan,7cm,,}
644 @end iftex
645 @ifnottex
646 @sourceimage{ross-beam-scan,,,.jpg}
647 @end ifnottex
648 @end quotation
649
650 (Bildquelle: Ted Ross, @emph{The Art of Music Engraving})
651
652 Anstatt zu versuchen, für jedes mögliche Szenario eine passende
653 Layoutregel zu definieren, müssen wir nur die Regeln genau genug
654 beschreiben, sodass LilyPond die Gefälligkeit von mehreren
655 Alternativen selber einschätzen kann.  Dann errechnen wir für jede
656 mögliche Konfiguration eine Hässlichkeits-Rangliste und wir wählen
657 die Konfiguration aus, die am wenigsten hässlich ist.
658
659 Zum Beispiel hier drei mögliche Konfiguration eines Legatobogens,
660 und LilyPond hat jeder Konfiguration @qq{Hässlichkeitspunkte}
661 verliehen.  Das erste Beispiel erhält 15.39 Punkte, weil eine der
662 Noten angeschnitten wird:
663
664 @lilypond
665 \relative c {
666     \clef bass
667     \once \override Slur #'positions = #'(1.5 . 1)
668     e8[(_"15.39" f] g[ a b d,)] r4
669 }
670 @end lilypond
671
672 Das zweite Beispiel ist schöner, aber der Bogen beginnt weder noch
673 endet er an den Notenköpfen.  Hier werden 1.71 Punkte auf der linken
674 und 9.37 Punkte auf der rechten Seite verliehen, plus weiteren
675 2 Punkten, weil der Bogen aufsteigt, während die Melodie absteigt.
676 Insgesamt also 13.08 Punkte:
677
678 @lilypond
679 \relative c {
680     \clef bass
681     \once \override Slur #'positions = #'(2 . 3)
682     e8[(_"13.08" f] g[ a b d,)] r4
683 }
684 @end lilypond
685
686 Der letzte Bogen erhält 10.04 Punkte für die Lücke rechts und
687 2 Punkte für die Neigung nach oben, aber er ist die schönste
688 der drei Varianten, sodass LilyPond ihn auswählt:
689
690 @lilypond
691 \relative c {
692     \clef bass
693     e8[(_"12.04" f] g[ a b d,)] r4
694 }
695 @end lilypond
696
697 Diese Technik ist sehr allgemein und wird benutzt, um optimale
698 Entscheidungen für Bögenkonfigurationen, Bindebögen und Punkten
699 in Akkorden, Zeilenumbrüche und Seitenumbrüche zu erhalten.  Die
700 Ergebnisse dieser Entscheidungen können durch einen Vergleich mit
701 handgestochenen Noten eingeschätzt werden.
702
703
704 @node Verbessern durch Benchmarking
705 @unnumberedsubsec Verbessern durch Benchmarking
706 @translationof Improvement by benchmarking
707
708 Die Ausgabe von LilyPond hat sich schrittweise mit der Zeit
709 verbessert, und sie verbessert sich weiter, indem sie immer wieder
710 mit handgestochenen Noten verglichen wird.
711
712 Hier als Beispiel eine Zeile eines Benchmark-Stückes aus einer 
713 handgestochenen Notenedition (Bärenreiter BA320):
714
715 @iftex
716 @sourceimage{baer-sarabande-hires,16cm,,}
717 @end iftex
718 @ifnottex
719 @sourceimage{baer-sarabande,,,png}
720 @end ifnottex
721
722 @noindent
723 und die gleiche Zeile als Satz einer sehr alten LilyPond-Version
724 (Version 1.4, Mai 2001):
725
726 @iftex
727 @sourceimage{pdf/lily14-sarabande,16cm,,}
728 @end iftex
729 @ifnottex
730 @sourceimage{lily14-sarabande,,,png}
731 @end ifnottex
732
733 @noindent
734 Die Ausgabe von LilyPond 1.4 ist auf jeden Fall leserlich, aber
735 ein ausführlicher Vergleich mit der Vorlage zeigt viele Fehler in
736 den Formatierungsdetails:
737
738 @iftex
739 @sourceimage{lily14-sarabande-annotated-hires,16cm,,}
740 @end iftex
741 @ifnottex
742 @sourceimage{lily14-sarabande-annotated,,,png}
743 @end ifnottex
744
745 @itemize @bullet
746 @item vor der Taktangabe ist nicht genug Platz
747 @item die Hälse der bebalkten Noten sind zu lang
748 @item der zweite und vierte Takt sind zu schmal
749 @item der Bogen sieht ungeschickt aus
750 @item das Triller-Symbol ist zu groß
751 @item die Hälse sind zu dünn
752 @end itemize
753
754 @noindent
755 (Es gibt auch zwei fehlende Notenköpfe, verschiedene editorische
756 Anweisungen, die fehler und eine falsche Tonhöhe!)
757
758 Indem die Layoutregeln und das Design der Schriftarten angepasst
759 wurde, hat sich die Ausgabe sehr starkt verbessert.  Vergleichen
760 Sie das gleiche Referenzbeispiel und die Ausgabe der aktuellen
761 LilyPond-Version (@version{}):
762
763 @iftex
764 @sourceimage{baer-sarabande-hires,16cm,,}
765 @end iftex
766 @ifnottex
767 @sourceimage{baer-sarabande,,,png}
768 @end ifnottex
769
770 @lilypond[staffsize=17.5,line-width=15.9\cm]
771 \relative c {
772   \clef "bass"
773   \key d \minor
774   \time 3/4
775   \mergeDifferentlyDottedOn
776   << {\slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e)}
777      \\ {d4_2 a2}
778   >>
779   \slurDashed
780   <f' a, d,>4. e8( d c)
781   \slurSolid
782   bes g' f e16( f g_1 a_2 bes_3 d,_2)
783   \slurDashed
784   cis4.-\trill b8_3( a g)
785   << {\slurDashed d'8.( e16) e4.-\trill( d16 e)}
786      \\ {<f, a>4 a2}
787   >>
788 }
789 @end lilypond
790
791 @noindent
792 Die jetzige Ausgabe ist kein Klon der Referenzedition, aber sie ist
793 sehr viel näher an einer Publikationsqualität.
794
795
796 @node Alles richtig machen
797 @unnumberedsubsec Alles richtig machen
798 @translationof Getting things right
799
800 Wir können auch die Fähigkeiten von LilyPond, Notensatzentscheidungen
801 alleine zu fällen, messen, indem wir die Ausgabe von LilyPond mit
802 der Ausgabe eines kommerziellen Notensatzprogramms vergleichen.
803 In diesem Fall haben wir Finale 2008 genommen, eines der beliebtesten
804 Notensatzprogramme, insbesondere in Nordamerika.  Sibelius ist
805 Finales hauptsächlicher Gegenspieler, offensichtlich vor allem in
806 Europa verbreitet.
807
808 In unserem Vergleich haben wir uns für die Fuge in G-Moll aus
809 dem Wohltemperierten Clavier 1, BWV 861 von J. S. Bach entschieden,
810 mit dem Hauptthema:
811
812 @lilypond
813 \relative c' {
814   \key g \minor
815   \clef "treble_8"
816   r8 d ees g, fis4 g
817   r8 a16 bes c8 bes16 a bes8
818 }
819 @end lilypond
820
821 @noindent
822 In unserem Vergleich setzten wir die letzten sieben Takte des
823 Stückes (28--34) in Finale und LilyPond.  Das ist der Punkt, an
824 der das Thema als dreistimmige Engführung in den Schlussabschnitt
825 überleitet.  In der Finale-Version haben wir der Versuchung
826 widerstanden, jedwede Anpassungen abweichend vom Standard vorzunehemn,
827 weil wir zeigen wollen, welche Dinge von den beiden Programmen
828 ohne Hilfeleistung richtig gemacht werden.
829
830 Viele der Unterschiede zwischen den beiden Sätzen finden sich
831 in den Takten 28--29, hier zuerst in Finales Version, dann in der
832 Version von LilyPond:
833
834 @iftex
835 @sourceimage{pdf/bwv861mm28-29,14cm,,}
836 @end iftex
837 @ifnottex
838 @sourceimage{bwv861mm28-29,,,png}
839 @end ifnottex
840
841 @lilypond[staffsize=19.5,line-width=14\cm]
842 global = {\key g \minor}
843
844 partI = \relative c' {
845   \voiceOne
846   fis8 d' ees g, fis4 g
847   r8 a16 bes c8 bes16 a d8 r r4
848 }
849
850 partII = \relative c' {
851   \voiceTwo
852   d4 r4 r8 d'16 c bes8 c16 d
853   ees8 d c ees a, r r4
854 }
855 partIII = \relative c' {
856   \voiceOne
857   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
858 }
859 partIV = \relative c {
860   \voiceTwo
861   d4 r r2
862   r8 d ees g, fis4 a
863 }
864
865 \score {
866   <<
867     % \set Score.barNumberVisibility = #all-bar-numbers-visible
868     % required in 2.13
869     \set Score.currentBarNumber = #28
870     \bar ""
871     \new PianoStaff <<
872       \new Staff = "RH" <<
873         \global
874         \new Voice = "voiceI" { \partI }
875         \new Voice = "voiceII" { \partII }
876       >>
877
878       \new Staff = "LH" <<
879         \clef "bass"
880         \global
881         \new Voice = "voiceIII" { \partIII }
882         \new Voice = "voiceIV" { \partIV }
883       >>
884     >>
885   >>
886   \layout {
887     \context {
888       \Staff
889       \remove "Time_signature_engraver"
890     }
891     \context {
892       \PianoStaff
893       \override StaffGrouper #'between-staff-spacing #'padding = #1
894     }
895   }
896 }
897 @end lilypond
898
899 Einige der Mängel des nicht editierten Finale-Satzes beinhalten:
900
901 @itemize @bullet
902 @item Die meisten Balken sind zu weit vom Notensystem entfernt.
903 Ein Balken, der zum Zentrum des Systems zeigt, sollte etwa die
904 Länge einer Oktave haben, aber Notensetzer verkürzen die Länge,
905 wenn der Balken in polyphonen Situationen aus dem System
906 herauszeigt.  Die Bebalkung von Finale kann einfach mit dem
907 Patterson Beams-Plugin verbessert werden, aber wir haben diesen
908 Schritt für dieses Beispiel ausgelassen.
909 @item Finale passt die Position von ineinander greifenden Notenköpfen
910 nicht an, sodass die Noten sehr schwer lesbar werden, wenn
911 die untere und obere Stimme zeitweise ausgetauscht werden:
912
913 @lilypond
914 collide = \once \override NoteColumn #'force-hshift = #0
915 \new Score <<
916   \new Voice = "sample" \relative c''{
917     \key g \minor
918     <<
919       {\voiceOne g4 \collide g4}
920       \new Voice {\voiceTwo bes \collide bes}
921     >>
922   }
923   \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
924 >>
925 @end lilypond
926
927 @item Finale positioniert alle Pausen an einer festen Position auf
928 dem System.  Der Benutzer kann sie anpassen, wie er es richtig
929 findet, aber das Programm unternimmt keinen Versuch, den Inhalt
930 der anderen Stimme mit einzubeziehen.  Durch einen Glücksfall
931 kommen keine wirklichen Kollisionen zwischen Noten und Pausen
932 in diesem Beispiel vor, aber das liegt mehr an der Position der
933 Noten als an der der Pausen.  Anders gesagt: Bach verdient mehr
934 Aufmerksamkeit um vollständige Kollisionen zu vermeiden als
935 Finale ihm gönnt.
936
937 @end itemize
938
939 Dieses Beispiel soll nicht suggerieren, dass man mit Finale nicht
940 schöne Ausgabe erstellen könnte.  Das Programm ist dazu fähig,
941 wenn ein erfahrener Benutzer genug Zeit und Fähigkeit mitbringt.
942 Einer der fundamentalen Unterschiede zwischen LilyPond und kommerziellen
943 Notensatzprogrammen ist, dass LilyPond versucht, den Aufwand an
944 menschlicher Intervention auf ein absolutes Minimum zu reduzieren,
945 während andere Programme versuchen, ein attraktives Programmfenster
946 zu bieten, in dem die Anpassungen vorgenommen werden können.
947
948 Z. 859
949 Einen besonders hervorstechenden Mangel in dem Finale-Beispiel
950 ist ein fehlendes b-Vorzeichen in Takt 33:
951
952 @quotation
953 @iftex
954 @sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,}
955 @end iftex
956 @ifnottex
957 @sourceimage{bwv861mm33-34-annotate,,,png}
958 @end ifnottex
959 @end quotation
960
961 @noindent
962 Das b-Symbol wird benötigt, um das Auflösungzeichen im selben
963 Takt rückgängig zu machen, aber Finale lässt es aus, weil es in
964 einer anderen Stimme vorkommt.  Der Benutzer muss nicht nur daran
965 denken, ein Balken-Plugin zu starten und die Notenköpfe und Pausen
966 neu anzuordnen, er muss auch jeden Takt prüfen, ob Versetzungszeichen
967 aus anderen Stimmen korrigiert werden müssen, damit nicht ein
968 Notensatzfehler die Probe unnötig unterbricht.
969
970 Wenn Sie diese Beispiel noch detaillierter betrachten wollen,
971 können Sie den vollen siebentaktigen Ausschnitt am Ende dieses
972 Aufsatzes als Notensatz von Finale und LilyPond sowie in vier
973 publizierten Editionen finden.  Nähere Betrachtung zeigt, dass
974 es einige akzeptable Variationen zwischen den handgestochenen
975 Beispielen gibt.  Auch die LilyPond-Ausgabe hat noch ihre
976 Fehler: sie ist beispielsweise etwas zu aggressiv bei der Verkürzung
977 einiger Hälse -- hier ist also noch Raum für weitere Entwicklung
978 und Feineinstellung.
979
980 Natürlich hängt Typographie vom menschlichen Urteil der Erscheinung
981 ab, sodass Menschen nicht vollständig ersetzt werden können.  Viel
982 der eintönigen Arbeit kann jedoch automatisiert werden.  Wenn
983 LilyPond die meisten üblichen Situationen richtig löst, ist das
984 schon eine große Verbesserung gegenüber existierender Software.
985 Im Laufe der Jahre wir das Programm immer besser und macht mehr
986 und mehr Sachen automatisch, sodass manuelles Eingreifen immer
987 seltener wird.  Wo manuelle Anpassungen benötigt werden,
988 wurde die Struktur von LilyPond mit Flexibilität im Hinterkopf
989 geplant.
990
991
992 @node Flexible Architektur
993 @unnumberedsubsec Flexible Architektur
994 @translationof Flexible architecture
995
996 Als wir anfingen, haben wir LilyPond vollständig in der Programmiersprache C++
997 geschrieben. Das hieß, dass der Funktionsumfang des Programms vollständig durch
998 die Programmierer festgelegt war. Das stellte sich aus einer Reihe von Gründen
999 als unzureichend heraus:
1000
1001 @itemize @bullet
1002 @item Wenn LilyPond Fehler macht, muss der Benutzer die
1003 Einstellungen ändern können. Er muss also Zugang zur 
1004 Formatierungsmaschinerie haben.  Deshalb können die Regeln und 
1005 Einstellungen nicht beim Kompilieren des Programms festgelegt 
1006 werden, sondern sie müssen zugänglich sein, während das Programm
1007 aktiv ist.
1008
1009 @item Notensatz ist eine Frage des Augenmaßes, und damit auch vom
1010 Geschmack abhängig.  Benutzer können mit unseren Entscheidungen 
1011 unzufrieden sein.  Darum müssen also auch die Definitionen des 
1012 typographischen Stils dem Benutzer zugänglich sein.
1013
1014 @item Schließlich verfeinern wir unseren Formatierungsalgorithmus 
1015 immer weiter, also müssen die Regeln auch flexibel sein. Die
1016 Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode, 
1017 die nicht den Regeln für den Notensatz entspricht.
1018 @end itemize
1019
1020 @cindex Scheme-Programmiersprache
1021
1022 Diese Probleme wurden angegangen, indem ein Übersetzer für 
1023 die Programmiersprache Scheme integriert wurde und Teile
1024 von LilyPond in Scheme neu geschrieben wurden.  Die derzeitige 
1025 Formatierungsarchitektur ist um die Notation von graphischen 
1026 Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
1027 beschrieben werden.  Diese Architektur umfasst Formatierungsregeln,
1028 typographische Stile und individuelle Formatierungsentscheidungen. 
1029 Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.
1030
1031 Scheme-Variablen steuern Layout-Entscheidungen.  Zum Beispiel haben 
1032 viele graphische Objekte eine Richtungsvariable, die zwischen 
1033 oben und unten (oder rechts und links) wählen kann.  Hier etwa 
1034 sind zwei Akkorde mit Akzenten und Arpeggien.
1035 Beim ersten Akkord sind alle Objekte nach unten (oder links)
1036 ausgerichtet, beim zweiten nach oben (rechts).
1037
1038 @lilypond[quote,ragged-right]
1039 \new Score \with {
1040    \override SpacingSpanner #'spacing-increment = #3
1041    \override TimeSignature #'transparent = ##t
1042 } \relative c' {
1043    \stemDown <e g b>4_>-\arpeggio
1044    \override Arpeggio #'direction = #RIGHT
1045    \stemUp <e g b>4^>-\arpeggio
1046 }
1047 @end lilypond
1048
1049 @cindex Formatierung einer Partitur
1050 @cindex Partitur, Formatierung
1051 @cindex Formatierungsregeln
1052
1053 @noindent
1054 Der Prozess des Notensetzens besteht für das Programm darin,
1055 die Variablen der graphischen Objekte zu lesen und zu
1056 schreiben.  Einige Variablen haben festgelegte Werte. So
1057 ist etwa die Dicke von vielen Linien – ein Charakteristikum
1058 des typographischen Stils – von vornherein festgelegt.
1059 Wenn sie geändert werden, ergibt sich ein anderer typographischer Eindruck.
1060
1061 @lilypond[quote,ragged-right]
1062 fragment = {
1063    \clef bass f8 as8
1064    c'4-~ c'16 as g f e16 g bes c' des'4
1065 }
1066 <<
1067    \new Staff \fragment
1068    \new Staff \with {
1069       \override Beam #'beam-thickness = #0.3
1070       \override Stem #'thickness = #0.5
1071       \override Bar #'thickness = #3.6
1072       \override Tie #'thickness = #2.2
1073       \override StaffSymbol #'thickness = #3.0
1074       \override Tie #'extra-offset = #'(0 .  0.3)
1075       }
1076       \fragment
1077 >>
1078 @end lilypond
1079
1080 Formatierungsregeln sind auch vorbelegte Variablen.  Zu jedem Objekt gehören
1081 Variablen, die Prozeduren enthalten. Diese Prozeduren machen die eigentliche
1082 Satzarbeit aus, und wenn man sie durch andere ersetzt, kann die Darstellung
1083 von Objekten verändert werden.  Im nächsten Beispiel wird die Regel, nach der
1084 die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.
1085
1086 @lilypond[quote,ragged-right]
1087 #(set-global-staff-size 30)
1088
1089 #(define (mc-squared grob orig current)
1090   (let* ((interfaces (ly:grob-interfaces grob))
1091          (pos (ly:grob-property grob 'staff-position)))
1092     (if (memq 'note-head-interface interfaces)
1093         (begin
1094           (ly:grob-set-property! grob 'stencil
1095             (grob-interpret-markup grob
1096               (make-lower-markup 0.5
1097                 (case pos
1098                   ((-5) "m")
1099                   ((-3) "c ")
1100                   ((-2) (make-smaller-markup (make-bold-markup "2")))
1101                   (else "bla")))))))))
1102
1103 \new Voice \relative c' {
1104   \stemUp
1105   \set autoBeaming = ##f
1106   \time 2/4
1107   <d f g>4
1108   \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
1109   \once \override NoteHead #'font-size = #-7
1110   \once \override NoteHead #'font-family = #'sans
1111   \once \override NoteHead #'font-series = #'bold
1112   <d f g>4
1113   \once \override NoteHead #'style = #'cross
1114   <d f g>4
1115   \applyOutput #'Voice #mc-squared
1116   <d f g>4
1117   <<
1118     { d8[ es-( fis^^ g] fis2-) }
1119     \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
1120   >>
1121 }
1122 @end lilypond
1123
1124
1125
1126 @node Welche Symbole?
1127 @unnumberedsubsec Welche Symbole?
1128 @translationof What symbols to engrave?
1129
1130 @cindex Notensatz
1131 @cindex Typographie
1132 @cindex Stempel
1133 @cindex Matrize
1134 @cindex Engraver
1135 @cindex Plugin
1136
1137 Während des Notensatzprozesses entscheidet sich, wo
1138 Symbole platziert werden.  Das kann aber nur gelingen, 
1139 wenn vorher entschieden wird, @emph{welche} Symbole
1140 gesetzt werden sollen, also welche Art von Notation benutzt
1141 werden soll.
1142
1143 Die heutige Notation ist ein System zur Musikaufzeichnung,
1144 das sich über die letzten 1000 Jahre entwickelt hat.  Die
1145 Form, die heute üblicherweise benutzt wird, stammt aus der frühen
1146 Renaissance.  Auch wenn sich die grundlegenden Formen (also
1147 die Notenköpfe, das Fünfliniensystem) nicht verändert haben,
1148 entwickeln sich die Details trotzdem immer noch weiter, um
1149 die Errungenschaften der Neuen Musik darstellen zu können.  Die
1150 Notation umfasst also 500 Jahre Musikgeschichte.  Ihre Anwendung
1151 reicht von monophonen Melodien bis zu ungeheuer komplexem Kontrapunkt 
1152 für großes Orchester.
1153
1154 Wie bekommen wir dieses vielköpfige Monster zu fassen und in die
1155 Fesseln eines Computerprogrammes zu legen?
1156 Unsere Lösung ist es, das Problem in kleine (programmierbare) Happen zu zerteilen, so dass jede Art
1157 von Symbol durch ein eigenes Modul, als Plugin bezeichnet,
1158 verarbeitet werden kann.  Jedes Plugin ist vollständig modular
1159 und unabhängig und kann unabhängig entwickelt und verbessert
1160 werden.  Derartige Plugins werden @code{engraver} genannt,
1161 analog zu den Notenstechern (engl. engraver), die musikalische
1162 Ideen in graphische Symbole übersetzen.
1163
1164 Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe, 
1165 dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
1166
1167 @lilypond[quote,ragged-right]
1168 \include "engraver-example.ily"
1169
1170 \score {
1171   \topVoice
1172   \layout {
1173     \context {
1174       \Voice
1175       \remove "Stem_engraver"
1176       \remove "Phrasing_slur_engraver"
1177       \remove "Slur_engraver"
1178       \remove "Script_engraver"
1179       \remove "Beam_engraver"
1180       \remove "Auto_beam_engraver"
1181     }
1182     \context {
1183       \Staff
1184       \remove "Accidental_engraver"
1185       \remove "Key_engraver"
1186       \remove "Clef_engraver"
1187       \remove "Bar_engraver"
1188       \remove "Time_signature_engraver"
1189       \remove "Staff_symbol_engraver"
1190       \consists "Pitch_squash_engraver"
1191     }
1192   }
1193 }
1194 @end lilypond
1195
1196 @noindent
1197 Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher}) 
1198 die Notenlinien hinzu.
1199
1200 @lilypond[quote,ragged-right]
1201 \include "engraver-example.ily"
1202
1203 \score {
1204   \topVoice
1205   \layout {
1206     \context {
1207       \Voice
1208       \remove "Stem_engraver"
1209       \remove "Phrasing_slur_engraver"
1210       \remove "Slur_engraver"
1211       \remove "Script_engraver"
1212       \remove "Beam_engraver"
1213       \remove "Auto_beam_engraver"
1214     }
1215     \context {
1216       \Staff
1217       \remove "Accidental_engraver"
1218       \remove "Key_engraver"
1219       \remove "Clef_engraver"
1220       \remove "Bar_engraver"
1221       \consists "Pitch_squash_engraver"
1222       \remove "Time_signature_engraver"
1223     }
1224   }
1225 }
1226 @end lilypond
1227
1228 @noindent
1229 Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert 
1230 eine Referenzstelle für das System.
1231
1232 @lilypond[quote,ragged-right]
1233 \include "engraver-example.ily"
1234
1235 \score {
1236   \topVoice
1237   \layout {
1238     \context {
1239       \Voice
1240       \remove "Stem_engraver"
1241       \remove "Phrasing_slur_engraver"
1242       \remove "Slur_engraver"
1243       \remove "Script_engraver"
1244       \remove "Beam_engraver"
1245       \remove "Auto_beam_engraver"
1246     }
1247     \context {
1248       \Staff
1249       \remove "Accidental_engraver"
1250       \remove "Key_engraver"
1251       \remove "Bar_engraver"
1252       \remove "Time_signature_engraver"
1253     }
1254   }
1255 }
1256 @end lilypond
1257
1258 @noindent
1259 Der @code{Stem_engraver} (@qq{Halsstecher}) schließlich fügt
1260  Hälse hinzu.
1261
1262 @lilypond[quote,ragged-right]
1263 \include "engraver-example.ily"
1264
1265 \score {
1266   \topVoice
1267   \layout {
1268     \context {
1269       \Voice
1270       \remove "Phrasing_slur_engraver"
1271       \remove "Slur_engraver"
1272       \remove "Script_engraver"
1273       \remove "Beam_engraver"
1274       \remove "Auto_beam_engraver"
1275     }
1276     \context {
1277       \Staff
1278       \remove "Accidental_engraver"
1279       \remove "Key_engraver"
1280       \remove "Bar_engraver"
1281       \remove "Time_signature_engraver"
1282     }
1283   }
1284 }
1285 @end lilypond
1286
1287 @noindent
1288 Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt, 
1289 der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei 
1290 einem Akkord), wird ein Hals-Objekt erstellt und an den 
1291 Kopf geheftet. Wenn wir dann noch Engraver für Balken, Bögen, 
1292 Akzente, Versetzungszeichen, Taktstriche, Taktangaben und Tonartbezeichnungen 
1293 hinzufügen, erhalten wir eine vollständige Notation.
1294
1295
1296 @lilypond[quote,ragged-right]
1297 \include "engraver-example.ily"
1298 \score { \topVoice }
1299 @end lilypond
1300
1301 @cindex Polyphonie
1302 @cindex Mehrstimmigkeit
1303 @cindex Notensatz, Mehrstimmigkeit
1304 @cindex Kontexte
1305
1306 Dieses System funktioniert gut für monophone Musik, aber wie geht 
1307 es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
1308
1309 @lilypond[quote,ragged-right]
1310 \include "engraver-example.ily"
1311 \new Staff << \topVoice \\ \botVoice >>
1312 @end lilypond
1313
1314 In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam,
1315 aber die Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme
1316 eigen. Die Engraver müssen also gruppiert werden. Die Köpfe,
1317 Hälse, Bögen usw. werden in einer Gruppe mit dem Namen @qq{Voice
1318 context} (Stimmenkontext) zusammengefasst, die Engraver für den
1319 Schlüssel, die Vorzeichen, Taktstriche usw. dagegen in einer
1320 Gruppe mit dem Namen @qq{Staff context} (Systemkontext). Im Falle
1321 von Polyphonie hat ein Staff-Kontext dann also mehr als nur einen
1322 Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
1323 in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
1324 Der Score-Kontext ist auf der höchsten Ebene der Kontexte.
1325
1326
1327 @seealso
1328 Programmreferenz: @rinternals{Contexts}.
1329
1330
1331 @lilypond[quote,ragged-right]
1332 \include "engraver-example.ily"
1333 \score {
1334    <<
1335       \new Staff << \topVoice \\ \botVoice >>
1336       \new Staff << \pah \\ \hoom >>
1337    >>
1338 }
1339 @end lilypond
1340
1341
1342 @node Die Darstellung der Musik
1343 @unnumberedsubsec Die Darstellung der Musik
1344 @translationof Music representation
1345
1346 @cindex Syntax
1347 @cindex rekursive Strukturen
1348
1349 Idealerweise ist das Eingabeformat für ein komplexes Satzsystem die 
1350 abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die 
1351 Musik selber. Das stellt uns aber vor ein ziemlich großes Problem, 
1352 denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf 
1353 eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
1354 schreiben ein Programm, das den Notensatz beherrscht und machen das 
1355 Format so einfach wie möglich. Wenn es nicht mehr vereinfacht 
1356 werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser 
1357 Format dient als die formale Definition eines Musiktextes.
1358
1359 Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond, 
1360 darum soll sie einfach zu schreiben sein; z. B. bedeutet
1361
1362 @example
1363 @{
1364   c'4 d'8
1365 @}
1366 @end example
1367
1368 @noindent
1369 dass eine Viertel c' und eine Achtel d' erstellt werden sollen,
1370 wie in diesem Beispiel:
1371
1372 @lilypond[quote]
1373 {
1374   c'4 d'8
1375 }
1376 @end lilypond
1377
1378 In kleinem Rahmen ist diese Syntax sehr einfach zu benutzen.  In
1379 größeren Zusammenhängen aber brauchen wir Struktur.  Wie sonst kann
1380 man große Opern oder Symphonien notieren?  Diese Struktur wird
1381 gewährleistet durch sog. @emph{music expressions} (Musikausdrücke):
1382 indem kleine Teile zu größeren kombiniert werden, kann komplexere
1383 Musik dargestellt werden. So etwa hier:
1384
1385 @lilypond[quote,verbatim,fragment,relative=1]
1386 f4
1387 @end lilypond
1388
1389 @noindent
1390 Gleichzeitig erklingende Noten werden hinzugefügt, indem man alle in @code{<<} und @code{>>} einschließt.
1391
1392 @example
1393 <<c4 d4 e4>>
1394 @end example
1395
1396 @lilypond[quote,fragment,relative=1]
1397 \new Voice { <<c4 d4 e>> }
1398 @end lilypond
1399
1400 @noindent
1401 Um aufeinanderfolgende Noten darzustellen, werden sie in geschweifte Klammern gefasst:
1402
1403 @code{@{@tie{}@dots{}@tie{}@}}
1404
1405 @example
1406 @{ f4 <<c4 d4 e4>> @}
1407 @end example
1408
1409 @lilypond[quote,relative=1,fragment]
1410 { f4 <<c d e4>> }
1411 @end lilypond
1412
1413 @noindent
1414 Dieses Gebilde ist in sich wieder ein Ausdruck, und kann
1415 daher mit einem anderen Ausdruck kombiniert werden (hier mit einer Halben), wobei @code{<<}, @code{\\}, and @code{>>} eingesetzt wird:
1416
1417 @example
1418 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
1419 @end example
1420
1421 @lilypond[quote,fragment,relative=2]
1422 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
1423 @end lilypond
1424
1425 Solche geschachtelten Strukturen können sehr gut in einer 
1426 kontextunabhängigen Grammatik beschrieben werden. Der Programmcode 
1427 für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax 
1428 von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
1429
1430 Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer 
1431 wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
1432 diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung 
1433 haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond 
1434 spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische 
1435 Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel 
1436 schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen: 
1437 Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
1438
1439
1440 @node Beispielanwendung
1441 @unnumberedsubsec Beispielanwendung
1442 @translationof Example applications
1443
1444 @cindex einfaches Beispiel
1445 @cindex Beispiel, einfach
1446
1447 Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des 
1448 Musiksatzes in ein Computerprogramm gießen kann. Dieses 
1449 Programm kann nun dank vieler harter Arbeitsstunden benutzt werden, 
1450 um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der 
1451 Notendruck.
1452
1453 @lilypond[quote,relative=1]
1454 {
1455   \time 2/4
1456   c4 c g'4 g a4 a g2
1457 }
1458 @end lilypond
1459
1460 @noindent
1461 Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir 
1462 ein Liedblatt.
1463
1464 @lilypond[quote,ragged-right]
1465 <<
1466    \chords { c2 c f2 c }
1467    \new Staff
1468    \relative c' {
1469      \time 2/4
1470      c4 c g' g a a g2
1471    }
1472    \addlyrics { twin -- kle twin -- kle lit -- tle star }
1473 >>
1474 @end lilypond
1475
1476 Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das 
1477 nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
1478
1479 @lilypond[quote]
1480 \header {
1481   title = "Screech and boink"
1482   subtitle = "Random complex notation"
1483   composer = "Han-Wen Nienhuys"
1484 }
1485
1486 \score {
1487   \context PianoStaff <<
1488     \new Staff = "up" {
1489       \time 4/8
1490       \key c \minor
1491       << {
1492         \revert Stem #'direction
1493         \change Staff = down
1494         \set subdivideBeams = ##t
1495         g16.[
1496           \change Staff = up
1497           c'''32
1498           \change Staff = down
1499           g32
1500           \change Staff = up
1501           c'''32
1502           \change Staff = down
1503           g16]
1504         \change Staff = up
1505         \stemUp
1506         \set followVoice = ##t
1507         c'''32([ b''16 a''16 gis''16 g''32)]
1508       } \\ {
1509         s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
1510       } \\ {
1511         s4 \autoBeamOff d''8.. f''32
1512       } \\ {
1513         s4 es''4
1514       } >>
1515     }
1516
1517     \new Staff = "down" {
1518       \clef bass
1519       \key c \minor
1520       \set subdivideBeams = ##f
1521       \override Stem  #'french-beaming = ##t
1522       \override Beam  #'beam-thickness = #0.3
1523       \override Stem  #'thickness = #4.0
1524       g'16[ b16 fis16 g16]
1525       << \makeClusters {
1526         as16 <as b>
1527         <g b>
1528         <g cis>
1529       } \\ {
1530         \override Staff.Arpeggio  #'arpeggio-direction =#down
1531         <cis, e, gis, b, cis>4\arpeggio
1532       }
1533     >> }
1534   >>
1535   \midi {
1536     \context {
1537       \Score
1538       tempoWholesPerMinute = #(ly:make-moment 60 8)
1539     }
1540   }
1541   \layout {
1542     \context {
1543       \Staff
1544       \consists Horizontal_bracket_engraver
1545     }
1546   }
1547 }
1548 @end lilypond
1549
1550 Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht 
1551 die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft, 
1552 kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
1553 verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch 
1554 in Notenbilder umgewandelt werden, die dann auf Internetseiten oder 
1555 in Multimediapräsentation Anwendung finden.
1556
1557 Dieser Aufsatz zeigt eine weitere Möglichkeit: Die Noten werden als 
1558 reiner Text eingegeben und können darum sehr einfach integriert werden
1559 in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem 
1560 Fall, Texinfo. Durch ein spezielles Programm werden die Eingabefragmente durch 
1561 Notenbilder in der resultierenden PDF- oder HTML-Datei ersetzt. Dadurch ist
1562 es sehr einfach, Noten und Text zu kombinieren.
1563
1564
1565 @page
1566 @node Anhang
1567 @unnumberedsec Anhang
1568 @translationof Appendix
1569
1570 Dieser Anhang enthält vier Referenz-Notenstiche und zwei
1571 computergesetzte Versionen der Fuge G-Moll aus dem Wohltemperierten
1572 Clavier I (BWV 681) von J. S. Bach (die letzten sieben Takte).
1573
1574 @noindent
1575 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1576 1989):
1577
1578 @iftex
1579 @sourceimage{bwv861-baer,16cm,,}
1580 @end iftex
1581 @ifnottex
1582 @sourceimage{bwv861-baer-small,,,png}
1583 @end ifnottex
1584
1585 @noindent
1586 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1587 1989), eine alternative musikalische Quelle.  Neben den
1588 musikalischen Unterschieden sind hier auch ein paar unterschiedliche
1589 Notensatzentscheidungen getroffen worden, sogar vom selben Herausgeber
1590 in der selben Edition:
1591
1592 @iftex
1593 @sourceimage{bwv861-baer-alt,16cm,,}
1594 @end iftex
1595 @ifnottex
1596 @sourceimage{bwv861-baer-alt-small,,,png}
1597 @end ifnottex
1598
1599 @noindent
1600 Breitkopf & Härtel, bearbeitet von Ferruccio Busoni (Wiesbaden, 1894),
1601 auch in der Petrucci Music Library (IMSLP #22081) erhältlich.
1602 Die editorischen Bezeichnungen (Fingersatz, Artikulation usw.)
1603 wurde entfernt, um bessere Vergleichbarkeit mit den anderen
1604 Editionen zu bieten:
1605
1606 @iftex
1607 @sourceimage{bwv861-breitkopf,16cm,,}
1608 @end iftex
1609 @ifnottex
1610 @sourceimage{bwv861-breitkopf-small,,,png}
1611 @end ifnottex
1612
1613 @noindent
1614 Bach-Gesellschaft Edition (Leipzig, 1866), erhältlich in der Petrucci
1615 Music Library (IMSPL #02221):
1616
1617 @iftex
1618 @sourceimage{bwv861-gessellschaft,16cm,,}
1619 @end iftex
1620 @ifnottex
1621 @sourceimage{bwv861-gessellschaft-small,,,png}
1622 @end ifnottex
1623
1624 @noindent
1625 Finale 2008:
1626
1627 @iftex
1628 @sourceimage{pdf/bwv861-finale2008a,,,}
1629 @end iftex
1630 @ifnottex
1631 @sourceimage{bwv861-finale2008a,,,png}
1632 @end ifnottex
1633
1634 @sp 4
1635 @noindent
1636 LilyPond, version @version{}:
1637
1638 @lilypond[staffsize=14.3,line-width=15.9\cm]
1639 global = {\key g \minor}
1640
1641 partI = \relative c' {
1642   \voiceOne
1643   fis8 d' ees g, fis4 g
1644   r8 a16 bes c8 bes16 a d8 r r4
1645   r2 r8 d16 ees f8 ees16 d
1646   ees4 ~ ees16 d c bes a4 r8 ees'16 d
1647   c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
1648   a8 d, g f ees d c bes
1649   a2 g\fermata \bar "|."
1650 }
1651
1652 partII = \relative c' {
1653   \voiceTwo
1654   d4 r4 r8 d'16 c bes8 c16 d
1655   ees8 d c ees a, r r4
1656   r8 fis16 g a8 g16 fis g2 ~
1657   g2 r8 d' ees g,
1658   fis4 g r8 a16 bes c8 bes16 a
1659   bes4. <g b>8 <a c> r <d, g> r
1660   <ees g>4 <d fis> d2
1661 }
1662 partIII = \relative c' {
1663   \voiceOne
1664   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
1665   bes2 ~ bes8 b16 a g8 a16 b
1666   c4 r r2
1667   R1
1668   r8 d ees g, fis4 g
1669   r8 a16 bes c8 bes16 a b2
1670 }
1671 partIV = \relative c {
1672   \voiceTwo
1673   d4 r r2
1674   r8 d ees g, fis4 a
1675   d,8 d'16 c bes8 c16 d ees2 ~
1676   ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
1677   d,8 d'16 c bes8 c16 d ees8 c a fis'
1678   g f ees d c bes a g
1679   c a d d, g2\fermata
1680 }
1681
1682 \score {
1683   <<
1684     % \set Score.barNumberVisibility = #all-bar-numbers-visible
1685     % required in 2.13
1686     \set Score.currentBarNumber = #28
1687     \bar ""
1688     \new PianoStaff <<
1689       \new Staff = "RH" <<
1690         \global
1691         \new Voice = "voiceI" { \partI }
1692         \new Voice = "voiceII" { \partII }
1693       >>
1694
1695       \new Staff = "LH" <<
1696         \clef "bass"
1697         \global
1698         \new Voice = "voiceIII" { \partIII }
1699         \new Voice = "voiceIV" { \partIV }
1700       >>
1701     >>
1702   >>
1703   \layout {
1704     \context {
1705       \Staff
1706       \remove "Time_signature_engraver"
1707     }
1708     \context {
1709       \PianoStaff
1710       \override StaffGrouper #'between-staff-spacing #'padding = #1
1711     }
1712   }
1713 }
1714 @end lilypond
1715