1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @c This file is part of lilypond.tely
4 Translation of GIT committish: e831b9b97caae23725709d2fe11a6436240ed580
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
11 @c Translators: Till Rettig, Reinhold Kainhofer
16 Dieses Kapitel stellt dem Leser die Idee hinter LilyPond und die Dokumentation
21 * About the documentation::
28 Dieser Abschnitt behandelt die allgemeinen Ziele und die Architektur von LilyPond.
32 * Automated engraving::
33 * What symbols to engrave?::
34 * Music representation::
35 * Example applications::
40 @unnumberedsubsec Engraving
42 Die Kunst des Notensatzes wird auch als Notenstich bezeichnet. Dieser
43 Begriff stammt aus dem traditionellen Notendruck. Noch bis vor etwa 20
44 Jahren wurden Noten erstellt, indem man sie in eine Zink- oder Zinnplatte
45 schnitt oder mit Stempeln schlug. Diese Platte wurde dann mit Druckerschwärze
46 versehen, so dass sie in den geschnittenen und gestempelten Vertiefungen
47 blieb. Diese Vertiefungen schwärzten dann ein auf die Platte gelegtes
48 Papier. Das Gravieren wurde vollständig von Hand erledigt. Es war darum
49 sehr mühsam, Korrekturen anzubringen, weshalb man von vornherein richtig
50 schneiden musste. Es handelte sich dabei um ein sehr spezialisiertes Handwerk.
52 Heutzutage wird fast alle gedruckte Musik von Computern erstellt. Das
53 hat einige deutliche Vorteile: Drucke sind billiger als die gravierten
54 Platten und der Computersatz kann per E-Mail verschickt werden. Leider
55 hat der intensive Einsatz des Computers die graphische Qualität
56 des Notensatzes vermindert. Mit dem Computer erstellte Noten sehen
57 langweilig und mechanisch aus, was es erschwert, von ihnen zu spielen.
60 @c introduce illustrating aspects of engraving, font...
61 Die Abbildung unten illustriert den Unterschied zwischen
62 traditionellem Notensatz und einem typischen Computersatz. Das
63 dritte Bild zeigt, wie LilyPond die Formen des traditionellen
64 Satzes nachahmt. Das linke Bild zeigt ein eingescanntes b-Vorzeichen
65 aus einer 2000 herausgegebenen Edition. Das mittlere Bild
66 zeigt das b-Vorzeichen der selben Musik aus einer handgestochenen
67 Bärenreiter-Ausgabe. Das linke Bild zeigt die typischen Makel
68 des Computer-Satzes: Die Notenlinien sind sehr dünn, die Schwärze
69 des Vorzeichens entspricht den dünnen Linien und hat eine gerade
70 Form mit scharfen Ecken und Kanten. Im Gegensatz dazu hat das
71 Bärenreiter-Vorzeichen dicke, gerade zu sinnlich rundliche
72 Formen. Unser Symbol für das Vorzeichen hat neben anderen
73 auch dieses b als Vorbild. Es ist abgerundet und passt zu unseren
74 Notenlinien, die sehr viel dicker sind als die der entsprechenden
77 @multitable @columnfractions .125 .25 .25 .25 .125
81 @image{henle-flat-gray,,4cm}
84 @image{henle-flat-gray,,,png}
89 @image{baer-flat-gray,,4cm}
92 @image{baer-flat-gray,,,png}
97 @image{lily-flat-bw,,4cm}
100 @image{lily-flat-bw,,,png}
104 @c workaround for makeinfo-4.6: line breaks and multi-column cookies
105 @image{henle-flat-bw,,,png} @image{baer-flat-bw,,,png}
106 @image{lily-flat-bw,,,png}
114 LilyPond Feta-Schriftart (2003)
124 @c introduce illustrating aspects of engraving, spacing...
125 Die Verteilung der Noten innerhalb des Taktes sollte ihrer Dauer
126 entsprechen. Moderne Partituren zeigen diese Verhältnisse jedoch
127 mit einer mathematischen Präzision, die nur sehr schlechte
128 Ergebnisse bringt. Im nächsten Beispiel ist ein Motiv zweimal
129 gesetzt: einmal mit den exakten mathematischen Längenverhältnissen, dann
130 mit kleinen Korrekturen. Welches von beiden ist mit dieser Korrektur
133 @cindex Optischer Ausgleich
134 @c file spacing-optical.
135 @c need to include it here, because we want two images.
156 \override NoteSpacing #'stem-spacing-correction = #0.6
181 \override NoteSpacing #'stem-spacing-correction = #0.0
182 \override NoteSpacing #'same-direction-correction = #0.0
183 \override StaffSpacing #'stem-spacing-correction = #0.0
189 @cindex normale Rhythmen
190 @cindex normale Abstände
192 In diesem Ausschnitt kommen nur Viertel vor, Noten, die in einem
193 gleichmäßigen Rhythmus gespielt werden. Die Abstände sollten das
194 widerspiegeln. Leider lässt uns aber das Auge im Stich: es beachtet
195 nicht nur den Abstand von aufeinander folgenden Notenköpfen, sondern
196 auch den ihrer Hälse. Also müssen Noten, deren Hälse in direkter
197 Folge zuerst nach oben und dann nach unten ausgerichtet sind, weiter
198 auseinander gezogen werden, während die unten/oben-Folge engere
199 Abstände fordert, und das alles auch noch in Abhängigkeit von der
200 vertikalen Position der Noten. Das obere Beispiel ist mit dieser
201 Korrektur gesetzt, das untere ohne. In letzterem Fall bilden sich
202 für das Auge bei unten/oben-Folgen Notenklumpen mit schmalen Abständen
203 zwischen den Notenhälsen.
207 Musiker sind üblicherweise zu zu konzentriert, die Musik aufzuführen,
208 als das Aussehen der Noten zu studieren; und diese
209 Beschäftigung mit typographischen Details mag akademisch wirken.
210 Das ist sie aber nicht. Unser Beispielstück hat einen
211 monotonen Rhythmus, und wenn alle Zeilen gleich aussehen, wird
212 das Notenblatt zu einem Labyrinth. Wenn der Spieler auch nur
213 einmal wegschaut oder kurze Zeit unkonzentriert ist, findet er
214 nicht mehr zurück zu der Stelle, an der er war.
216 Der dichtere Eindruck, den die dickeren Notenlinien und schwereren
217 Notationssymbole schaffen, eignet sich auch besser für Noten,
218 die weit vom Leser entfernt stehen, etwa auf einem Notenständer.
219 Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die
220 Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen.
221 Dadurch werden unnötige Seitenumbrüche vermieden, sodass man
222 nicht so oft blättern muss.
224 Dies sind die Anforderungen der Typographie: Das Layout sollte
225 schön sein -- nicht aus Selbstzweck, sondern um dem Leser zu helfen. Für
226 Aufführungsmaterial ist das umso wichtiger, denn Musiker haben eine begrenzte
227 Aufmerksamkeit. Je weniger Mühe nötig ist, die Noten zu erfassen, desto mehr
228 Zeit bleibt für die Gestaltung der eigentlichen Musik. Das heißt: Gute
229 Typographie führt zu besseren Aufführungen!
231 Die Beispiele haben gezeigt, dass der Notensatz eine subtile und
232 komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung
233 erlangt werden können, die Musiker normalerweise nicht haben.
234 LilyPond stellt unser Bemühen dar, die graphische Qualität
235 handgestochener Notenseiten ins Computer-Zeitalter zu transportieren
236 und sie für normale Musiker erreichbar zu machen. Wir haben
237 unsere Algorithmen, die Gestalt der Symbole und die Programm-Einstellungen
238 darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität
239 der alten Editionen entspricht, die wir so gerne betrachten
240 und von denen wir gerne spielen.
244 @node Automated engraving
245 @unnumberedsubsec Automated engraving
247 Wie sollen wir also jetzt die Typographie anwenden?
248 Wie können wir erwarten, dass wir in der Lage wären,
249 ein Programm zu schreiben, dass den Beruf des
250 Notenstechers ersetzt, wo dieser doch mehr als zehn
251 Jahre braucht, um ein Meister zu werden?
253 Wir können es tatsächlich nicht! Da Typographie allein
254 durch das menschliche Auge bestimmt ist, kann der Mensch
255 nicht ersetzt werden. Aber sehr viel mechanische Arbeit
256 kann automatisiert werden. Indem etwa LilyPond die üblichen
257 Situationen kennt und bewältigt, können die restlichen
258 Fehler von Hand beseitigt werden. Das ist schon ein
259 großer Fortschritt im Vergleich zu den existierenden
260 Programmen. Und mit der Zeit können immer mehr Fälle
261 automatisiert werden, so dass immer weniger Eingriffe
262 von Hand notwendig werden.
265 Als wir anfingen, haben wir LilyPond vollständig in der Programmiersprache C++
266 geschrieben. Das hieß, dass der Funktionsumfang des Programms vollständig durch
267 die Programmierer festgelegt war. Das stellte sich aus einer Reihe von Gründen
268 als unzureichend heraus:
271 @item Wenn LilyPond Fehler macht, muss der Benutzer die
272 Einstellungen ändern können. Er muss also Zugang zur
273 Formatierungsmaschinerie haben. Deshalb können die Regeln und
274 Einstellungen nicht beim Kompilieren des Programms festgelegt
275 werden, sondern sie müssen während des Laufes zugänglich sein.
278 @item Notensatz ist eine Frage des Augenmaßes, und damit auch vom
279 Geschmack abhängig. Benutzer können mit unseren Entscheidungen
280 unzufrieden sein. Darum müssen also auch die Definitionen des
281 typographischen Stils dem Benutzer zugänglich sein.
283 @item Schließlich verfeinern wir unseren Formatierungsalgorithmus
284 immer weiter, also müssen die Regeln auch flexibel sein. Die
285 Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode,
286 die nicht den Regeln für den Notensatz entspricht.
289 Diese Probleme wurden angegangen, indem ein Übersetzer für
290 die Programmiersprache Scheme integriert wurde und Teile
291 von LilyPond in Scheme neu geschrieben wurden. Die derzeitige
292 Formatierungsarchitektur ist um die Notation von graphischen
293 Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
294 beschrieben werden. Diese Architektur umfasst Formatierungsregeln,
295 typographische Stile und individuelle Formatierungsentscheidungen.
296 Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.
298 Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben
299 viele graphische Objekte eine Richtungsvariable, die zwischen
300 oben und unten (oder rechts und links) wählen kann. Hier etwa
301 sind zwei Akkorde mit Akzenten und Arpeggien.
302 Beim ersten Akkord sind alle Objekte nach unten (oder links)
303 ausgerichtet, beim zweiten nach oben (rechts).
305 @lilypond[quote,ragged-right]
307 \override SpacingSpanner #'spacing-increment = #3
308 \override TimeSignature #'transparent = ##t
310 \stemDown <e g b>4_>-\arpeggio
311 \override Arpeggio #'direction = #RIGHT
312 \stemUp <e g b>4^>-\arpeggio
317 Der Prozess des Notensetzens besteht für das Programm darin,
318 die Variablen der graphischen Objekte zu lesen und zu
319 schreiben. Einige Variablen haben festgelegte Werte. So
320 ist etwa die Dicke von vielen Linien – ein Charakteristikum
321 des typographischen Stils – von vornherein festgelegt.
322 Wenn sie geändert werden, ergibt sich ein anderer typographischer Eindruck.
324 @lilypond[quote,ragged-right]
327 c'4-~ c'16 as g f e16 g bes c' des'4
332 \override Beam #'thickness = #0.3
333 \override Stem #'thickness = #0.5
334 \override Bar #'thickness = #3.6
335 \override Tie #'thickness = #2.2
336 \override StaffSymbol #'thickness = #3.0
337 \override Tie #'extra-offset = #'(0 . 0.3)
343 Formatierungsregeln sind auch vorbelegte Variablen. Zu jedem Objekt gehören
344 Variablen, die Prozeduren enthalten. Diese Prozeduren machen die eigentliche
345 Satzarbeit, und wenn man sie durch andere ersetzt, kann die Darstellung
346 von Objekten verändert werden. Im nächsten Beispiel wird die Regel, nach der
347 die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.
349 @lilypond[quote,ragged-right]
350 #(set-global-staff-size 30)
352 #(define (mc-squared grob orig current)
353 (let* ((interfaces (ly:grob-interfaces grob))
354 (pos (ly:grob-property grob 'staff-position)))
355 (if (memq 'note-head-interface interfaces)
357 (ly:grob-set-property! grob 'stencil ly:text-interface::print)
358 (ly:grob-set-property! grob 'font-family 'roman)
359 (ly:grob-set-property! grob 'text
360 (make-raise-markup -0.5
362 ((-5) (make-simple-markup "m"))
363 ((-3) (make-simple-markup "c "))
364 ((-2) (make-smaller-markup (make-bold-markup "2")))
365 (else (make-simple-markup "bla")))))))))
367 \new Voice \relative c' {
369 \set autoBeaming = ##f
372 \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
373 \once \override NoteHead #'font-size = #-7
374 \once \override NoteHead #'font-family = #'sans
375 \once \override NoteHead #'font-series = #'bold
377 \once \override NoteHead #'style = #'cross
379 \applyOutput #'Voice #mc-squared
382 { d8[ es-( fis^^ g] fis2-) }
383 \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
390 @node What symbols to engrave?
391 @unnumberedsubsec What symbols to engrave?
396 Während des Notensatzprozesses entscheidet sich, wo
397 Symbole platziert werden. Das kann aber nur gelingen,
398 wenn vorher entschieden wird, @emph{welche} Symbole
399 gesetzt werden sollen, also welche Notation benutzt
402 Die heutige Notation ist ein System zur Musikaufzeichnung,
403 das sich über die letzten 1000 Jahre entwickelt hat. Die
404 Form, die heute üblicherweise benutzt wird, stammt aus dem
405 frühen Barock. Auch wenn sich die grundlegenden Formen (also
406 die Notenköpfe, das Fünfliniensystem) nicht verändert haben,
407 entwickeln sich die Details trotzdem immer noch weiter, um
408 die Errungenschaften der Neuen Musik darstellen zu können. Die
409 Notation umfasst also 500 Jahre Musikgeschichte. Ihre Anwendung
410 reicht von monophonen Melodien bis zu ungeheurem Kontrapunkt
411 für großes Orchester.
413 Wie bekommen wir dieses vielköpfige Monster zu fassen?
414 Unsere Lösung ist es, eine strikte Trennung zwischen der Notation,
415 also welche Symbole benutzt werden, und dem Satz, also wohin sie
416 gesetzt werden, zu machen. Um das Problem anzupacken, haben wir
417 es in kleine (programmierbare) Happen zerteilt, so dass jede Art
418 von Symbol durch ein eigenes Plugin verarbeitet wird. Alle Plugins
419 kooperieren durch die LilyPond-Architektur. Sie sind vollständig
420 modular und unabhängig und können somit auch unabhängig voneinander
421 entwickelt werden. Der Schreiber, der die Musik in Graphik umwandelt,
422 ist ein Kopist oder Notenstecher (engl. engraver). Darum werden
423 die Plugins als @code{engraver} bezeichnet.
425 Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe,
426 dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
428 @lilypond[quote,ragged-right]
429 \include "engraver-example.ily"
436 \remove "Stem_engraver"
437 \remove "Phrasing_slur_engraver"
438 \remove "Slur_engraver"
439 \remove "Script_engraver"
440 \remove "Beam_engraver"
441 \remove "Auto_beam_engraver"
445 \remove "Accidental_engraver"
446 \remove "Key_engraver"
447 \remove "Clef_engraver"
448 \remove "Bar_engraver"
449 \remove "Time_signature_engraver"
450 \remove "Staff_symbol_engraver"
451 \consists "Pitch_squash_engraver"
458 Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher})
459 die Notenlinien hinzu.
461 @lilypond[quote,ragged-right]
462 \include "engraver-example.ily"
469 \remove "Stem_engraver"
470 \remove "Phrasing_slur_engraver"
471 \remove "Slur_engraver"
472 \remove "Script_engraver"
473 \remove "Beam_engraver"
474 \remove "Auto_beam_engraver"
478 \remove "Accidental_engraver"
479 \remove "Key_engraver"
480 \remove "Clef_engraver"
481 \remove "Bar_engraver"
482 \consists "Pitch_squash_engraver"
483 \remove "Time_signature_engraver"
490 Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert
491 eine Referenzstelle für das System.
493 @lilypond[quote,ragged-right]
494 \include "engraver-example.ily"
501 \remove "Stem_engraver"
502 \remove "Phrasing_slur_engraver"
503 \remove "Slur_engraver"
504 \remove "Script_engraver"
505 \remove "Beam_engraver"
506 \remove "Auto_beam_engraver"
510 \remove "Accidental_engraver"
511 \remove "Key_engraver"
512 \remove "Bar_engraver"
513 \remove "Time_signature_engraver"
520 Der @code{Stem_engraver} (@qq{Halsstecher}) schließlich fügt
523 @lilypond[quote,ragged-right]
524 \include "engraver-example.ily"
531 \remove "Phrasing_slur_engraver"
532 \remove "Slur_engraver"
533 \remove "Script_engraver"
534 \remove "Beam_engraver"
535 \remove "Auto_beam_engraver"
539 \remove "Accidental_engraver"
540 \remove "Key_engraver"
541 \remove "Bar_engraver"
542 \remove "Time_signature_engraver"
549 Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt,
550 der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei
551 einem Akkord), wird ein Hals-Objekt erstellt und an den
552 Kopf geheftet. Wenn wir dann noch engraver für Balken, Bögen,
553 Akzente, Vorzeichen, Taktlinien, Taktangaben und Tonartbezeichnungen
554 hinzufügen, erhalten wir eine vollständige Notation.
557 @lilypond[quote,ragged-right]
558 \include "engraver-example.ily"
562 Dieses System funktioniert gut für monophone Musik, aber wie geht
563 es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
565 @lilypond[quote,ragged-right]
566 \include "engraver-example.ily"
567 \new Staff << \topVoice \\ \botVoice >>
570 In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam,
572 Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme eigen. Die engraver
573 müssen also gruppiert werden. Die Köpfe, Hälse, Bögen usw. werden
574 in einer Gruppe mit dem Namen @qq{Voice context} (Stimmenkontext)
575 zusammengefasst, die engraver für den Schlüssel, die Vorzeichen,
576 Taktstriche usw. dagegen in einer Gruppe mit dem Namen @qq{Staff context}
577 (Systemkontext). Im Falle von Polyphonie hat ein Staff-Kontext dann also
578 mehr als nur einen Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
579 in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
583 Programmreferenz: @rinternals{Contexts}.
586 @lilypond[quote,ragged-right]
587 \include "engraver-example.ily"
590 \new Staff << \topVoice \\ \botVoice >>
591 \new Staff << \pah \\ \hoom >>
596 @node Music representation
597 @unnumberedsubsec Music representation
599 Idealerweise ist das Eingabeformat für ein höheres Satzsystem die
600 abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die
601 Musik selber. Das stellt uns aber vor ein ziemlich großes Problem,
602 denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf
603 eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
604 schreiben ein Programm, das den Notensatz beherrscht und passen das
605 Format an, so einfach wie möglich zu sein. Wenn es nicht mehr vereinfacht
606 werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser
607 Format dient als die formale Definition eines Musiktextes.
609 Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond,
610 darum soll sie einfach zu schreiben sein; z. B. bedeutet
617 eine Viertel c' und eine Achtel d', wie in diesem Beispiel:
625 In kleinem Rahmen ist diese Syntax sehr einfach zu benutzen. In
626 größeren Zusammenhängen aber brauchen wir Struktur. Wie sonst kann
627 man große Opern oder Symphonien notieren? Diese Struktur wird
628 gewährleistet durch sog. music expressions (Musikausdrücke): indem
629 kleine Teile zu größeren kombiniert werden, kann komplexere Musik
630 dargestellt werden. So etwa hier:
632 @lilypond[quote,verbatim,fragment,relative=1]
637 Gleichzeitig erklingende Noten werden hinzugefügt, indem man alle in @code{<<} und @code{>>} einschließt.
639 @c < > is not a music expression,
640 @c so we use <<>> iso. <> to drive home the point of
641 @c expressions. Don't change this back --hwn.
646 @lilypond[quote,fragment,relative=1]
647 \new Voice { <<c4 d4 e>> }
651 Um aufeinanderfolgende Noten darzustellen, werden sie in geschweifte Klammern gefasst:
653 @code{@{@tie{}@dots{}@tie{}@}}
656 @{ f4 <<c4 d4 e4>> @}
659 @lilypond[quote,relative=1,fragment]
664 Dieses Gebilde ist in sich wieder ein Ausdruck, und kann
665 daher mit einem anderen Ausdruck kombiniert werden (hier mit einer Halben).
668 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
671 @lilypond[quote,fragment,relative=2]
672 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
675 Solche geschachtelten Strukturen können sehr gut in einer
676 kontextunabhängigen Grammatik beschrieben werden. Der Programmcode
677 für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax
678 von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
680 Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer
681 wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
682 diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung
683 haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond
684 spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische
685 Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel
686 schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen:
687 Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
689 @node Example applications
690 @unnumberedsubsec Example applications
692 Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des
693 Musiksatzes in ein Computerprogramm gießen kann. Dieses
694 Programm kann nun dank vieler harter Arbeitsstunden benutzt werden,
695 um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der
698 @lilypond[quote,relative=1]
706 Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir
709 @lilypond[quote,ragged-right]
711 \chords { c2 c f2 c }
717 \addlyrics { twin -- kle twin -- kle lit -- tle star }
721 Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das
722 nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
726 title = "Screech and boink"
727 subtitle = "Random complex notation"
728 composer = "Han-Wen Nienhuys"
732 \context PianoStaff <<
737 \revert Stem #'direction
739 \set subdivideBeams = ##t
751 \set followVoice = ##t
752 c'''32([ b''16 a''16 gis''16 g''32)]
754 s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
756 s4 \autoBeamOff d''8.. f''32
762 \new Staff = "down" {
765 \set subdivideBeams = ##f
766 \override Stem #'french-beaming = ##t
767 \override Beam #'thickness = #0.3
768 \override Stem #'thickness = #4.0
775 \override Staff.Arpeggio #'arpeggio-direction =#down
776 <cis, e, gis, b, cis>4\arpeggio
783 tempoWholesPerMinute = #(ly:make-moment 60 8)
789 \consists Horizontal_bracket_engraver
795 Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht
796 die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft,
797 kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
798 verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch
799 in Notenbilder umgewandelt werden, die dann auf Internetseiten oder
800 in Multimediapräsentation Anwendung finden.
802 Dieses Benutzerhandbuch zeigt eine weitere Möglichkeit: Die Noten werden als
803 reiner Text eingegeben und können darum sehr einfach integriert werden
804 in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem
805 Fall, Texinfo. Durch ein spezielles Programm werden die Eingabefragmente durch
806 Notenbilder in der resultierenden PDF- oder HTML-Datei ersetzt. Dadurch ist
807 es sehr einfach, Noten und Text zu kombinieren.
811 @node About the documentation
812 @section About the documentation
814 Die Dokumentation zu LilyPond ist unterteilt in mehrere Handbücher.
816 @c leave these lines wrapping around. It's some texinfo 4.12 thing. -gp
817 @c This is actually a limitation of texi2html. -jm
819 * About the Learning Manual:: Dieses Handbuch stellt LilyPond vor und vermittelt die Grundkenntnisse um damit arbeiten zu können.
820 * About the Music Glossary:: Dieses Handbuch erklärt zahlreiche musikalische Fachausdrücke inklusive Übersetzungen in verschiedene Sprachen.
821 * About the Notation Reference:: Dieses Handbuch stellt den Hauptteil der Dokumentation dar. Es liefert detaillierte Informationen zur Notation mit LilyPond. Als Voraussetzung werden die Kenntnisse des @q{Handbuchs zum Lernen} angenommen.
822 * About the Application Usage:: Dieses Handbuch diskutiert den konkreten Aufruf des @q{lilypond} Programms, sowie Betriebssystem-spezifische Aspekte.
823 * About the Snippet List:: Dies ist eine Sammlung von kurzen LilyPond Beispielen.
824 * About the Internals Reference:: Dieses Dokument liefert Referenzwissen über LilyPonds interne Strukturen und ist vor allem bei der Erstellung von tiefergehenden Optimierungen und Anpassungen hilfreich.
825 * Other documentation:: Es existieren noch etliche weitere Teile der Dokumentation, wie etwa die @q{Neueigkeiten} Seite oder das Archiv der Mailingliste.
829 @node About the Learning Manual
830 @unnumberedsubsec About the Learning Manual
832 Dieses Handbuch erklärt die Grundbegriffe von LilyPond und stellt
833 die fundamentalen Konzepte hinter dem Programm vor. Diese Kapitel sollten
834 in linearer Reihenfolge gelesen werden.
836 Am Ende jedes Abschnitts findet sich ein Absatz @strong{Siehe auch}, der
837 Kreuzreferenzen zu anderen Abschnitten enthält. Beim ersten Durchlesen
838 empfiehlt es sich nicht, diesen gleich zu folgen, da meist noch
839 zahlreiche Grundbegriffe zum Verständnis fehlen. Wenn Sie sich durch
840 das Handbuch zum Lernen geackert haben, wollen Sie vielleicht einzelne
841 Abschnitte nochmal durchgehen und dann den Kreuzverweisen zur Vertiefung
842 der Zusammenhänge folgen.
847 @ref{Introduction}: erklärt den Hintergrund und das Ziel von LilyPond.
850 @ref{Tutorial}: liefert eine einfache Einführung in das Setzen von Musik
851 mit LilyPond. Neulinge sollten mit diesem Kapitel beginnen.
854 @ref{Fundamental concepts}: erklärt etliche allgemeine Konzepte
855 hinter dem Dateiformat von LilyPond. Wenn Sie sich nicht sicher
856 sind, an welcher Stelle Sie einen Befehl in die Datei einfügen sollen,
857 ist dieses Kapitel genau das richtige!
860 @ref{Tweaking output}: stellt dar, wie die Standardeinstellungen von
861 LilyPond verändert werden können.
864 @ref{Working on LilyPond projects}: liefert Tipps im praktischen Umgang mit
865 Lilypond und gibt Hinweise, wie gängige Fehler vermieden werden können.
866 Bevor Sie mit einem großen Projekt beginnen, sollten Sie dieses Kapitel
867 unbedingt gelesen haben!
871 Das Handbuch zum Lernen enthält auch zahlreiche Anhänge, die nicht
872 zum linearen Durchlesen geeignet sind. Sie sind allerdings zur späteren
873 Referenz sehr gut geeignet:
878 @ref{Templates}: zeigt einige fertige Dokumentvorlagen für diverse
879 Stücke mit unterschiedlichen Charakteristika. Kopieren Sie einfach
880 die Vorlagen in Ihre eigene Datei, fügen Sie die Noten hinzu und Sie
884 @ref{Scheme tutorial}: liefert eine kurze Einführung in Scheme, die
885 Programmiersprache, die die Musikfunktionen in LilyPond intern benutzen.
886 Dies stellt tiefgehendes Wissen dar, wenn Sie LilyPond bis ins kleinste Detail
887 konfigurieren möchten. Die meisten Benutzer brauchen dies jedoch selten bis
893 @node About the Music Glossary
894 @unnumberedsubsec About the Music Glossary
899 @cindex Übersetzungen
905 @rglosnamed{Top,Das Musikglossar} erklärt musikalische Fachausdrücke und
906 enthält auch deren Übersetzungen in diverse Sprachen. Wenn Sie mit
907 Musiknotation oder der (englisch-sprachigen) Musikterminologie nicht vertraut
908 sind (vor allem, wenn Englisch nicht Ihre Muttersprache ist), ist es
909 sehr empfehlenswert, das Musikglossar immer wieder zu Rate zu ziehen.
912 @node About the Notation Reference
913 @unnumberedsubsec About the Notation Reference
915 In diesem Buch werden alle LilyPond-Befehle erklärt, die Notationszeichen
916 produzieren. Es geht von der Annahme aus, dass der Leser sich mit den
917 Grundkonzepten des Programmes im Handbuch zum Lernen bekannt gemacht hat.
922 @emph{@ruser{Musical notation}}:
923 erklärt alles über die grundlegenden Notationskonstruktionen. Dieses Kapitel
924 ist für fast jedes Notationsprojekt nützlich.
927 @emph{@ruser{Specialist notation}}:
928 erklärt spezifische Schwierigkeiten, die sich bei bestimmten Notationstypen
929 ergeben. Dieses Kapitel ist nur in entsprechenden Fällen bestimmter Instrumente
930 oder bei Gesang zu konsultieren.
933 @emph{@ruser{General input and output}}:
934 erläutert allgemeine Informationen über die Eingabedateien von Lilypond und
935 wie die Ausgabe gesteuert werden kann.
938 @emph{@ruser{Spacing issues}}:
939 befasst sich mit globalen Fragen wie der Definition von Papierformaten
940 oder wie man Seitenumbrüche definiert.
943 @emph{@ruser{Changing defaults}}:
944 erklärt, wie des Layout getrimmt werden kann um genau zum gewünschten Ergebnis
948 @emph{@ruser{Interfaces for programmers}}:
949 demonstriert die Erstellung von musikalischen Funktionen.
953 Ds Benutzerhandbuch enthält auch Anhänge mit nützlichen Referenztabellen.
958 Die @ruser{Literature list}
959 enthält einige wichtige Quellen für alle, die mehr über Notation und
960 den Notensatz erfahren wollen.
963 @ruser{Notation manual tables}
964 sind Tabellen, in denen Akkordbezeichnungen, MIDI-Instrumente,
965 Farbbezeichnungen und die Zeichen der Feta-Schriftart gesammelt sind.
969 @emph{@ruser{Cheat sheet}}
970 zeigt die wichtigsten LilyPond-Befehle.
974 @emph{@ruser{LilyPond command index}}
975 listet alle Befehle auf, die mit @code{\} anfangen.
979 @emph{@ref{LilyPond index}}
980 ist ein vollständiger Index.
986 @node About the Application Usage
987 @unnumberedsubsec About the Application Usage
989 In diesem Buch wird erklärt, wie das Programm ausgeführt wird und
990 wie die Notation von LilyPond in andere Programme integriert werden
996 @emph{@rprogram{Install}}:
997 erklärt wie LilyPond installiert wird (inklusive Kompilation, wenn es
1001 @emph{@rprogram{Setup}}:
1002 erklärt wie der Computer eingerichtet wird, damit LilyPond optimal genutzt
1003 werden kann. Hierzu gehören etwa spezielle Umgebungen für bestimmte
1007 @emph{@rprogram{Running LilyPond}}:
1008 zeigt, wie LilyPond und seine Hilfsprogramme gestartet werden. Zusätzlich
1009 wird hier erklärt, wie Quelldateien von alten LilyPond-Versionen aktualisiert
1013 @emph{@rprogram{LilyPond-book}}:
1014 erklärt die Details, um einen Text mit eingefügten Notenbeispielen (wie
1015 etwa dieses Handbuch) zu
1019 @emph{@rprogram{Converting from other formats}}:
1020 erklärt, wie die Konvertierungsprogramme aufgerufen werden. Diese
1021 Programme kommen mit LilyPond zusammen und konvertieren eine Vielzahl
1022 von Notensatzformaten in das @code{.ly}-Format.
1027 @node About the Snippet List
1028 @unnumberedsubsec About the Snippet List
1033 Die @rlsrnamed{Top,Schnipsel} sind eine ausführliche Sammlung kurzer
1034 Beispiele, anhand derer Tricks, Tipps und Spezialfunktionen von LilyPond
1035 demonstriert werden. Die meisten dieser Schnipsel können auch im
1036 @uref{http://lsr.dsi.unimi.it/,LilyPond Schnipsel Depot} betrachtet
1037 werden. Diese Internetseite verfügt auch über ein
1038 durchsuchbares LilyPond-Handbuch.
1040 Die Liste der Schnipsel zu einem Abschnitt des Benutzerhandbuchs ist auch
1041 dort jeweils im Abschnitt @strong{Siehe auch} verlinkt.
1044 @node About the Internals Reference
1045 @unnumberedsubsec About the Internals Reference
1047 Die @rinternalsnamed{Top,Programmreferenz} ist eine Sammlung intensiv
1048 verlinkter HTML-Seiten, die alle Details jeder einzelnen
1049 LilyPond-Klasse, jedes Objektes und jeder Funktion erklären. Sie wird
1050 direkt aus den Satzdefinitionen im Quellcode produziert.
1052 So gut wie alle Formatierungsmöglichkeiten, die intern verwendet werden,
1053 sind auch direkt für den Benutzer zugänglich. Alle Variablen z. B., die
1054 Dicke-Werte, Entfernungen usw. kontrollieren, können in den Eingabe-Dateien
1055 verändert werden. Es gibt eine riesige Anzahl von Formatierungsoptionen, und
1056 alle haben einen @qq{Siehe}-Abschnitt, der auf die Dokumentation verweist.
1057 Im HTML-Handbuch haben diese Abschnitte klickbare Links.
1059 Die Programmreferenz ist nur auf englisch verfügbar.
1062 @node Other documentation
1063 @unnumberedsubsec Other documentation
1065 Es gibt noch eine Reihe weiterer wertvoller Informationsquellen zu LilyPond:
1073 @uref{../topdocs/NEWS.html,Neuigkeiten}:
1076 @uref{../../topdocs/NEWS.html,Neuigkeiten}:
1082 eine Zusammenfassung der Änderungen in LilyPond seit der letzten Version.
1084 @item @uref{http://lists.gnu.org/archive/html/lilypond-user/,Das Archiv
1085 der lilypond-user Mailing-Liste}: enthält alle bisher an die Liste
1086 gesendeten Mails. Viele Fragen werden immer wieder gestellt und auch
1087 beantwortet. Die Chance, dass Ihre Frage auch schon mal aufgetaucht ist,
1088 ist also relativ groß. In diesem Fall finden Sie die Antwort in diesem
1091 @item @uref{http://lists.gnu.org/archive/html/lilypond-devel/,Das Archiv
1092 der lilypond-devel Mailing-Liste}: enthält alle bisher an die
1093 Entwicklerliste gesendeten Mails. Diese Diskussionen sind dementsprechend
1094 technisch gehalten. Wenn Sie eine tiefergehende Frage zu den Interna von
1095 LilyPond haben, finden Sie die Antwort vielleicht in diesem Archiv.
1097 @item Eingebettete Musikbeispiele: Auf allen HTML-Seiten mit Notenbeispielen,
1098 die von LilyPond erzeugt wurden, kann die originale Quelldatei durch einen Klick auf das
1099 Bild betrachtet werden.
1101 @item Initialisierungsdateien von LilyPond:
1103 Der Speicherort der Dokumentationsdateien unterscheidet sich evtl. je
1104 nach Betriebssystem. Manchmal wird hier auf Initialisierungs- oder
1105 Beispieldateien verwiesen. Das Handbuch nimmt dabei an, dass diese
1106 Dateien sich relativ zum Quellverzeichnis befinden. Zum Beispiel würde
1107 der Pfad @file{input/@/lsr/@/Verzeichnis/@/bla@/.ly} etwa auf die Datei
1108 @file{lilypond@/2.x.y/@/input/@/lsr/@/Verzeichnis/@/bla@/.ly} verweisen. In den
1109 Binärpaketen für Unix-Plattformen sind Dokumentation und Beispiele
1110 üblicherweise in einem Verzeichnis wie @file{/usr/@/share/@/doc/@/lilypond/}
1111 gespeichert. Initialisierungsdateien, etwa @file{scm/@/lily@/.scm}
1112 oder @file{ly/@/engraver@/-init@/.ly}, befinden sich normalerweise im
1113 Verzeichnis @file{/usr/@/share/@/lilypond/}.
1115 Weiterführende Informationen finden Sie unter @ref{Other sources of information}.