]> git.donarmstrong.com Git - lilypond.git/commitdiff
Doc-de: move engraving essay
authorTill Paala <till.rettig@gmx.de>
Tue, 8 Sep 2009 08:27:23 +0000 (11:27 +0300)
committerTill Paala <till.rettig@gmx.de>
Tue, 8 Sep 2009 08:27:23 +0000 (11:27 +0300)
Documentation/de/essay.tely
Documentation/de/essay/engraving.itely [new file with mode: 0644]
Documentation/de/learning/fundamental.itely

index bd3110c43627ae662a4595a23aa1bd99bdde83a0..1c173ce2085a596a649027bf8e1aa0f05bd45f99 100644 (file)
@@ -155,7 +155,7 @@ Free Documentation License''.
 
 @contents
 
-@c @include essay/engraving.itely
+@include essay/engraving.itely
 @include essay/literature.itely
 
 @include fdl.itexi
diff --git a/Documentation/de/essay/engraving.itely b/Documentation/de/essay/engraving.itely
new file mode 100644 (file)
index 0000000..507b94e
--- /dev/null
@@ -0,0 +1,834 @@
+@c -*- coding: utf-8; mode: texinfo; -*-
+
+@ignore
+    Translation of GIT committish: 4582b7b24d22b2041bfcba49e716a714effcce92
+
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
+
+@c \version "2.13.4"
+
+@node Notensatz
+@chapter Notensatz
+@translationof Music engraving
+
+Dieser Abschnitt erklärt die Ziele und die Architektur von LilyPond.
+
+@menu
+* Notensatz::
+* Automatisierter Notensatz::
+* Welche Symbole?::
+* Die Darstellung der Musik::
+* Beispielanwendung::
+@end menu
+
+
+@node Notensatz
+@unnumberedsubsec Notensatz
+@translationof Engraving
+
+@cindex Notensatz
+@cindex Typographie
+@cindex Notengravur
+@cindex Gravur, Notensatz
+@cindex Plattendruck, Noten
+
+Die Kunst des Notensatzes wird auch als Notenstich bezeichnet. Dieser 
+Begriff stammt aus dem traditionellen Notendruck. Noch bis vor etwa 20 
+Jahren wurden Noten erstellt, indem man sie in eine Zink- oder Zinnplatte 
+schnitt oder mit Stempeln schlug. Diese Platte wurde dann mit Druckerschwärze
+ versehen, so dass sie in den geschnittenen und gestempelten Vertiefungen 
+blieb. Diese Vertiefungen schwärzten dann ein auf die Platte gelegtes 
+Papier. Das Gravieren wurde vollständig von Hand erledigt. Es war darum 
+sehr mühsam, Korrekturen anzubringen, weshalb man von vornherein richtig
+ schneiden musste. Es handelte sich dabei um ein sehr spezialisiertes Handwerk.
+
+Heutzutage wird fast alle gedruckte Musik von Computern erstellt. Das 
+hat einige deutliche Vorteile: Drucke sind billiger als die gravierten
+Platten und der Computersatz kann per E-Mail verschickt werden. Leider
+hat der intensive Einsatz des Computers die graphische Qualität
+des Notensatzes vermindert. Mit dem Computer erstellte Noten sehen 
+langweilig und mechanisch aus, was es erschwert, von ihnen zu spielen.
+
+
+@c introduce illustrating aspects of engraving, font...
+Die Abbildung unten illustriert den Unterschied zwischen  
+traditionellem Notensatz und einem typischen Computersatz. Das 
+dritte Bild zeigt, wie LilyPond die Formen des traditionellen
+Satzes nachahmt. Das linke Bild zeigt ein eingescanntes b-Vorzeichen 
+aus einer 2000 herausgegebenen Edition. Das mittlere Bild
+zeigt das b-Vorzeichen derselben Musik aus einer handgestochenen 
+Bärenreiter-Ausgabe. Das linke Bild zeigt die typischen Makel
+des Computer-Satzes: Die Notenlinien sind sehr dünn, die Schwärze 
+des Vorzeichens entspricht den dünnen Linien und hat eine gerade 
+Form mit scharfen Ecken und Kanten. Im Gegensatz dazu hat das
+Bärenreiter-Vorzeichen dicke, geradezu sinnlich rundliche
+Formen. Unser Symbol für das Vorzeichen hat neben anderen 
+auch dieses b als Vorbild. Es ist abgerundet und passt zu unseren
+Notenlinien, die sehr viel dicker sind als die der entsprechenden
+Computer-Ausgabe.
+
+@multitable @columnfractions .125 .25 .25 .25 .125
+@item @tab
+@ifnotinfo
+@iftex
+@image{pictures/henle-flat-gray,,4cm}
+@end iftex
+@ifnottex
+@image{pictures/henle-flat-gray,,,png}
+@end ifnottex
+
+@tab
+@iftex
+@image{pictures/baer-flat-gray,,4cm}
+@end iftex
+@ifnottex
+@image{pictures/baer-flat-gray,,,png}
+@end ifnottex
+
+@tab
+@iftex
+@image{pictures/lily-flat-bw,,4cm}
+@end iftex
+@ifnottex
+@image{pictures/lily-flat-bw,,,png}
+@end ifnottex
+@end ifnotinfo
+@ifinfo
+@image{pictures/henle-flat-bw,,,png}
+@image{pictures/baer-flat-bw,,,,png}
+@image{pictures/lily-flat-bw,,,png}
+@end ifinfo
+
+@item @tab
+Henle (2000)
+@tab
+Bärenreiter (1950)
+@tab
+LilyPond Feta-Schriftart (2003)
+
+@end multitable
+
+
+@cindex Musiksymbole
+@cindex Schriftart
+@cindex Dichte
+@cindex Balance
+
+@c introduce illustrating aspects of engraving, spacing...
+Die Verteilung der Noten innerhalb des Taktes sollte ihrer Dauer
+entsprechen. Moderne Partituren zeigen diese Verhältnisse jedoch 
+mit einer mathematischen Präzision, die nur sehr schlechte 
+Ergebnisse bringt. Im nächsten Beispiel ist ein Motiv zweimal
+gesetzt: einmal mit den exakten mathematischen Längenverhältnissen, dann
+mit kleinen Korrekturen. Welches von beiden ist mit dieser Korrektur
+gesetzt?
+
+@cindex Optischer Ausgleich
+@c file spacing-optical.
+@c need to include it here,  because we want two images.
+@lilypond
+\paper {
+  ragged-right = ##t
+  indent = #0.0
+}
+
+music = {
+   c'4 e''4 e'4 b'4 |
+   \stemDown
+   b'8[ e'' a' e'']
+   \stemNeutral
+   e'8[ e'8 e'8 e'8]
+}
+
+\score
+{
+  \music
+  \layout {
+    \context {
+      \Staff
+      \override NoteSpacing #'stem-spacing-correction = #0.6
+    }
+  }
+}
+@end lilypond
+
+@lilypond
+\paper {
+  ragged-right = ##t
+  indent = #0.0
+}
+
+music = {
+   c'4 e''4 e'4 b'4 |
+   \stemDown
+   b'8[ e'' a' e'']
+   \stemNeutral
+   e'8[ e'8 e'8 e'8]
+}
+\score
+{
+  \music
+  \layout {
+    \context {
+      \Staff
+      \override NoteSpacing #'stem-spacing-correction = #0.0
+      \override NoteSpacing #'same-direction-correction = #0.0
+      \override StaffSpacing #'stem-spacing-correction = #0.0
+    }
+  }
+}
+@end lilypond
+
+@cindex normale Rhythmen
+@cindex normale Abstände
+@cindex Abstände, normal
+@cindex Rhythmen, normal
+
+In diesem Ausschnitt kommen nur Viertel vor, Noten, die in einem
+ gleichmäßigen Rhythmus gespielt werden. Die Abstände sollten das
+ widerspiegeln. Leider lässt uns aber das Auge im Stich: es beachtet
+ nicht nur den Abstand von aufeinander folgenden Notenköpfen, sondern
+ auch den ihrer Hälse. Also müssen Noten, deren Hälse in direkter
+ Folge zuerst nach oben und dann nach unten ausgerichtet sind, weiter
+ auseinander gezogen werden, während die unten/oben-Folge engere
+ Abstände fordert, und das alles auch noch in Abhängigkeit von der 
+vertikalen Position der Noten. Das obere Beispiel ist mit dieser 
+Korrektur gesetzt, das untere ohne. In letzterem Fall bilden sich 
+für das Auge bei unten/oben-Folgen Notenklumpen mit schmalen Abständen 
+zwischen den Notenhälsen.
+
+@cindex Typographie
+
+Musiker sind üblicherweise zu sehr damit beschäftigt, die Musik aufzuführen, 
+als dass sie das Aussehen der Noten studieren könnten; und diese 
+Beschäftigung mit typographischen Details mag akademisch wirken. 
+Das ist sie aber nicht. Unser Beispielstück hat einen 
+monotonen Rhythmus, und wenn alle Zeilen einförmig aussehen, wird 
+das Notenblatt zu einem Labyrinth. Wenn der Spieler auch nur 
+einmal wegschaut oder kurze Zeit unkonzentriert ist, findet er 
+nicht mehr zurück zu der Stelle, an der er war.
+
+Der dichtere Eindruck, den die dickeren Notenlinien und schwereren
+Notationssymbole schaffen, eignet sich auch besser für Noten,
+die weit vom Leser entfernt stehen, etwa auf einem Notenständer.
+Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die 
+Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen. 
+Dadurch werden unnötige Seitenumbrüche vermieden, so dass man 
+nicht so oft blättern muss.
+
+Dies sind die Anforderungen der Typographie: Das Layout sollte
+schön sein -- nicht aus Selbstzweck, sondern um dem Leser zu helfen. Für 
+Aufführungsmaterial ist das umso wichtiger, denn Musiker haben eine begrenzte
+Aufnahmefähigkeit. Je weniger Mühe nötig ist, die Noten zu erfassen, desto mehr
+Zeit bleibt für die Gestaltung der eigentlichen Musik. Das heißt: Gute 
+Typographie führt zu besseren Aufführungen!
+
+Die Beispiele haben gezeigt, dass der Notensatz eine subtile und 
+komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung 
+erlangt werden können, die Musiker normalerweise nicht haben.
+LilyPond stellt unser Bemühen dar, die graphische Qualität
+handgestochener Notenseiten ins Computer-Zeitalter zu transportieren 
+und sie für normale Musiker erreichbar zu machen. Wir haben 
+unsere Algorithmen, die Gestalt der Symbole und die Programm-Einstellungen
+darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität 
+der alten Editionen entspricht, die wir so gerne betrachten 
+und aus denen wir gerne spielen.
+
+
+
+@node Automatisierter Notensatz
+@unnumberedsubsec Automatisierter Notensatz
+@translationof Automated engraving
+
+@cindex Notensatz, automatisch
+@cindex automatischer Notensatz
+
+Wie sollen wir also jetzt die Typographie anwenden?
+Wie können wir erwarten, dass wir in der Lage wären, 
+ein Programm zu schreiben, dass den Beruf des 
+Notenstechers ersetzt, wo dieser doch mehr als zehn 
+Jahre braucht, um ein Meister zu werden?
+
+Wir können es tatsächlich nicht! Da Typographie allein 
+durch das menschliche Auge bestimmt ist, kann der Mensch 
+nicht ersetzt werden. Aber sehr viel mechanische Arbeit 
+kann automatisiert werden. Indem etwa LilyPond die üblichen 
+Situationen kennt und bewältigt, können die restlichen 
+Fehler von Hand beseitigt werden. Das ist schon ein 
+großer Fortschritt im Vergleich zu den existierenden 
+Programmen. Und mit der Zeit können immer mehr Fälle 
+automatisiert werden, so dass immer weniger Eingriffe 
+von Hand notwendig werden.
+
+
+Als wir anfingen, haben wir LilyPond vollständig in der Programmiersprache C++
+geschrieben. Das hieß, dass der Funktionsumfang des Programms vollständig durch
+die Programmierer festgelegt war. Das stellte sich aus einer Reihe von Gründen
+als unzureichend heraus:
+
+@itemize @bullet
+@item Wenn LilyPond Fehler macht, muss der Benutzer die
+Einstellungen ändern können. Er muss also Zugang zur 
+Formatierungsmaschinerie haben. Deshalb können die Regeln und 
+Einstellungen nicht beim Kompilieren des Programms festgelegt 
+werden, sondern sie müssen zugänglich sein, während das Programm
+aktiv ist.
+
+
+@item Notensatz ist eine Frage des Augenmaßes, und damit auch vom
+ Geschmack abhängig. Benutzer können mit unseren Entscheidungen 
+unzufrieden sein. Darum müssen also auch die Definitionen des 
+typographischen Stils dem Benutzer zugänglich sein.
+
+@item Schließlich verfeinern wir unseren Formatierungsalgorithmus 
+immer weiter, also müssen die Regeln auch flexibel sein. Die
+Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode, 
+die nicht den Regeln für den Notensatz entspricht.
+@end itemize
+
+@cindex Scheme-Programmiersprache
+
+Diese Probleme wurden angegangen, indem ein Übersetzer für 
+die Programmiersprache Scheme integriert wurde und Teile
+von LilyPond in Scheme neu geschrieben wurden. Die derzeitige 
+Formatierungsarchitektur ist um die Notation von graphischen 
+Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
+beschrieben werden. Diese Architektur umfasst Formatierungsregeln,
+typographische Stile und individuelle Formatierungsentscheidungen. 
+Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.
+
+Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben 
+viele graphische Objekte eine Richtungsvariable, die zwischen 
+oben und unten (oder rechts und links) wählen kann. Hier etwa 
+sind zwei Akkorde mit Akzenten und Arpeggien. 
+Beim ersten Akkord sind alle Objekte nach unten (oder links)
+ ausgerichtet, beim zweiten nach oben (rechts).
+
+@lilypond[quote,ragged-right]
+\new Score \with {
+   \override SpacingSpanner #'spacing-increment = #3
+   \override TimeSignature #'transparent = ##t
+} \relative c' {
+   \stemDown <e g b>4_>-\arpeggio
+   \override Arpeggio #'direction = #RIGHT
+   \stemUp <e g b>4^>-\arpeggio
+}
+@end lilypond
+
+@cindex Formatierung einer Partitur
+@cindex Partitur, Formatierung
+@cindex Formatierungsregeln
+
+@noindent
+Der Prozess des Notensetzens besteht für das Programm darin,
+die Variablen der graphischen Objekte zu lesen und zu
+schreiben. Einige Variablen haben festgelegte Werte. So 
+ist etwa die Dicke von vielen Linien – ein Charakteristikum 
+des typographischen Stils – von vornherein festgelegt. 
+Wenn sie geändert werden, ergibt sich ein anderer typographischer Eindruck.
+
+@lilypond[quote,ragged-right]
+fragment = {
+   \clef bass f8 as8
+   c'4-~ c'16 as g f e16 g bes c' des'4
+}
+<<
+   \new Staff \fragment
+   \new Staff \with {
+      \override Beam #'beam-thickness = #0.3
+      \override Stem #'thickness = #0.5
+      \override Bar #'thickness = #3.6
+      \override Tie #'thickness = #2.2
+      \override StaffSymbol #'thickness = #3.0
+      \override Tie #'extra-offset = #'(0 .  0.3)
+      }
+      \fragment
+>>
+@end lilypond
+
+Formatierungsregeln sind auch vorbelegte Variablen. Zu jedem Objekt gehören
+Variablen, die Prozeduren enthalten. Diese Prozeduren machen die eigentliche 
+Satzarbeit aus, und wenn man sie durch andere ersetzt, kann die Darstellung 
+von Objekten verändert werden. Im nächsten Beispiel wird die Regel, nach der 
+die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.
+
+@lilypond[quote,ragged-right]
+#(set-global-staff-size 30)
+
+#(define (mc-squared grob orig current)
+  (let* ((interfaces (ly:grob-interfaces grob))
+         (pos (ly:grob-property grob 'staff-position)))
+    (if (memq 'note-head-interface interfaces)
+        (begin
+          (ly:grob-set-property! grob 'stencil
+            (grob-interpret-markup grob
+              (make-lower-markup 0.5
+                (case pos
+                  ((-5) "m")
+                  ((-3) "c ")
+                  ((-2) (make-smaller-markup (make-bold-markup "2")))
+                  (else "bla")))))))))
+
+\new Voice \relative c' {
+  \stemUp
+  \set autoBeaming = ##f
+  \time 2/4
+  <d f g>4
+  \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
+  \once \override NoteHead #'font-size = #-7
+  \once \override NoteHead #'font-family = #'sans
+  \once \override NoteHead #'font-series = #'bold
+  <d f g>4
+  \once \override NoteHead #'style = #'cross
+  <d f g>4
+  \applyOutput #'Voice #mc-squared
+  <d f g>4
+  <<
+    { d8[ es-( fis^^ g] fis2-) }
+    \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+  >>
+}
+@end lilypond
+
+
+
+@node Welche Symbole?
+@unnumberedsubsec Welche Symbole?
+@translationof What symbols to engrave?
+
+@cindex Notensatz
+@cindex Typographie
+@cindex Stempel
+@cindex Matrize
+@cindex Engraver
+@cindex Plugin
+
+Während des Notensatzprozesses entscheidet sich, wo
+Symbole platziert werden. Das kann aber nur gelingen, 
+wenn vorher entschieden wird, @emph{welche} Symbole
+gesetzt werden sollen, also welche Art von Notation benutzt
+werden soll.
+
+Die heutige Notation ist ein System zur Musikaufzeichnung,
+das sich über die letzten 1000 Jahre entwickelt hat. Die 
+Form, die heute üblicherweise benutzt wird, stammt aus dem 
+Barock. Auch wenn sich die grundlegenden Formen (also
+die Notenköpfe, das Fünfliniensystem) nicht verändert haben, 
+entwickeln sich die Details trotzdem immer noch weiter, um 
+die Errungenschaften der Neuen Musik darstellen zu können. Die 
+Notation umfasst also 500 Jahre Musikgeschichte. Ihre Anwendung 
+reicht von monophonen Melodien bis zu ungeheuer komplexem Kontrapunkt 
+für großes Orchester.
+
+Wie bekommen wir dieses vielköpfige Monster zu fassen? 
+Unsere Lösung ist es, eine strikte Trennung zwischen der Notation, 
+also welche Symbole benutzt werden, und dem Satz, also wohin sie 
+gesetzt werden, zu machen. Um das Problem anzupacken, haben wir 
+es in kleine (programmierbare) Happen zerteilt, so dass jede Art 
+von Symbol durch ein eigenes Plugin verarbeitet wird. Alle Plugins
+ kooperieren durch die LilyPond-Architektur. Sie sind vollständig 
+modular und unabhängig und können somit auch unabhängig voneinander
+ entwickelt werden. Der Schreiber, der die Musik in Graphik umwandelt,
+ ist ein Kopist oder Notenstecher (engl. engraver). Darum werden 
+die Plugins  als @code{engraver} bezeichnet.
+
+Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe, 
+dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+
+\score {
+  \topVoice
+  \layout {
+    \context {
+      \Voice
+      \remove "Stem_engraver"
+      \remove "Phrasing_slur_engraver"
+      \remove "Slur_engraver"
+      \remove "Script_engraver"
+      \remove "Beam_engraver"
+      \remove "Auto_beam_engraver"
+    }
+    \context {
+      \Staff
+      \remove "Accidental_engraver"
+      \remove "Key_engraver"
+      \remove "Clef_engraver"
+      \remove "Bar_engraver"
+      \remove "Time_signature_engraver"
+      \remove "Staff_symbol_engraver"
+      \consists "Pitch_squash_engraver"
+    }
+  }
+}
+@end lilypond
+
+@noindent
+Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher}) 
+die Notenlinien hinzu.
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+
+\score {
+  \topVoice
+  \layout {
+    \context {
+      \Voice
+      \remove "Stem_engraver"
+      \remove "Phrasing_slur_engraver"
+      \remove "Slur_engraver"
+      \remove "Script_engraver"
+      \remove "Beam_engraver"
+      \remove "Auto_beam_engraver"
+    }
+    \context {
+      \Staff
+      \remove "Accidental_engraver"
+      \remove "Key_engraver"
+      \remove "Clef_engraver"
+      \remove "Bar_engraver"
+      \consists "Pitch_squash_engraver"
+      \remove "Time_signature_engraver"
+    }
+  }
+}
+@end lilypond
+
+@noindent
+Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert 
+eine Referenzstelle für das System.
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+
+\score {
+  \topVoice
+  \layout {
+    \context {
+      \Voice
+      \remove "Stem_engraver"
+      \remove "Phrasing_slur_engraver"
+      \remove "Slur_engraver"
+      \remove "Script_engraver"
+      \remove "Beam_engraver"
+      \remove "Auto_beam_engraver"
+    }
+    \context {
+      \Staff
+      \remove "Accidental_engraver"
+      \remove "Key_engraver"
+      \remove "Bar_engraver"
+      \remove "Time_signature_engraver"
+    }
+  }
+}
+@end lilypond
+
+@noindent
+Der @code{Stem_engraver} (@qq{Halsstecher}) schließlich fügt
+ Hälse hinzu.
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+
+\score {
+  \topVoice
+  \layout {
+    \context {
+      \Voice
+      \remove "Phrasing_slur_engraver"
+      \remove "Slur_engraver"
+      \remove "Script_engraver"
+      \remove "Beam_engraver"
+      \remove "Auto_beam_engraver"
+    }
+    \context {
+      \Staff
+      \remove "Accidental_engraver"
+      \remove "Key_engraver"
+      \remove "Bar_engraver"
+      \remove "Time_signature_engraver"
+    }
+  }
+}
+@end lilypond
+
+@noindent
+Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt, 
+der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei 
+einem Akkord), wird ein Hals-Objekt erstellt und an den 
+Kopf geheftet. Wenn wir dann noch engraver für Balken, Bögen, 
+Akzente, Vorzeichen, Taktlinien, Taktangaben und Tonartbezeichnungen 
+hinzufügen, erhalten wir eine vollständige Notation.
+
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+\score { \topVoice }
+@end lilypond
+
+@cindex Polyphonie
+@cindex Mehrstimmigkeit
+@cindex Notensatz, Mehrstimmigkeit
+@cindex Kontexte
+
+Dieses System funktioniert gut für monophone Musik, aber wie geht 
+es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+\new Staff << \topVoice \\ \botVoice >>
+@end lilypond
+
+In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam,
+aber die 
+Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme eigen. Die engraver 
+müssen also gruppiert werden. Die Köpfe, Hälse, Bögen usw. werden 
+in einer Gruppe mit dem Namen @qq{Voice context} (Stimmenkontext) 
+zusammengefasst, die engraver für den Schlüssel, die Vorzeichen, 
+Taktstriche usw. dagegen in einer Gruppe mit dem Namen @qq{Staff context} 
+(Systemkontext). Im Falle von Polyphonie hat ein Staff-Kontext dann also 
+mehr als nur einen Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
+in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
+
+
+@seealso
+Programmreferenz: @rinternals{Contexts}.
+
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+\score {
+   <<
+      \new Staff << \topVoice \\ \botVoice >>
+      \new Staff << \pah \\ \hoom >>
+   >>
+}
+@end lilypond
+
+@node Die Darstellung der Musik
+@unnumberedsubsec Die Darstellung der Musik
+@translationof Music representation
+
+@cindex Syntax
+@cindex rekursive Strukturen
+
+Idealerweise ist das Eingabeformat für ein komplexes Satzsystem die 
+abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die 
+Musik selber. Das stellt uns aber vor ein ziemlich großes Problem, 
+denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf 
+eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
+schreiben ein Programm, das den Notensatz beherrscht und machen das 
+Format so einfach wie möglich. Wenn es nicht mehr vereinfacht 
+werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser 
+Format dient als die formale Definition eines Musiktextes.
+
+Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond, 
+darum soll sie einfach zu schreiben sein; z. B. bedeutet
+
+@example
+c'4 d'8
+@end example
+
+@noindent
+eine Viertel c' und eine Achtel d', wie in diesem Beispiel:
+
+@lilypond[quote]
+{
+  c'4 d'8
+}
+@end lilypond
+
+In kleinem Rahmen ist diese Syntax sehr einfach zu benutzen. In 
+größeren Zusammenhängen aber brauchen wir Struktur. Wie sonst kann 
+man große Opern oder Symphonien notieren? Diese Struktur wird 
+gewährleistet durch sog. music expressions (Musikausdrücke): indem 
+kleine Teile zu größeren kombiniert werden, kann komplexere Musik 
+dargestellt werden. So etwa hier:
+
+@lilypond[quote,verbatim,fragment,relative=1]
+f4
+@end lilypond
+
+@noindent
+Gleichzeitig erklingende Noten werden hinzugefügt, indem man alle in @code{<<} und @code{>>} einschließt.
+
+@c < > is not a music expression,
+@c so we use <<>> iso. <> to drive home the point of
+@c expressions.  Don't change this back --hwn.
+@example
+<<c4 d4 e4>>
+@end example
+
+@lilypond[quote,fragment,relative=1]
+\new Voice { <<c4 d4 e>> }
+@end lilypond
+
+@noindent
+Um aufeinanderfolgende Noten darzustellen, werden sie in geschweifte Klammern gefasst:
+
+@code{@{@tie{}@dots{}@tie{}@}}
+
+@example
+@{ f4 <<c4 d4 e4>> @}
+@end example
+
+@lilypond[quote,relative=1,fragment]
+{ f4 <<c d e4>> }
+@end lilypond
+
+@noindent
+Dieses Gebilde ist in sich wieder ein Ausdruck, und kann 
+daher mit einem anderen Ausdruck kombiniert werden (hier mit einer Halben).
+
+@example
+<< g2 \\ @{ f4 <<c4 d4 e4>> @} >>
+@end example
+
+@lilypond[quote,fragment,relative=2]
+\new Voice { << g2 \\ { f4 <<c d e>> } >> }
+@end lilypond
+
+Solche geschachtelten Strukturen können sehr gut in einer 
+kontextunabhängigen Grammatik beschrieben werden. Der Programmcode 
+für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax 
+von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
+
+Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer 
+wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
+diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung 
+haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond 
+spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische 
+Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel 
+schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen: 
+Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
+
+@node Beispielanwendung
+@unnumberedsubsec Beispielanwendung
+@translationof Example applications
+
+@cindex einfaches Beispiel
+@cindex Beispiel, einfach
+
+Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des 
+Musiksatzes in ein Computerprogramm gießen kann. Dieses 
+Programm kann nun dank vieler harter Arbeitsstunden benutzt werden, 
+um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der 
+Notendruck.
+
+@lilypond[quote,relative=1]
+{
+  \time 2/4
+  c4 c g'4 g a4 a g2
+}
+@end lilypond
+
+@noindent
+Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir 
+ein Lead Sheet.
+
+@lilypond[quote,ragged-right]
+<<
+   \chords { c2 c f2 c }
+   \new Staff
+   \relative c' {
+     \time 2/4
+     c4 c g' g a a g2
+   }
+   \addlyrics { twin -- kle twin -- kle lit -- tle star }
+>>
+@end lilypond
+
+Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das 
+nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
+
+@lilypond[quote]
+\header {
+  title = "Screech and boink"
+  subtitle = "Random complex notation"
+  composer = "Han-Wen Nienhuys"
+}
+
+\score {
+  \context PianoStaff <<
+    \new Staff = "up" {
+      \time 4/8
+      \key c \minor
+      << {
+        \revert Stem #'direction
+        \change Staff = down
+        \set subdivideBeams = ##t
+        g16.[
+          \change Staff = up
+          c'''32
+          \change Staff = down
+          g32
+          \change Staff = up
+          c'''32
+          \change Staff = down
+          g16]
+        \change Staff = up
+        \stemUp
+        \set followVoice = ##t
+        c'''32([ b''16 a''16 gis''16 g''32)]
+      } \\ {
+        s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
+      } \\ {
+        s4 \autoBeamOff d''8.. f''32
+      } \\ {
+        s4 es''4
+      } >>
+    }
+
+    \new Staff = "down" {
+      \clef bass
+      \key c \minor
+      \set subdivideBeams = ##f
+      \override Stem  #'french-beaming = ##t
+      \override Beam  #'beam-thickness = #0.3
+      \override Stem  #'thickness = #4.0
+      g'16[ b16 fis16 g16]
+      << \makeClusters {
+        as16 <as b>
+        <g b>
+        <g cis>
+      } \\ {
+        \override Staff.Arpeggio  #'arpeggio-direction =#down
+        <cis, e, gis, b, cis>4\arpeggio
+      }
+    >> }
+  >>
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 60 8)
+    }
+  }
+  \layout {
+    \context {
+      \Staff
+      \consists Horizontal_bracket_engraver
+    }
+  }
+}
+@end lilypond
+
+Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht 
+die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft, 
+kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
+verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch 
+in Notenbilder umgewandelt werden, die dann auf Internetseiten oder 
+in Multimediapräsentation Anwendung finden.
+
+Dieses Benutzerhandbuch zeigt eine weitere Möglichkeit: Die Noten werden als 
+reiner Text eingegeben und können darum sehr einfach integriert werden
+in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem 
+Fall, Texinfo. Durch ein spezielles Programm werden die Eingabefragmente durch 
+Notenbilder in der resultierenden PDF- oder HTML-Datei ersetzt. Dadurch ist
+es sehr einfach, Noten und Text zu kombinieren.
+
index 3893f331e7d077c3e84cb4bb93b2a49cbdb62c4f..414ad8f8c1b9b6079523f8cd79a9bdd4297418a4 100644 (file)
@@ -3172,7 +3172,7 @@ Musik sehr nützlich sein könnte:
 @lilypond[quote,verbatim,ragged-right]
 fragmentA = \relative c'' { a4 a8. b16 }
 fragmentB = \relative c'' { a8. gis16 ees4 }
-violin = \new Staff { \fragmentA \fragmentA \fragmentB fragmentA }
+violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
 \score {
   {
     \violin