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