1 @c -*- coding: utf-8; mode: texinfo; -*-
4 Translation of GIT committish: 0bbabe9eef32b46216a722cc0d49df759227b7be
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..
14 @c Translators: Till Paala
18 @translationof Music engraving
20 Dieser Aufsatz beschreibt, wie LilyPond entstand und wie es
21 benutzt werden kann, um schönen Notensatz zu erstellen.
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)::
33 @node Die Geschichte von LilyPond
34 @section Die Geschichte von LilyPond
35 @translationof The LilyPond story
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
45 Warum schaffen es die meisten computergesetzten Noten nicht, die
46 Schönheit und Ausgeglichenheit von handgestochenem Notensatz aufzuweisen?
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.
58 Bärenreiter BA 320, @copyright{}1950:
60 @sourceimage{baer-suite1-fullpage,,,png}
65 Henle Nr. 666, @copyright{}2000:
66 @sourceimage{henle-suite1-fullpage,,,png}
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
75 (Die PDF-Version dieses Handbuchs hat hochauflösende Abbildungen,
76 die sich zum Drucken eignen.)
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.
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 komputerkonform 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.
91 Die Antwort findet sich in der präzisen, mathematischen Gleichheit
92 der neueren Edition. Suchen Sie die Taktstriche in der Mitte jeder
93 Zeiel: 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):
101 @sourceimage{pdf/page-layout-comparison,,,}
104 @sourceimage{page-layout-comparison,,,png}
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.
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 Vielfalt in der Platzierung 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.
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.
129 Bärenreiter BA 320, @copyright{}1950:
131 @sourceimage{baer-suite1-fullpage-hires,16cm,,}
134 Henle no. 666, @copyright{}2000:
136 @sourceimage{henle-suite1-fullpage-hires,16cm,,}
141 @node Details des Notensetzens
142 @section Details des Notensetzens
143 @translationof Engraving details
148 @cindex Gravur, Notensatz
149 @cindex Plattendruck, Noten
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
178 @sourceimage{hader-slaan,,7cm,}
181 @sourceimage{hader-slaan,,,jpg}
185 LilyPond wurd von den handgestochenen traditionellen Noten
186 inspiriert, die in der ersten Hälfte des 20. Jahrhunderts von
187 europäischen Notenverlagen herausgegeben wurden (insbesondere
188 Bärenreiter, Duhem, Durand, Hofmeister, Peters und Scott). Sie
189 werden teilweise als der Höhepunkt des traditionellen Notenstichs
190 angesehen. 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
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.
203 * Notenschriftarten::
204 * Optischer Ausgleich::
207 * Warum der große Aufwand?::
210 @node Notenschriftarten
211 @unnumberedsubsec Notenschriftarten
212 @translationof Music fonts
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 beihnahe sinnliches Aussehen. Der rechte Scan hingegen hat
223 dünnere Linien und eine gerade Form mit scharfen Ecken und Kanten.
225 @multitable @columnfractions .25 .25 .25 .25
229 @sourceimage{baer-flat-gray,,4cm,}
232 @sourceimage{baer-flat-gray,,,png}
237 @sourceimage{henle-flat-gray,,4cm,}
240 @sourceimage{henle-flat-gray,,,png}
245 @sourceimage{henle-flat-bw,,,png}
246 @sourceimage{baer-flat-bw,,,png}
247 @sourceimage{lily-flat-bw,,,png}
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 Coputerfont 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.
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.
279 @sourceimage{pdf/OpusAndFeta,,,}
282 @sourceimage{OpusAndFeta,,,png}
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 Schä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
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
303 @node Optischer Ausgleich
304 @unnumberedsubsec Optischer Ausgleich
305 @translationof Optical spacing
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
316 @cindex Optischer Ausgleich
337 \override NoteSpacing #'stem-spacing-correction = #0.0
338 \override NoteSpacing #'same-direction-correction = #0.0
339 \override StaffSpacing #'stem-spacing-correction = #0.0
365 \override NoteSpacing #'stem-spacing-correction = #0.6
371 @cindex normale Rhythmen
372 @cindex normale Abstände
373 @cindex Abstände, normal
374 @cindex Rhythmen, normal
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.
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.
396 @unnumberedsubsec Hilfslinien
397 @translationof Ledger lines
400 @cindex Zusammenstöße
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 Beispeil 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 Platzzieren von Versetzungszeichen zu erlauben. Wir haben diese
409 Eigenschaft in den Notensatz von LilyPond eingebaut.
411 @multitable @columnfractions .25 .25 .25 .25
415 @sourceimage{baer-ledger,3cm,,}
418 @sourceimage{baer-ledger,,,png}
424 @sourceimage{lily-ledger,3cm,,}
427 @sourceimage{lily-ledger,,,png}
433 @node Optische Größen
434 @unnumberedsubsec Optische Größen
435 @translationof Optical sizing
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.
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:
451 @sourceimage{pdf/size26,,23mm,}
454 @sourceimage{size26,,,png}
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
465 @sourceimage{pdf/size11,,23mm,}
468 @sourceimage{size11,,,png}
473 Bei kleineren Größen benutzt LilyPond proportional dickere
474 Notenlinien, sodass das Notenbild immernoch gut zu lesen ist.
477 Dadurch können auch Notensysteme unterschiedlicher Größe
478 friedlich nebeneinander auf der gleichen Seite erscheinen:
480 @c TODO: are the stems in this example the right thickness? How should
481 @c line weights be scaled for small staves?
483 @c Grieg's Violin Sonata Op. 45
484 @lilypond[indent=1.5cm]
493 \override StaffSymbol #'staff-space = #(magstep -4)
494 \override StaffSymbol #'thickness = #(magstep -3)
498 \set Staff.instrumentName = #"Violin"
499 c8.(\f^> b16 c d) ees8.(^> d16 c b)
500 g8.(^> b16 c ees) g8-.^> r r
504 \set PianoStaff.instrumentName = #"Piano"
505 \new Staff \relative c' {
508 s4. s8 r8 r16 <c f aes c>
509 <c f aes c>4.^> <c ees g>8 r r
511 \new Staff \relative c {
515 \once \override DynamicText #'X-offset = #-3
517 <ees g c>4.~ <ees g c>8
520 <c g c,>4.~ <c g c,>8
522 r8 r16 <f, c' aes'>16
523 <f c' aes'>4.-> <c' g'>8 r r
531 @node Warum der große Aufwand?
532 @unnumberedsubsec Warum der große Aufwand?
533 @translationof Why work so hard?
535 Musiker sind üblicherweise zu sehr damit beschäftigt, die Musik aufzuführen,
536 als dass sie das Aussehen der Noten studieren könnten; darum mag diese
537 Beschäftigung mit typographischen Details akademisch wirken.
538 Das ist sie aber nicht. Notenmaterial ist Aufführungsmaterial:
539 alles muss unternommen werden, damit der Musiker die Aufführung
540 besser bewältigt, und alles, das unklar oder unangenehm ist,
543 Der dichtere Eindruck, den die dickeren Notenlinien und schwereren
544 Notationssymbole schaffen, eignet sich besser für Noten,
545 die weit vom Leser entfernt stehen, etwa auf einem Notenständer.
546 Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die
547 Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen.
548 Dadurch werden unnötige Seitenumbrüche vermieden, so dass man
549 nicht so oft blättern muss.
551 Dies sind die Anforderungen der Typographie: Das Layout sollte
552 schön sein -- nicht nur aus Selbstzweck, sondern vor allem um dem
553 Leser zu helfen. Für Aufführungsmaterial ist das umso wichtiger,
554 denn Musiker haben eine begrenzte Aufnahmefähigkeit. Je weniger
555 Mühe nötig ist, die Noten zu erfassen, desto mehr Zeit bleibt für
556 die Gestaltung der eigentlichen Musik. Das heißt: Gute
557 Typographie führt zu besseren Aufführungen!
559 Die Beispiele haben gezeigt, dass der Notensatz eine subtile und
560 komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung
561 erlangt werden können, die Musiker normalerweise nicht haben.
562 LilyPond stellt unser Bemühen dar, die graphische Qualität
563 handgestochener Notenseiten ins Computer-Zeitalter zu transportieren
564 und sie für normale Musiker erreichbar zu machen. Wir haben
565 unsere Algorithmen, die Gestalt der Symbole und die Programm-Einstellungen
566 darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität
567 der alten Editionen entspricht, die wir so gerne betrachten
568 und aus denen wir gerne spielen.
572 @node Automatisierter Notensatz
573 @section Automatisierter Notensatz
574 @translationof Automated engraving
576 @cindex Notensatz, automatisch
577 @cindex automatischer Notensatz
579 Dieser Abschnitt beschreibt, was benötigt wird um ein Programm zu
580 schreiben, welches das Layout von gestochenen Noten nachahmen kann:
581 eine Methode, dem Computer gute Layouts zu erklären und detailliertes
582 Vergleichen mit echten Notendrucken.
585 * Schönheitswettbewerb::
586 * Verbessern durch Benchmarking::
587 * Alles richtig machen::
590 @node Schönheitswettbewerb
591 @unnumberedsubsec Schönheitswettbewerb
592 @translationof Beauty contests
594 Wie sollen wir also jetzt die Typographie anwenden?
595 Anders gesagt: welcher von den drei Konfigurationen sollte für
596 den folgenden Bogen ausgewählt werden?
601 \once \override Slur #'positions = #'(1.5 . 1)
602 e8[( f] g[ a b d,)] r4
603 \once \override Slur #'positions = #'(2 . 3)
604 e8[( f] g[ a b d,)] r4
605 e8[( f] g[ a b d,)] r4
609 Es gibt wenige Bücher über die Kunst des Notensatzes. Leider
610 haben sie nur Daumenregeln und einige Beispiele zu bieten. Solche
611 Regeln können sehr informativ sein, aber sie sind weit entfernt
612 von einem Algorithmus, den wir in unser Programm einbauen könnten.
613 Indem man die Anweisungen der Literatur anwendet, kommt man zu
614 Algorithmen mit sehr vielen manuellen Ausnahmen. Alle die möglichen
615 Fälle zu analysieren stellt sehr viel Arbeit dar und meistens
616 werden dennoch nicht alle Fälle vollständig abgedeckt:
620 @sourceimage{ross-beam-scan,7cm,,}
623 @sourceimage{ross-beam-scan,,,.jpg}
627 (Bildquelle: Ted Ross, @emph{The Art of Music Engraving})
629 Anstatt zu versuchen, für jedes mögliche Szenario eine passende
630 Layoutregel zu definieren, müssen wir nur die Regeln genau genug
631 beschreiben, sodass LilyPond die Gefälligkeit von mehreren
632 Alternativen selber einschätzen kann. Dann errechnen wir für jede
633 mögliche Konfiguration eine Hässlichkeits-Rangliste und wir wählen
634 die Konfiguration aus, die am wenigsten hässlich ist.
636 Zum Beispiel hier drei mögliche Konfiguration eines Legatobogens,
637 und LilyPond hat jeder Konfiguration @qq{Hässlichkeitspunkte}
638 verliehen. Das erste Beispiel erhält 15.39 Punkte, weil einer der
639 Notenköpfe angeschnitten wird:
644 \once \override Slur #'positions = #'(1.5 . 1)
645 e8[(_"15.39" f] g[ a b d,)] r4
649 Das zweite Beispiel ist schöner, aber der Bogen beginnt weder noch
650 endet er an den Notenköpfen. Hier werden 1.71 Punkte auf der linken
651 und 9.37 Punkte auf der rechten Seite verliehen, plus weiteren
652 2 Punkten, weil der Bogen aufsteigt, während die Melodie absteigt.
653 Insgesamt also 13.08 Punkte:
658 \once \override Slur #'positions = #'(2 . 3)
659 e8[(_"13.08" f] g[ a b d,)] r4
663 Der letzte Bogen erhält 10.04 Punkte für die Lücke rechts und
664 2 Punkte für die Neigung nach oben, aber er ist die schönste
665 der drei Varianten, sodass LilyPond ihn auswählt:
670 e8[(_"12.04" f] g[ a b d,)] r4
674 Diese Technik ist sehr allgemein und wird benutzt, um optimale
675 Entscheidungen für Bögenkonfigurationen, Bindebögen und Punkten
676 in Akkorden, Zeilenumbrüche und Seitenumbrüche zu erhalten. Die
677 Ergebnisse dieser Entscheidungen können durch einen Vergleich mit
678 handgestochenen Noten eingeschätzt werden.
681 @node Verbessern durch Benchmarking
682 @unnumberedsubsec Verbessern durch Benchmarking
683 @translationof Improvement by benchmarking
685 Die Ausgabe von LilyPond hat sich schrittweise mit der Zeit
686 verbessert, und sie verbessert sich weiter, indem sie immer wieder
687 mit handgestochenen Noten verglichen wird.
689 Hier als Beispiel eine Zeile eines Benchmark-Stückes aus einer
690 handgestochenen Notenedition (Bärenreiter BA320):
693 @sourceimage{baer-sarabande-hires,16cm,,}
696 @sourceimage{baer-sarabande,,,png}
700 und die gleiche Zeile als Satz einer sehr alten LilyPond-Version
701 (Version 1.4, Mai 2001):
704 @sourceimage{pdf/lily14-sarabande,16cm,,}
707 @sourceimage{lily14-sarabande,,,png}
711 Die Ausgabe von LilyPond 1.4 ist auf jeden Fall leserlich, aber
712 ein ausführlicher Vergleich mit der Vorlage zeigt viele Fehler in
713 den Formatierungsdetails:
716 @sourceimage{lily14-sarabande-annotated-hires,16cm,,}
719 @sourceimage{lily14-sarabande-annotated,,,png}
723 @item vor der Taktangabe ist nicht genug Platz
724 @item die Hälse der bebalkten Noten sind zu lang
725 @item der zweite und vierte Takt sind zu schmal
726 @item der Bogen sieht ungeschickt aus
727 @item das Triller-Symbol ist zu groß
728 @item die Hälse sind zu dünn
732 (Es gibt auch zwei fehlende Notenköpfe, verschiedene editorische
733 Anweisungen, die fehler und eine falsche Tonhöhe!)
735 Indem die Layoutregeln und das Design der Schriftarten angepasst
736 wurde, hat sich die Ausgabe sehr starkt verbessert. Vergleichen
737 Sie das gleiche Referenzbeispiel und die Ausgabe der aktuellen
738 LilyPond-Version (@version{}):
741 @sourceimage{baer-sarabande-hires,16cm,,}
744 @sourceimage{baer-sarabande,,,png}
747 @lilypond[staffsize=17.5,line-width=15.9\cm]
752 \mergeDifferentlyDottedOn
753 << {\slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e)}
757 <f' a, d,>4. e8( d c)
759 bes g' f e16( f g_1 a_2 bes_3 d,_2)
761 cis4.-\trill b8_3( a g)
762 << {\slurDashed d'8.( e16) e4.-\trill( d16 e)}
769 Die jetzige Ausgabe ist kein Klon der Referenzedition, aber sie ist
770 sehr viel näher an einer Publikationsqualität.
773 @node Alles richtig machen
774 @unnumberedsubsec Alles richtig machen
775 @translationof Getting things right
777 Wir können auch die Fähigkeiten von LilyPond, Notensatzentscheidungen
778 alleine zu fällen, messen, indem wir die Ausgabe von LilyPond mit
779 der Ausgabe eines kommerziellen Notensatzprogramms vergleichen.
780 In diesem Fall haben wir Finale 2008 genommen, eines der beliebtesten
781 Notensatzprogramme, insbesondere in Nordamerika. Sibelius ist
782 Finales hauptsächlicher Gegenspieler, offensichtlich vor allem in
785 Für unseren Vergleich haben wir uns für die Fuge in G-Moll aus
786 dem Wohltemperierten Clavier 1, BWV 861 von J. S. Bach entschieden,
794 r8 a16 bes c8 bes16 a bes8
799 In unserem Vergleich setzten wir die letzten sieben Takte des
800 Stückes (28--34) in Finale und LilyPond. Das ist der Punkt, an
801 der das Thema als dreistimmige Engführung in den Schlussabschnitt
802 überleitet. In der Finale-Version haben wir der Versuchung
803 widerstanden, jedwede Anpassungen abweichend vom Standard vorzunehmen,
804 weil wir zeigen wollen, welche Dinge von den beiden Programmen
805 ohne Hilfeleistung richtig gemacht werden. Die einzigen hauptsächlichen
806 Änderungen, die wir vorgenommen haben, war die Anpassung der
807 Seitengröße an die Seitengröße dieses Aufsatzes und die Begrenzung
808 der Noten auf zwei Systeme, um den Vergleich einfacher zu machen.
809 In der Standardeinstellung Finale hätte zwei Zeilen mit je drei
810 Takten und schließlich eine letzte Zeile gesetzt, die nur einen einzigen
813 Viele der Unterschiede zwischen den beiden Sätzen finden sich
814 in den Takten 28--29, hier zuerst in Finales Version, dann in der
815 Version von LilyPond:
818 @sourceimage{pdf/bwv861mm28-29,14cm,,}
821 @sourceimage{bwv861mm28-29,,,png}
824 @lilypond[staffsize=19.5,line-width=14\cm]
825 global = {\key g \minor}
827 partI = \relative c' {
829 fis8 d' ees g, fis4 g
830 r8 a16 bes c8 bes16 a d8 r r4
833 partII = \relative c' {
835 d4 r4 r8 d'16 c bes8 c16 d
838 partIII = \relative c' {
840 r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
842 partIV = \relative c {
850 % \set Score.barNumberVisibility = #all-bar-numbers-visible
852 \set Score.currentBarNumber = #28
857 \new Voice = "voiceI" { \partI }
858 \new Voice = "voiceII" { \partII }
864 \new Voice = "voiceIII" { \partIII }
865 \new Voice = "voiceIV" { \partIV }
872 \remove "Time_signature_engraver"
876 \override StaffGrouper #'between-staff-spacing #'padding = #1
882 Einige der Mängel des nicht editierten Finale-Satzes beinhalten:
885 @item Die meisten Balken sind zu weit vom Notensystem entfernt.
886 Ein Balken, der zum Zentrum des Systems zeigt, sollte etwa die
887 Länge einer Oktave haben, aber Notensetzer verkürzen die Länge,
888 wenn der Balken in polyphonen Situationen aus dem System
889 herauszeigt. Die Bebalkung von Finale kann einfach mit ihrem
890 Patterson Beams-Plugin verbessert werden, aber wir haben diesen
891 Schritt für dieses Beispiel ausgelassen.
892 @item Finale passt die Position von ineinander greifenden Notenköpfen
893 nicht an, sodass die Noten sehr schwer lesbar werden, wenn
894 die untere und obere Stimme zeitweise ausgetauscht werden:
897 collide = \once \override NoteColumn #'force-hshift = #0
899 \new Voice = "sample" \relative c''{
902 {\voiceOne g4 \collide g4}
903 \new Voice {\voiceTwo bes \collide bes}
906 \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
910 @item Finale positioniert alle Pausen an einer festen Position auf
911 dem System. Der Benutzer kann sie anpassen, wie er es richtig
912 findet, aber das Programm unternimmt keinen Versuch, den Inhalt
913 der anderen Stimme mit einzubeziehen. Durch einen Glücksfall
914 kommen keine wirklichen Kollisionen zwischen Noten und Pausen
915 in diesem Beispiel vor, aber das liegt mehr an der Position der
916 Noten als an der der Pausen. Anders gesagt: Bach verdient mehr
917 Aufmerksamkeit um vollständige Kollisionen zu vermeiden als
922 Dieses Beispiel soll nicht suggerieren, dass man mit Finale nicht
923 Notensatz in Publikationsqualität erstellen könnte. Das Programm ist dazu fähig,
924 wenn ein erfahrener Benutzer genug Zeit und Fähigkeit mitbringt.
925 Einer der fundamentalen Unterschiede zwischen LilyPond und kommerziellen
926 Notensatzprogrammen ist, dass LilyPond versucht, den Aufwand an
927 menschlicher Intervention auf ein absolutes Minimum zu reduzieren,
928 während andere Programme versuchen, ein attraktives Programmfenster
929 zu bieten, in dem die Anpassungen vorgenommen werden können.
932 Einen besonders hervorstechenden Mangel von Finale
933 ist ein fehlendes b-Vorzeichen in Takt 33:
937 @sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,}
940 @sourceimage{bwv861mm33-34-annotate,,,png}
945 Das b-Symbol wird benötigt, um das Auflösungzeichen im selben
946 Takt rückgängig zu machen, aber Finale lässt es aus, weil es in
947 einer anderen Stimme vorkommt. Der Benutzer muss nicht nur daran
948 denken, ein Balken-Plugin zu starten und die Notenköpfe und Pausen
949 neu anzuordnen, er muss auch jeden Takt prüfen, ob Versetzungszeichen
950 aus anderen Stimmen korrigiert werden müssen, damit nicht ein
951 Notensatzfehler die Probe unnötig unterbricht.
953 Wenn Sie diese Beispiel noch detaillierter betrachten wollen,
954 können Sie den vollen siebentaktigen Ausschnitt am Ende dieses
955 Aufsatzes als Notensatz von Finale und LilyPond sowie in vier
956 publizierten Editionen finden. Nähere Betrachtung zeigt, dass
957 es einige akzeptable Variationen zwischen den handgestochenen
958 Beispielen gibt, dass LilyPond aber ziemlich guten Notensatz
959 im Rahmen dieser Variationen produziert. Auch die LilyPond-Ausgabe
960 hat noch ihre Fehler: sie ist beispielsweise etwas zu aggressiv
961 bei der Verkürzung einiger Hälse -- hier ist also noch Raum für
962 weitere Entwicklung und Feineinstellung.
964 Natürlich hängt Typographie vom menschlichen Urteil der Erscheinung
965 ab, sodass Menschen nicht vollständig ersetzt werden können. Viel
966 der eintönigen Arbeit kann jedoch automatisiert werden. Wenn
967 LilyPond die meisten üblichen Situationen richtig löst, ist das
968 schon eine große Verbesserung gegenüber existierender Software.
969 Im Laufe der Jahre wir das Programm immer besser und macht mehr
970 und mehr Sachen automatisch, sodass manuelles Eingreifen immer
971 seltener wird. Wo manuelle Anpassungen benötigt werden,
972 wurde die Struktur von LilyPond mit Flexibilität im Hinterkopf
976 @node Ein Programm bauen
977 @section Ein Programm bauen
978 @translationof Building software
980 Dieser Abschnitt beschreibt einige der Entscheidungen,
981 die wir während des Programierens für das Design von LilyPond
985 * Die Darstellung der Musik::
987 * Flexible Architektur::
990 @node Die Darstellung der Musik
991 @unnumberedsubsec Die Darstellung der Musik
992 @translationof Music representation
995 @cindex rekursive Strukturen
997 Idealerweise ist das Eingabeformat für ein komplexes Satzsystem die
998 abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die
999 Musik selber. Das stellt uns aber vor ein ziemlich großes Problem,
1000 denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf
1001 eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
1002 schreiben ein Programm, das den Notensatz beherrscht und machen das
1003 Format so einfach wie möglich. Wenn es nicht mehr vereinfacht
1004 werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser
1005 Format dient als die formale Definition eines Musiktextes.
1007 Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond,
1008 darum soll sie einfach zu schreiben sein; z. B. bedeutet
1017 dass eine Viertel c' und eine Achtel d' erstellt werden sollen,
1018 wie in diesem Beispiel:
1026 In kleinem Rahmen ist diese Syntax sehr einfach zu benutzen. In
1027 größeren Zusammenhängen aber brauchen wir Struktur. Wie sonst kann
1028 man große Opern oder Symphonien notieren? Diese Struktur wird
1029 gewährleistet durch sog. @emph{music expressions} (Musikausdrücke):
1030 indem kleine Teile zu größeren kombiniert werden, kann komplexere
1031 Musik dargestellt werden. So etwa hier:
1033 @lilypond[quote,verbatim,fragment,relative=1]
1038 Gleichzeitig erklingende Noten werden hinzugefügt, indem man alle in @code{<<} und @code{>>} einschließt.
1044 @lilypond[quote,fragment,relative=1]
1045 \new Voice { <<c4 d4 e>> }
1049 Um aufeinanderfolgende Noten darzustellen, werden sie in geschweifte Klammern gefasst:
1051 @code{@{@tie{}@dots{}@tie{}@}}
1054 @{ f4 <<c4 d4 e4>> @}
1057 @lilypond[quote,relative=1,fragment]
1062 Dieses Gebilde ist in sich wieder ein Ausdruck, und kann
1063 daher mit einem anderen Ausdruck kombiniert werden (hier mit einer Halben), wobei @code{<<}, @code{\\}, and @code{>>} eingesetzt wird:
1066 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
1069 @lilypond[quote,fragment,relative=2]
1070 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
1073 Solche geschachtelten Strukturen können sehr gut in einer
1074 kontextunabhängigen Grammatik beschrieben werden. Der Programmcode
1075 für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax
1076 von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
1078 Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer
1079 wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
1080 diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung
1081 haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond
1082 spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische
1083 Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel
1084 schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen:
1085 Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
1087 Während wir die Strukturen von LilyPond entwickelten, machten wir einige Entscheidungen, die sich von anderen Programmen unterscheiden.
1088 Nehmen wir etwa die hierarchische Natur der Musiknotation:
1090 @lilypond[quote,fragment]
1092 \new Staff \relative c'' {
1095 d4 g,8 a b c d4 g, g
1097 \new Staff \relative c' {
1105 In diesem Fall werden Tonhöhen in Akkorde gruppiert, die zu Takten
1106 gehören, welche wiederum zu Notensystemen gehören. Das erinnert an
1107 die saubere Struktur von geschachtelten Kästen:
1111 @sourceimage{pdf/nestedboxes,,4cm,}
1114 @sourceimage{nestedboxes,,,png}
1118 Leider ist die Struktur nur sauber, weil sie auf einige sehr beschränkte
1119 Annahmen basiert. Das wird offensichtlich, wenn man ein komplizierteres
1120 Beispiel heranzieht:
1126 \remove "Timing_translator"
1127 \remove "Default_bar_line_engraver"
1131 \consists "Timing_translator"
1132 \consists "Default_bar_line_engraver"
1137 \new Staff = "RH" <<
1138 \new Voice = "I" \relative c''' {
1141 \times 6/7 {g8 g g g g g g}
1143 r4 <b,, fis' g bes> r4\fermata
1145 \new Voice = "II" \relative c' {
1150 \change Staff = "LH" \oneVoice
1153 \override Stem #'cross-staff = ##t
1154 \override Stem #'length = #12
1158 \new Staff = "LH" <<
1159 \new Voice = "III" \relative c' {
1169 In diesem Beispiel beginnen Systeme plötzlich und enden plötzlich,
1170 Stimmen springen zwischen den Systemen herum und die Systeme haben
1171 unterschiedliche Taktarten. Viele Software-Pakte würden sehr damit
1172 zu kämpfen haben, dieses Beispiel darzustellen, weil sie nach dem
1173 Prinzip von geschachtelten Kästen aufgebaut sind. In LilyPond dagegen
1174 haben wir versucht, die Struktur und das Eingabeformat so flexibel wie
1175 möglich zu gestalten.
1178 @node Welche Symbole?
1179 @unnumberedsubsec Welche Symbole?
1180 @translationof What symbols to engrave?
1189 Während des Notensatzprozesses entscheidet sich, wo
1190 Symbole platziert werden. Das kann aber nur gelingen,
1191 wenn vorher entschieden wird, @emph{welche} Symbole
1192 gesetzt werden sollen, also welche Art von Notation benutzt
1195 Die heutige Notation ist ein System zur Musikaufzeichnung,
1196 das sich über die letzten 1000 Jahre entwickelt hat. Die
1197 Form, die heute üblicherweise benutzt wird, stammt aus der frühen
1198 Renaissance. Auch wenn sich die grundlegenden Formen (also
1199 die Notenköpfe, das Fünfliniensystem) nicht verändert haben,
1200 entwickeln sich die Details trotzdem immer noch weiter, um
1201 die Errungenschaften der Neuen Musik darstellen zu können. Die
1202 Notation umfasst also 500 Jahre Musikgeschichte. Ihre Anwendung
1203 reicht von monophonen Melodien bis zu ungeheuer komplexem Kontrapunkt
1204 für großes Orchester.
1206 Wie bekommen wir dieses vielköpfige Monster zu fassen und in die
1207 Fesseln eines Computerprogrammes zu legen?
1208 Unsere Lösung ist es, das Problem in kleine (programmierbare) Happen zu zerteilen, so dass jede Art
1209 von Symbol durch ein eigenes Modul, als Plugin bezeichnet,
1210 verarbeitet werden kann. Jedes Plugin ist vollständig modular
1211 und unabhängig und kann unabhängig entwickelt und verbessert
1212 werden. Derartige Plugins werden @code{engraver} genannt,
1213 analog zu den Notenstechern (engl. engraver), die musikalische
1214 Ideen in graphische Symbole übersetzen.
1216 Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe,
1217 dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
1219 @lilypond[quote,ragged-right]
1220 \include "engraver-example.ily"
1227 \remove "Stem_engraver"
1228 \remove "Phrasing_slur_engraver"
1229 \remove "Slur_engraver"
1230 \remove "Script_engraver"
1231 \remove "Beam_engraver"
1232 \remove "Auto_beam_engraver"
1236 \remove "Accidental_engraver"
1237 \remove "Key_engraver"
1238 \remove "Clef_engraver"
1239 \remove "Bar_engraver"
1240 \remove "Time_signature_engraver"
1241 \remove "Staff_symbol_engraver"
1242 \consists "Pitch_squash_engraver"
1249 Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher})
1250 die Notenlinien hinzu.
1252 @lilypond[quote,ragged-right]
1253 \include "engraver-example.ily"
1260 \remove "Stem_engraver"
1261 \remove "Phrasing_slur_engraver"
1262 \remove "Slur_engraver"
1263 \remove "Script_engraver"
1264 \remove "Beam_engraver"
1265 \remove "Auto_beam_engraver"
1269 \remove "Accidental_engraver"
1270 \remove "Key_engraver"
1271 \remove "Clef_engraver"
1272 \remove "Bar_engraver"
1273 \consists "Pitch_squash_engraver"
1274 \remove "Time_signature_engraver"
1281 Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert
1282 eine Referenzstelle für das System.
1284 @lilypond[quote,ragged-right]
1285 \include "engraver-example.ily"
1292 \remove "Stem_engraver"
1293 \remove "Phrasing_slur_engraver"
1294 \remove "Slur_engraver"
1295 \remove "Script_engraver"
1296 \remove "Beam_engraver"
1297 \remove "Auto_beam_engraver"
1301 \remove "Accidental_engraver"
1302 \remove "Key_engraver"
1303 \remove "Bar_engraver"
1304 \remove "Time_signature_engraver"
1311 Der @code{Stem_engraver} (@qq{Halsstecher}) schließlich fügt
1314 @lilypond[quote,ragged-right]
1315 \include "engraver-example.ily"
1322 \remove "Phrasing_slur_engraver"
1323 \remove "Slur_engraver"
1324 \remove "Script_engraver"
1325 \remove "Beam_engraver"
1326 \remove "Auto_beam_engraver"
1330 \remove "Accidental_engraver"
1331 \remove "Key_engraver"
1332 \remove "Bar_engraver"
1333 \remove "Time_signature_engraver"
1340 Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt,
1341 der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei
1342 einem Akkord), wird ein Hals-Objekt erstellt und an den
1343 Kopf geheftet. Wenn wir dann noch Engraver für Balken, Bögen,
1344 Akzente, Versetzungszeichen, Taktstriche, Taktangaben und Tonartbezeichnungen
1345 hinzufügen, erhalten wir eine vollständige Notation.
1348 @lilypond[quote,ragged-right]
1349 \include "engraver-example.ily"
1350 \score { \topVoice }
1354 @cindex Mehrstimmigkeit
1355 @cindex Notensatz, Mehrstimmigkeit
1358 Dieses System funktioniert gut für monophone Musik, aber wie geht
1359 es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
1361 @lilypond[quote,ragged-right]
1362 \include "engraver-example.ily"
1363 \new Staff << \topVoice \\ \botVoice >>
1366 In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam,
1367 aber die Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme
1368 eigen. Die Engraver müssen also gruppiert werden. Die Köpfe,
1369 Hälse, Bögen usw. werden in einer Gruppe mit dem Namen @qq{Voice
1370 context} (Stimmenkontext) zusammengefasst, die Engraver für den
1371 Schlüssel, die Vorzeichen, Taktstriche usw. dagegen in einer
1372 Gruppe mit dem Namen @qq{Staff context} (Systemkontext). Im Falle
1373 von Polyphonie hat ein Staff-Kontext dann also mehr als nur einen
1374 Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
1375 in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
1376 Der Score-Kontext ist auf der höchsten Ebene der Kontexte.
1379 @lilypond[quote,ragged-right]
1380 \include "engraver-example.ily"
1383 \new Staff << \topVoice \\ \botVoice >>
1384 \new Staff << \pah \\ \hoom >>
1390 Referenz der Interna: @rinternals{Contexts}.
1393 @node Flexible Architektur
1394 @unnumberedsubsec Flexible Architektur
1395 @translationof Flexible architecture
1397 Als wir anfingen, haben wir LilyPond vollständig in der Programmiersprache C++
1398 geschrieben. Das hieß, dass der Funktionsumfang des Programms vollständig durch
1399 die Programmierer festgelegt war. Das stellte sich aus einer Reihe von Gründen
1400 als unzureichend heraus:
1403 @item Wenn LilyPond Fehler macht, muss der Benutzer die
1404 Einstellungen ändern können. Er muss also Zugang zur
1405 Formatierungsmaschinerie haben. Deshalb können die Regeln und
1406 Einstellungen nicht beim Kompilieren des Programms festgelegt
1407 werden, sondern sie müssen zugänglich sein, während das Programm
1410 @item Notensatz ist eine Frage des Augenmaßes, und damit auch vom
1411 Geschmack abhängig. Benutzer können mit unseren Entscheidungen
1412 unzufrieden sein. Darum müssen also auch die Definitionen des
1413 typographischen Stils dem Benutzer zugänglich sein.
1415 @item Schließlich verfeinern wir unseren Formatierungsalgorithmus
1416 immer weiter, also müssen die Regeln auch flexibel sein. Die
1417 Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode,
1418 die nicht den Regeln für den Notensatz entspricht.
1421 @cindex Scheme-Programmiersprache
1423 Diese Probleme wurden angegangen, indem ein Übersetzer für
1424 die Programmiersprache Scheme integriert wurde und Teile
1425 von LilyPond in Scheme neu geschrieben wurden. Die derzeitige
1426 Formatierungsarchitektur ist um die Notation von graphischen
1427 Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
1428 beschrieben werden. Diese Architektur umfasst Formatierungsregeln,
1429 typographische Stile und individuelle Formatierungsentscheidungen.
1430 Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.
1432 Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben
1433 viele graphische Objekte eine Richtungsvariable, die zwischen
1434 oben und unten (oder rechts und links) wählen kann. Hier etwa
1435 sind zwei Akkorde mit Akzenten und Arpeggien.
1436 Beim ersten Akkord sind alle Objekte nach unten (oder links)
1437 ausgerichtet, beim zweiten nach oben (rechts).
1439 @lilypond[quote,ragged-right]
1441 \override SpacingSpanner #'spacing-increment = #3
1442 \override TimeSignature #'transparent = ##t
1444 \stemDown <e g b>4_>-\arpeggio
1445 \override Arpeggio #'direction = #RIGHT
1446 \stemUp <e g b>4^>-\arpeggio
1450 @cindex Formatierung einer Partitur
1451 @cindex Partitur, Formatierung
1452 @cindex Formatierungsregeln
1455 Der Prozess des Notensetzens besteht für das Programm darin,
1456 die Variablen der graphischen Objekte zu lesen und zu
1457 schreiben. Einige Variablen haben festgelegte Werte. So
1458 ist etwa die Dicke von vielen Linien – ein Charakteristikum
1459 des typographischen Stils – von vornherein festgelegt.
1460 Wenn sie geändert werden, ergibt sich ein anderer typographischer Eindruck.
1462 @lilypond[quote,ragged-right]
1465 c'4-~ c'16 as g f e16 g bes c' des'4
1468 \new Staff \fragment
1470 \override Beam #'beam-thickness = #0.3
1471 \override Stem #'thickness = #0.5
1472 \override Bar #'thickness = #3.6
1473 \override Tie #'thickness = #2.2
1474 \override StaffSymbol #'thickness = #3.0
1475 \override Tie #'extra-offset = #'(0 . 0.3)
1481 Formatierungsregeln sind auch vorbelegte Variablen. Zu jedem Objekt gehören
1482 Variablen, die Prozeduren enthalten. Diese Prozeduren machen die eigentliche
1483 Satzarbeit aus, und wenn man sie durch andere ersetzt, kann die Darstellung
1484 von Objekten verändert werden. Im nächsten Beispiel wird die Regel, nach der
1485 die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.
1487 @lilypond[quote,ragged-right]
1488 #(set-global-staff-size 30)
1490 #(define (mc-squared grob orig current)
1491 (let* ((interfaces (ly:grob-interfaces grob))
1492 (pos (ly:grob-property grob 'staff-position)))
1493 (if (memq 'note-head-interface interfaces)
1495 (ly:grob-set-property! grob 'stencil
1496 (grob-interpret-markup grob
1497 (make-lower-markup 0.5
1501 ((-2) (make-smaller-markup (make-bold-markup "2")))
1502 (else "bla")))))))))
1504 \new Voice \relative c' {
1506 \set autoBeaming = ##f
1509 \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
1510 \once \override NoteHead #'font-size = #-7
1511 \once \override NoteHead #'font-family = #'sans
1512 \once \override NoteHead #'font-series = #'bold
1514 \once \override NoteHead #'style = #'cross
1516 \applyOutput #'Voice #mc-squared
1519 { d8[ es-( fis^^ g] fis2-) }
1520 \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
1526 @node LilyPond die Arbeit überlassen
1527 @section LilyPond die Arbeit überlassen
1528 @translationof Putting LilyPond to work
1544 @node Beispielanwendung
1545 @unnumberedsubsec Beispielanwendung
1546 @translationof Example applications
1548 @cindex einfaches Beispiel
1549 @cindex Beispiel, einfach
1551 Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des
1552 Musiksatzes in ein Computerprogramm gießen kann. Dieses
1553 Programm kann nun dank vieler harter Arbeitsstunden benutzt werden,
1554 um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der
1557 @lilypond[quote,relative=1]
1565 Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir
1568 @lilypond[quote,ragged-right]
1570 \chords { c2 c f2 c }
1576 \addlyrics { twin -- kle twin -- kle lit -- tle star }
1580 Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das
1581 nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
1583 @lilypond[quote,line-width=15.9\cm]
1585 title = "Screech and boink"
1586 subtitle = "Random complex notation"
1587 composer = "Han-Wen Nienhuys"
1591 \context PianoStaff <<
1596 \revert Stem #'direction
1597 \change Staff = down
1598 \set subdivideBeams = ##t
1602 \change Staff = down
1606 \change Staff = down
1610 \set followVoice = ##t
1611 c'''32([ b''16 a''16 gis''16 g''32)]
1613 s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
1615 s4 \autoBeamOff d''8.. f''32
1621 \new Staff = "down" {
1624 \set subdivideBeams = ##f
1625 \override Stem #'french-beaming = ##t
1626 \override Beam #'beam-thickness = #0.3
1627 \override Stem #'thickness = #4.0
1628 g'16[ b16 fis16 g16]
1634 \override Staff.Arpeggio #'arpeggio-direction =#down
1635 <cis, e, gis, b, cis>4\arpeggio
1642 tempoWholesPerMinute = #(ly:make-moment 60 8)
1648 \consists Horizontal_bracket_engraver
1654 Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht
1655 die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft,
1656 kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
1657 verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch
1658 in Notenbilder umgewandelt werden, die dann auf Internetseiten oder
1659 in Multimediapräsentation Anwendung finden.
1661 Dieser Aufsatz zeigt eine weitere Möglichkeit: Die Noten werden als
1662 reiner Text eingegeben und können darum sehr einfach integriert werden
1663 in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem
1664 Fall, Texinfo. Mithilfe des Programmes @command{lilypond-book},
1665 das in LilyPond inbegriffen ist, werden die Fragmente mit
1666 Notenbildern ersetzt und in die produzierte PDF- oder HTML-Datei
1667 eingefügt. Ein weiteres Beispiel ist die von LilyPond unabhängige
1668 Erweiterung OOoLilyPond für OpenOffice.org, mit der es sehr einfach
1669 ist, Musikbeispiele in Dokumente einzufügen.
1671 Zu mehr Beispielen, wie LilyPond sich in Aktion verhält, für vollständige
1672 Dokumentation und das Programm LilyPond besuchen Sie unsere
1673 Webseite: www.lilypond.org.
1677 @node Notensatzbeispiele (BWV 861)
1678 @section Notensatzbeispiele (BWV 861)
1679 @translationof Engraved examples (BWV 861)
1681 Dieser Abschnitt enthält vier Referenz-Notenstiche und zwei
1682 computergesetzte Versionen der Fuge G-Moll aus dem Wohltemperierten
1683 Clavier I (BWV 681) von J. S. Bach (die letzten sieben Takte).
1686 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1690 @sourceimage{bwv861-baer,16cm,,}
1693 @sourceimage{bwv861-baer-small,,,png}
1697 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1698 1989), eine alternative musikalische Quelle. Neben den
1699 musikalischen Unterschieden sind hier auch ein paar unterschiedliche
1700 Notensatzentscheidungen getroffen worden, sogar vom selben Herausgeber
1701 in der selben Edition:
1704 @sourceimage{bwv861-baer-alt,16cm,,}
1707 @sourceimage{bwv861-baer-alt-small,,,png}
1711 Breitkopf & Härtel, bearbeitet von Ferruccio Busoni (Wiesbaden, 1894),
1712 auch in der Petrucci Music Library (IMSLP #22081) erhältlich.
1713 Die editorischen Bezeichnungen (Fingersatz, Artikulation usw.)
1714 wurde entfernt, um bessere Vergleichbarkeit mit den anderen
1715 Editionen zu bieten:
1718 @sourceimage{bwv861-breitkopf,16cm,,}
1721 @sourceimage{bwv861-breitkopf-small,,,png}
1725 Bach-Gesellschaft Edition (Leipzig, 1866), erhältlich in der Petrucci
1726 Music Library (IMSPL #02221):
1729 @sourceimage{bwv861-gessellschaft,16cm,,}
1732 @sourceimage{bwv861-gessellschaft-small,,,png}
1739 @sourceimage{pdf/bwv861-finale2008a,,,}
1742 @sourceimage{bwv861-finale2008a,,,png}
1747 LilyPond, version @version{}:
1749 @lilypond[staffsize=14.3,line-width=15.9\cm]
1750 global = {\key g \minor}
1752 partI = \relative c' {
1754 fis8 d' ees g, fis4 g
1755 r8 a16 bes c8 bes16 a d8 r r4
1756 r2 r8 d16 ees f8 ees16 d
1757 ees4 ~ ees16 d c bes a4 r8 ees'16 d
1758 c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
1759 a8 d, g f ees d c bes
1760 a2 g\fermata \bar "|."
1763 partII = \relative c' {
1765 d4 r4 r8 d'16 c bes8 c16 d
1766 ees8 d c ees a, r r4
1767 r8 fis16 g a8 g16 fis g2 ~
1769 fis4 g r8 a16 bes c8 bes16 a
1770 bes4. <g b>8 <a c> r <d, g> r
1773 partIII = \relative c' {
1775 r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
1776 bes2 ~ bes8 b16 a g8 a16 b
1780 r8 a16 bes c8 bes16 a b2
1782 partIV = \relative c {
1786 d,8 d'16 c bes8 c16 d ees2 ~
1787 ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
1788 d,8 d'16 c bes8 c16 d ees8 c a fis'
1795 % \set Score.barNumberVisibility = #all-bar-numbers-visible
1797 \set Score.currentBarNumber = #28
1800 \new Staff = "RH" <<
1802 \new Voice = "voiceI" { \partI }
1803 \new Voice = "voiceII" { \partII }
1806 \new Staff = "LH" <<
1809 \new Voice = "voiceIII" { \partIII }
1810 \new Voice = "voiceIV" { \partIV }
1817 \remove "Time_signature_engraver"
1821 \override StaffGrouper #'between-staff-spacing #'padding = #1