]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/essay/engraving.itely
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / de / essay / engraving.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2
3 @ignore
4     Translation of GIT committish: 4582b7b24d22b2041bfcba49e716a714effcce92
5
6
7     When revising a translation, copy the HEAD committish of the
8     version that you are working on.  See TRANSLATION for details.
9 @end ignore
10
11 @c \version "2.13.4"
12
13 @node Notensatz
14 @chapter Notensatz
15 @translationof Music engraving
16
17 Dieser Abschnitt erklärt die Ziele und die Architektur von LilyPond.
18
19 @menu
20 * Notensatz::
21 * Automatisierter Notensatz::
22 * Welche Symbole?::
23 * Die Darstellung der Musik::
24 * Beispielanwendung::
25 @end menu
26
27
28 @node Notensatz
29 @unnumberedsubsec Notensatz
30 @translationof Engraving
31
32 @cindex Notensatz
33 @cindex Typographie
34 @cindex Notengravur
35 @cindex Gravur, Notensatz
36 @cindex Plattendruck, Noten
37
38 Die Kunst des Notensatzes wird auch als Notenstich bezeichnet. Dieser 
39 Begriff stammt aus dem traditionellen Notendruck. Noch bis vor etwa 20 
40 Jahren wurden Noten erstellt, indem man sie in eine Zink- oder Zinnplatte 
41 schnitt oder mit Stempeln schlug. Diese Platte wurde dann mit Druckerschwärze
42  versehen, so dass sie in den geschnittenen und gestempelten Vertiefungen 
43 blieb. Diese Vertiefungen schwärzten dann ein auf die Platte gelegtes 
44 Papier. Das Gravieren wurde vollständig von Hand erledigt. Es war darum 
45 sehr mühsam, Korrekturen anzubringen, weshalb man von vornherein richtig
46  schneiden musste. Es handelte sich dabei um ein sehr spezialisiertes Handwerk.
47
48 Heutzutage wird fast alle gedruckte Musik von Computern erstellt. Das 
49 hat einige deutliche Vorteile: Drucke sind billiger als die gravierten
50 Platten und der Computersatz kann per E-Mail verschickt werden. Leider
51 hat der intensive Einsatz des Computers die graphische Qualität
52 des Notensatzes vermindert. Mit dem Computer erstellte Noten sehen 
53 langweilig und mechanisch aus, was es erschwert, von ihnen zu spielen.
54
55
56 @c introduce illustrating aspects of engraving, font...
57 Die Abbildung unten illustriert den Unterschied zwischen  
58 traditionellem Notensatz und einem typischen Computersatz. Das 
59 dritte Bild zeigt, wie LilyPond die Formen des traditionellen
60 Satzes nachahmt. Das linke Bild zeigt ein eingescanntes b-Vorzeichen 
61 aus einer 2000 herausgegebenen Edition. Das mittlere Bild
62 zeigt das b-Vorzeichen derselben Musik aus einer handgestochenen 
63 Bärenreiter-Ausgabe. Das linke Bild zeigt die typischen Makel
64 des Computer-Satzes: Die Notenlinien sind sehr dünn, die Schwärze 
65 des Vorzeichens entspricht den dünnen Linien und hat eine gerade 
66 Form mit scharfen Ecken und Kanten. Im Gegensatz dazu hat das
67 Bärenreiter-Vorzeichen dicke, geradezu sinnlich rundliche
68 Formen. Unser Symbol für das Vorzeichen hat neben anderen 
69 auch dieses b als Vorbild. Es ist abgerundet und passt zu unseren
70 Notenlinien, die sehr viel dicker sind als die der entsprechenden
71 Computer-Ausgabe.
72
73 @multitable @columnfractions .125 .25 .25 .25 .125
74 @item @tab
75 @ifnotinfo
76 @iftex
77 @image{pictures/henle-flat-gray,,4cm}
78 @end iftex
79 @ifnottex
80 @image{pictures/henle-flat-gray,,,png}
81 @end ifnottex
82
83 @tab
84 @iftex
85 @image{pictures/baer-flat-gray,,4cm}
86 @end iftex
87 @ifnottex
88 @image{pictures/baer-flat-gray,,,png}
89 @end ifnottex
90
91 @tab
92 @iftex
93 @image{pictures/lily-flat-bw,,4cm}
94 @end iftex
95 @ifnottex
96 @image{pictures/lily-flat-bw,,,png}
97 @end ifnottex
98 @end ifnotinfo
99 @ifinfo
100 @image{pictures/henle-flat-bw,,,png}
101 @image{pictures/baer-flat-bw,,,,png}
102 @image{pictures/lily-flat-bw,,,png}
103 @end ifinfo
104
105 @item @tab
106 Henle (2000)
107 @tab
108 Bärenreiter (1950)
109 @tab
110 LilyPond Feta-Schriftart (2003)
111
112 @end multitable
113
114
115 @cindex Musiksymbole
116 @cindex Schriftart
117 @cindex Dichte
118 @cindex Balance
119
120 @c introduce illustrating aspects of engraving, spacing...
121 Die Verteilung der Noten innerhalb des Taktes sollte ihrer Dauer
122 entsprechen. Moderne Partituren zeigen diese Verhältnisse jedoch 
123 mit einer mathematischen Präzision, die nur sehr schlechte 
124 Ergebnisse bringt. Im nächsten Beispiel ist ein Motiv zweimal
125 gesetzt: einmal mit den exakten mathematischen Längenverhältnissen, dann
126 mit kleinen Korrekturen. Welches von beiden ist mit dieser Korrektur
127 gesetzt?
128
129 @cindex Optischer Ausgleich
130 @c file spacing-optical.
131 @c need to include it here,  because we want two images.
132 @lilypond
133 \paper {
134   ragged-right = ##t
135   indent = #0.0
136 }
137
138 music = {
139    c'4 e''4 e'4 b'4 |
140    \stemDown
141    b'8[ e'' a' e'']
142    \stemNeutral
143    e'8[ e'8 e'8 e'8]
144 }
145
146 \score
147 {
148   \music
149   \layout {
150     \context {
151       \Staff
152       \override NoteSpacing #'stem-spacing-correction = #0.6
153     }
154   }
155 }
156 @end lilypond
157
158 @lilypond
159 \paper {
160   ragged-right = ##t
161   indent = #0.0
162 }
163
164 music = {
165    c'4 e''4 e'4 b'4 |
166    \stemDown
167    b'8[ e'' a' e'']
168    \stemNeutral
169    e'8[ e'8 e'8 e'8]
170 }
171 \score
172 {
173   \music
174   \layout {
175     \context {
176       \Staff
177       \override NoteSpacing #'stem-spacing-correction = #0.0
178       \override NoteSpacing #'same-direction-correction = #0.0
179       \override StaffSpacing #'stem-spacing-correction = #0.0
180     }
181   }
182 }
183 @end lilypond
184
185 @cindex normale Rhythmen
186 @cindex normale Abstände
187 @cindex Abstände, normal
188 @cindex Rhythmen, normal
189
190 In diesem Ausschnitt kommen nur Viertel vor, Noten, die in einem
191  gleichmäßigen Rhythmus gespielt werden. Die Abstände sollten das
192  widerspiegeln. Leider lässt uns aber das Auge im Stich: es beachtet
193  nicht nur den Abstand von aufeinander folgenden Notenköpfen, sondern
194  auch den ihrer Hälse. Also müssen Noten, deren Hälse in direkter
195  Folge zuerst nach oben und dann nach unten ausgerichtet sind, weiter
196  auseinander gezogen werden, während die unten/oben-Folge engere
197  Abstände fordert, und das alles auch noch in Abhängigkeit von der 
198 vertikalen Position der Noten. Das obere Beispiel ist mit dieser 
199 Korrektur gesetzt, das untere ohne. In letzterem Fall bilden sich 
200 für das Auge bei unten/oben-Folgen Notenklumpen mit schmalen Abständen 
201 zwischen den Notenhälsen.
202
203 @cindex Typographie
204
205 Musiker sind üblicherweise zu sehr damit beschäftigt, die Musik aufzuführen, 
206 als dass sie das Aussehen der Noten studieren könnten; und diese 
207 Beschäftigung mit typographischen Details mag akademisch wirken. 
208 Das ist sie aber nicht. Unser Beispielstück hat einen 
209 monotonen Rhythmus, und wenn alle Zeilen einförmig aussehen, wird 
210 das Notenblatt zu einem Labyrinth. Wenn der Spieler auch nur 
211 einmal wegschaut oder kurze Zeit unkonzentriert ist, findet er 
212 nicht mehr zurück zu der Stelle, an der er war.
213
214 Der dichtere Eindruck, den die dickeren Notenlinien und schwereren
215 Notationssymbole schaffen, eignet sich auch besser für Noten,
216 die weit vom Leser entfernt stehen, etwa auf einem Notenständer.
217 Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die 
218 Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen. 
219 Dadurch werden unnötige Seitenumbrüche vermieden, so dass man 
220 nicht so oft blättern muss.
221
222 Dies sind die Anforderungen der Typographie: Das Layout sollte
223 schön sein -- nicht aus Selbstzweck, sondern um dem Leser zu helfen. Für 
224 Aufführungsmaterial ist das umso wichtiger, denn Musiker haben eine begrenzte
225 Aufnahmefähigkeit. Je weniger Mühe nötig ist, die Noten zu erfassen, desto mehr
226 Zeit bleibt für die Gestaltung der eigentlichen Musik. Das heißt: Gute 
227 Typographie führt zu besseren Aufführungen!
228
229 Die Beispiele haben gezeigt, dass der Notensatz eine subtile und 
230 komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung 
231 erlangt werden können, die Musiker normalerweise nicht haben.
232 LilyPond stellt unser Bemühen dar, die graphische Qualität
233 handgestochener Notenseiten ins Computer-Zeitalter zu transportieren 
234 und sie für normale Musiker erreichbar zu machen. Wir haben 
235 unsere Algorithmen, die Gestalt der Symbole und die Programm-Einstellungen
236 darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität 
237 der alten Editionen entspricht, die wir so gerne betrachten 
238 und aus denen wir gerne spielen.
239
240
241
242 @node Automatisierter Notensatz
243 @unnumberedsubsec Automatisierter Notensatz
244 @translationof Automated engraving
245
246 @cindex Notensatz, automatisch
247 @cindex automatischer Notensatz
248
249 Wie sollen wir also jetzt die Typographie anwenden?
250 Wie können wir erwarten, dass wir in der Lage wären, 
251 ein Programm zu schreiben, dass den Beruf des 
252 Notenstechers ersetzt, wo dieser doch mehr als zehn 
253 Jahre braucht, um ein Meister zu werden?
254
255 Wir können es tatsächlich nicht! Da Typographie allein 
256 durch das menschliche Auge bestimmt ist, kann der Mensch 
257 nicht ersetzt werden. Aber sehr viel mechanische Arbeit 
258 kann automatisiert werden. Indem etwa LilyPond die üblichen 
259 Situationen kennt und bewältigt, können die restlichen 
260 Fehler von Hand beseitigt werden. Das ist schon ein 
261 großer Fortschritt im Vergleich zu den existierenden 
262 Programmen. Und mit der Zeit können immer mehr Fälle 
263 automatisiert werden, so dass immer weniger Eingriffe 
264 von Hand notwendig werden.
265
266
267 Als wir anfingen, haben wir LilyPond vollständig in der Programmiersprache C++
268 geschrieben. Das hieß, dass der Funktionsumfang des Programms vollständig durch
269 die Programmierer festgelegt war. Das stellte sich aus einer Reihe von Gründen
270 als unzureichend heraus:
271
272 @itemize @bullet
273 @item Wenn LilyPond Fehler macht, muss der Benutzer die
274 Einstellungen ändern können. Er muss also Zugang zur 
275 Formatierungsmaschinerie haben. Deshalb können die Regeln und 
276 Einstellungen nicht beim Kompilieren des Programms festgelegt 
277 werden, sondern sie müssen zugänglich sein, während das Programm
278 aktiv ist.
279
280
281 @item Notensatz ist eine Frage des Augenmaßes, und damit auch vom
282  Geschmack abhängig. Benutzer können mit unseren Entscheidungen 
283 unzufrieden sein. Darum müssen also auch die Definitionen des 
284 typographischen Stils dem Benutzer zugänglich sein.
285
286 @item Schließlich verfeinern wir unseren Formatierungsalgorithmus 
287 immer weiter, also müssen die Regeln auch flexibel sein. Die
288 Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode, 
289 die nicht den Regeln für den Notensatz entspricht.
290 @end itemize
291
292 @cindex Scheme-Programmiersprache
293
294 Diese Probleme wurden angegangen, indem ein Übersetzer für 
295 die Programmiersprache Scheme integriert wurde und Teile
296 von LilyPond in Scheme neu geschrieben wurden. Die derzeitige 
297 Formatierungsarchitektur ist um die Notation von graphischen 
298 Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
299 beschrieben werden. Diese Architektur umfasst Formatierungsregeln,
300 typographische Stile und individuelle Formatierungsentscheidungen. 
301 Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.
302
303 Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben 
304 viele graphische Objekte eine Richtungsvariable, die zwischen 
305 oben und unten (oder rechts und links) wählen kann. Hier etwa 
306 sind zwei Akkorde mit Akzenten und Arpeggien. 
307 Beim ersten Akkord sind alle Objekte nach unten (oder links)
308  ausgerichtet, beim zweiten nach oben (rechts).
309
310 @lilypond[quote,ragged-right]
311 \new Score \with {
312    \override SpacingSpanner #'spacing-increment = #3
313    \override TimeSignature #'transparent = ##t
314 } \relative c' {
315    \stemDown <e g b>4_>-\arpeggio
316    \override Arpeggio #'direction = #RIGHT
317    \stemUp <e g b>4^>-\arpeggio
318 }
319 @end lilypond
320
321 @cindex Formatierung einer Partitur
322 @cindex Partitur, Formatierung
323 @cindex Formatierungsregeln
324
325 @noindent
326 Der Prozess des Notensetzens besteht für das Programm darin,
327 die Variablen der graphischen Objekte zu lesen und zu
328 schreiben. Einige Variablen haben festgelegte Werte. So 
329 ist etwa die Dicke von vielen Linien – ein Charakteristikum 
330 des typographischen Stils – von vornherein festgelegt. 
331 Wenn sie geändert werden, ergibt sich ein anderer typographischer Eindruck.
332
333 @lilypond[quote,ragged-right]
334 fragment = {
335    \clef bass f8 as8
336    c'4-~ c'16 as g f e16 g bes c' des'4
337 }
338 <<
339    \new Staff \fragment
340    \new Staff \with {
341       \override Beam #'beam-thickness = #0.3
342       \override Stem #'thickness = #0.5
343       \override Bar #'thickness = #3.6
344       \override Tie #'thickness = #2.2
345       \override StaffSymbol #'thickness = #3.0
346       \override Tie #'extra-offset = #'(0 .  0.3)
347       }
348       \fragment
349 >>
350 @end lilypond
351
352 Formatierungsregeln sind auch vorbelegte Variablen. Zu jedem Objekt gehören
353 Variablen, die Prozeduren enthalten. Diese Prozeduren machen die eigentliche 
354 Satzarbeit aus, und wenn man sie durch andere ersetzt, kann die Darstellung 
355 von Objekten verändert werden. Im nächsten Beispiel wird die Regel, nach der 
356 die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.
357
358 @lilypond[quote,ragged-right]
359 #(set-global-staff-size 30)
360
361 #(define (mc-squared grob orig current)
362   (let* ((interfaces (ly:grob-interfaces grob))
363          (pos (ly:grob-property grob 'staff-position)))
364     (if (memq 'note-head-interface interfaces)
365         (begin
366           (ly:grob-set-property! grob 'stencil
367             (grob-interpret-markup grob
368               (make-lower-markup 0.5
369                 (case pos
370                   ((-5) "m")
371                   ((-3) "c ")
372                   ((-2) (make-smaller-markup (make-bold-markup "2")))
373                   (else "bla")))))))))
374
375 \new Voice \relative c' {
376   \stemUp
377   \set autoBeaming = ##f
378   \time 2/4
379   <d f g>4
380   \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
381   \once \override NoteHead #'font-size = #-7
382   \once \override NoteHead #'font-family = #'sans
383   \once \override NoteHead #'font-series = #'bold
384   <d f g>4
385   \once \override NoteHead #'style = #'cross
386   <d f g>4
387   \applyOutput #'Voice #mc-squared
388   <d f g>4
389   <<
390     { d8[ es-( fis^^ g] fis2-) }
391     \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
392   >>
393 }
394 @end lilypond
395
396
397
398 @node Welche Symbole?
399 @unnumberedsubsec Welche Symbole?
400 @translationof What symbols to engrave?
401
402 @cindex Notensatz
403 @cindex Typographie
404 @cindex Stempel
405 @cindex Matrize
406 @cindex Engraver
407 @cindex Plugin
408
409 Während des Notensatzprozesses entscheidet sich, wo
410 Symbole platziert werden. Das kann aber nur gelingen, 
411 wenn vorher entschieden wird, @emph{welche} Symbole
412 gesetzt werden sollen, also welche Art von Notation benutzt
413 werden soll.
414
415 Die heutige Notation ist ein System zur Musikaufzeichnung,
416 das sich über die letzten 1000 Jahre entwickelt hat. Die 
417 Form, die heute üblicherweise benutzt wird, stammt aus dem 
418 Barock. Auch wenn sich die grundlegenden Formen (also
419 die Notenköpfe, das Fünfliniensystem) nicht verändert haben, 
420 entwickeln sich die Details trotzdem immer noch weiter, um 
421 die Errungenschaften der Neuen Musik darstellen zu können. Die 
422 Notation umfasst also 500 Jahre Musikgeschichte. Ihre Anwendung 
423 reicht von monophonen Melodien bis zu ungeheuer komplexem Kontrapunkt 
424 für großes Orchester.
425
426 Wie bekommen wir dieses vielköpfige Monster zu fassen? 
427 Unsere Lösung ist es, eine strikte Trennung zwischen der Notation, 
428 also welche Symbole benutzt werden, und dem Satz, also wohin sie 
429 gesetzt werden, zu machen. Um das Problem anzupacken, haben wir 
430 es in kleine (programmierbare) Happen zerteilt, so dass jede Art 
431 von Symbol durch ein eigenes Plugin verarbeitet wird. Alle Plugins
432  kooperieren durch die LilyPond-Architektur. Sie sind vollständig 
433 modular und unabhängig und können somit auch unabhängig voneinander
434  entwickelt werden. Der Schreiber, der die Musik in Graphik umwandelt,
435  ist ein Kopist oder Notenstecher (engl. engraver). Darum werden 
436 die Plugins  als @code{engraver} bezeichnet.
437
438 Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe, 
439 dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
440
441 @lilypond[quote,ragged-right]
442 \include "engraver-example.ily"
443
444 \score {
445   \topVoice
446   \layout {
447     \context {
448       \Voice
449       \remove "Stem_engraver"
450       \remove "Phrasing_slur_engraver"
451       \remove "Slur_engraver"
452       \remove "Script_engraver"
453       \remove "Beam_engraver"
454       \remove "Auto_beam_engraver"
455     }
456     \context {
457       \Staff
458       \remove "Accidental_engraver"
459       \remove "Key_engraver"
460       \remove "Clef_engraver"
461       \remove "Bar_engraver"
462       \remove "Time_signature_engraver"
463       \remove "Staff_symbol_engraver"
464       \consists "Pitch_squash_engraver"
465     }
466   }
467 }
468 @end lilypond
469
470 @noindent
471 Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher}) 
472 die Notenlinien hinzu.
473
474 @lilypond[quote,ragged-right]
475 \include "engraver-example.ily"
476
477 \score {
478   \topVoice
479   \layout {
480     \context {
481       \Voice
482       \remove "Stem_engraver"
483       \remove "Phrasing_slur_engraver"
484       \remove "Slur_engraver"
485       \remove "Script_engraver"
486       \remove "Beam_engraver"
487       \remove "Auto_beam_engraver"
488     }
489     \context {
490       \Staff
491       \remove "Accidental_engraver"
492       \remove "Key_engraver"
493       \remove "Clef_engraver"
494       \remove "Bar_engraver"
495       \consists "Pitch_squash_engraver"
496       \remove "Time_signature_engraver"
497     }
498   }
499 }
500 @end lilypond
501
502 @noindent
503 Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert 
504 eine Referenzstelle für das System.
505
506 @lilypond[quote,ragged-right]
507 \include "engraver-example.ily"
508
509 \score {
510   \topVoice
511   \layout {
512     \context {
513       \Voice
514       \remove "Stem_engraver"
515       \remove "Phrasing_slur_engraver"
516       \remove "Slur_engraver"
517       \remove "Script_engraver"
518       \remove "Beam_engraver"
519       \remove "Auto_beam_engraver"
520     }
521     \context {
522       \Staff
523       \remove "Accidental_engraver"
524       \remove "Key_engraver"
525       \remove "Bar_engraver"
526       \remove "Time_signature_engraver"
527     }
528   }
529 }
530 @end lilypond
531
532 @noindent
533 Der @code{Stem_engraver} (@qq{Halsstecher}) schließlich fügt
534  Hälse hinzu.
535
536 @lilypond[quote,ragged-right]
537 \include "engraver-example.ily"
538
539 \score {
540   \topVoice
541   \layout {
542     \context {
543       \Voice
544       \remove "Phrasing_slur_engraver"
545       \remove "Slur_engraver"
546       \remove "Script_engraver"
547       \remove "Beam_engraver"
548       \remove "Auto_beam_engraver"
549     }
550     \context {
551       \Staff
552       \remove "Accidental_engraver"
553       \remove "Key_engraver"
554       \remove "Bar_engraver"
555       \remove "Time_signature_engraver"
556     }
557   }
558 }
559 @end lilypond
560
561 @noindent
562 Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt, 
563 der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei 
564 einem Akkord), wird ein Hals-Objekt erstellt und an den 
565 Kopf geheftet. Wenn wir dann noch engraver für Balken, Bögen, 
566 Akzente, Vorzeichen, Taktlinien, Taktangaben und Tonartbezeichnungen 
567 hinzufügen, erhalten wir eine vollständige Notation.
568
569
570 @lilypond[quote,ragged-right]
571 \include "engraver-example.ily"
572 \score { \topVoice }
573 @end lilypond
574
575 @cindex Polyphonie
576 @cindex Mehrstimmigkeit
577 @cindex Notensatz, Mehrstimmigkeit
578 @cindex Kontexte
579
580 Dieses System funktioniert gut für monophone Musik, aber wie geht 
581 es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
582
583 @lilypond[quote,ragged-right]
584 \include "engraver-example.ily"
585 \new Staff << \topVoice \\ \botVoice >>
586 @end lilypond
587
588 In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam,
589 aber die 
590 Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme eigen. Die engraver 
591 müssen also gruppiert werden. Die Köpfe, Hälse, Bögen usw. werden 
592 in einer Gruppe mit dem Namen @qq{Voice context} (Stimmenkontext) 
593 zusammengefasst, die engraver für den Schlüssel, die Vorzeichen, 
594 Taktstriche usw. dagegen in einer Gruppe mit dem Namen @qq{Staff context} 
595 (Systemkontext). Im Falle von Polyphonie hat ein Staff-Kontext dann also 
596 mehr als nur einen Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
597 in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
598
599
600 @seealso
601 Programmreferenz: @rinternals{Contexts}.
602
603
604 @lilypond[quote,ragged-right]
605 \include "engraver-example.ily"
606 \score {
607    <<
608       \new Staff << \topVoice \\ \botVoice >>
609       \new Staff << \pah \\ \hoom >>
610    >>
611 }
612 @end lilypond
613
614 @node Die Darstellung der Musik
615 @unnumberedsubsec Die Darstellung der Musik
616 @translationof Music representation
617
618 @cindex Syntax
619 @cindex rekursive Strukturen
620
621 Idealerweise ist das Eingabeformat für ein komplexes Satzsystem die 
622 abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die 
623 Musik selber. Das stellt uns aber vor ein ziemlich großes Problem, 
624 denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf 
625 eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
626 schreiben ein Programm, das den Notensatz beherrscht und machen das 
627 Format so einfach wie möglich. Wenn es nicht mehr vereinfacht 
628 werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser 
629 Format dient als die formale Definition eines Musiktextes.
630
631 Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond, 
632 darum soll sie einfach zu schreiben sein; z. B. bedeutet
633
634 @example
635 c'4 d'8
636 @end example
637
638 @noindent
639 eine Viertel c' und eine Achtel d', wie in diesem Beispiel:
640
641 @lilypond[quote]
642 {
643   c'4 d'8
644 }
645 @end lilypond
646
647 In kleinem Rahmen ist diese Syntax sehr einfach zu benutzen. In 
648 größeren Zusammenhängen aber brauchen wir Struktur. Wie sonst kann 
649 man große Opern oder Symphonien notieren? Diese Struktur wird 
650 gewährleistet durch sog. music expressions (Musikausdrücke): indem 
651 kleine Teile zu größeren kombiniert werden, kann komplexere Musik 
652 dargestellt werden. So etwa hier:
653
654 @lilypond[quote,verbatim,fragment,relative=1]
655 f4
656 @end lilypond
657
658 @noindent
659 Gleichzeitig erklingende Noten werden hinzugefügt, indem man alle in @code{<<} und @code{>>} einschließt.
660
661 @c < > is not a music expression,
662 @c so we use <<>> iso. <> to drive home the point of
663 @c expressions.  Don't change this back --hwn.
664 @example
665 <<c4 d4 e4>>
666 @end example
667
668 @lilypond[quote,fragment,relative=1]
669 \new Voice { <<c4 d4 e>> }
670 @end lilypond
671
672 @noindent
673 Um aufeinanderfolgende Noten darzustellen, werden sie in geschweifte Klammern gefasst:
674
675 @code{@{@tie{}@dots{}@tie{}@}}
676
677 @example
678 @{ f4 <<c4 d4 e4>> @}
679 @end example
680
681 @lilypond[quote,relative=1,fragment]
682 { f4 <<c d e4>> }
683 @end lilypond
684
685 @noindent
686 Dieses Gebilde ist in sich wieder ein Ausdruck, und kann 
687 daher mit einem anderen Ausdruck kombiniert werden (hier mit einer Halben).
688
689 @example
690 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
691 @end example
692
693 @lilypond[quote,fragment,relative=2]
694 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
695 @end lilypond
696
697 Solche geschachtelten Strukturen können sehr gut in einer 
698 kontextunabhängigen Grammatik beschrieben werden. Der Programmcode 
699 für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax 
700 von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
701
702 Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer 
703 wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
704 diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung 
705 haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond 
706 spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische 
707 Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel 
708 schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen: 
709 Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
710
711 @node Beispielanwendung
712 @unnumberedsubsec Beispielanwendung
713 @translationof Example applications
714
715 @cindex einfaches Beispiel
716 @cindex Beispiel, einfach
717
718 Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des 
719 Musiksatzes in ein Computerprogramm gießen kann. Dieses 
720 Programm kann nun dank vieler harter Arbeitsstunden benutzt werden, 
721 um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der 
722 Notendruck.
723
724 @lilypond[quote,relative=1]
725 {
726   \time 2/4
727   c4 c g'4 g a4 a g2
728 }
729 @end lilypond
730
731 @noindent
732 Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir 
733 ein Lead Sheet.
734
735 @lilypond[quote,ragged-right]
736 <<
737    \chords { c2 c f2 c }
738    \new Staff
739    \relative c' {
740      \time 2/4
741      c4 c g' g a a g2
742    }
743    \addlyrics { twin -- kle twin -- kle lit -- tle star }
744 >>
745 @end lilypond
746
747 Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das 
748 nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
749
750 @lilypond[quote]
751 \header {
752   title = "Screech and boink"
753   subtitle = "Random complex notation"
754   composer = "Han-Wen Nienhuys"
755 }
756
757 \score {
758   \context PianoStaff <<
759     \new Staff = "up" {
760       \time 4/8
761       \key c \minor
762       << {
763         \revert Stem #'direction
764         \change Staff = down
765         \set subdivideBeams = ##t
766         g16.[
767           \change Staff = up
768           c'''32
769           \change Staff = down
770           g32
771           \change Staff = up
772           c'''32
773           \change Staff = down
774           g16]
775         \change Staff = up
776         \stemUp
777         \set followVoice = ##t
778         c'''32([ b''16 a''16 gis''16 g''32)]
779       } \\ {
780         s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
781       } \\ {
782         s4 \autoBeamOff d''8.. f''32
783       } \\ {
784         s4 es''4
785       } >>
786     }
787
788     \new Staff = "down" {
789       \clef bass
790       \key c \minor
791       \set subdivideBeams = ##f
792       \override Stem  #'french-beaming = ##t
793       \override Beam  #'beam-thickness = #0.3
794       \override Stem  #'thickness = #4.0
795       g'16[ b16 fis16 g16]
796       << \makeClusters {
797         as16 <as b>
798         <g b>
799         <g cis>
800       } \\ {
801         \override Staff.Arpeggio  #'arpeggio-direction =#down
802         <cis, e, gis, b, cis>4\arpeggio
803       }
804     >> }
805   >>
806   \midi {
807     \context {
808       \Score
809       tempoWholesPerMinute = #(ly:make-moment 60 8)
810     }
811   }
812   \layout {
813     \context {
814       \Staff
815       \consists Horizontal_bracket_engraver
816     }
817   }
818 }
819 @end lilypond
820
821 Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht 
822 die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft, 
823 kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
824 verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch 
825 in Notenbilder umgewandelt werden, die dann auf Internetseiten oder 
826 in Multimediapräsentation Anwendung finden.
827
828 Dieses Benutzerhandbuch zeigt eine weitere Möglichkeit: Die Noten werden als 
829 reiner Text eingegeben und können darum sehr einfach integriert werden
830 in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem 
831 Fall, Texinfo. Durch ein spezielles Programm werden die Eingabefragmente durch 
832 Notenbilder in der resultierenden PDF- oder HTML-Datei ersetzt. Dadurch ist
833 es sehr einfach, Noten und Text zu kombinieren.
834