1 @c -*- coding: utf-8; mode: texinfo; -*-
4 Translation of GIT committish: 88b16bead0a1fbd13c5ebae6f3acb6a042ef89f0
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 Abschnitt erklärt die Ziele und die Architektur von LilyPond.
23 * Die Geschichte von LilyPond::
24 * Details des Notensetzens::
25 * Automatisierter Notensatz::
27 * Die Darstellung der Musik::
33 @node Die Geschichte von LilyPond
34 @unnumberedsec Die Geschichte von LilyPond
35 @translationof The LilyPond story
37 Bevor LilyPond eine Gemeinschaft von Benutzern rund um die Welt
38 besaß, bevor es benutzt worden war um Noten für Kurse in der Uni
39 zu erstellen oder die Partituren von Opern, die ihre erste Premiere
40 erleben, bevor es einen Aufsatz über den Notensatz, Computercode
41 oder wenigstens ein organisiertes Entwicklerteam 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.
57 Bärenreiter BA 320, @copyright{}1950:
59 @sourceimage{baer-suite1-fullpage,,,png}
62 Henle Nr. 666, @copyright{}2000:
63 @sourceimage{henle-suite1-fullpage,,,png}
66 Die Noten sind identisch und stammen aus der ersten Solosuite für
67 Violoncello von J. S. Bach, aber ihre Erscheinung ist sehr
68 unterschiedlich, insbesondere wenn man sie ausdruckt und aus einigem
71 (Die PDF-Version dieses Handbuchs hat hochauflösende Abbildungen,
72 die sich zum Drucken eignen.)
74 Versuchen Sie, beide Beispiele zu lesen oder von ihnen zu spielen,
75 und Sie werden feststellen, dass der handgestochene Satz sich
76 angenehmer benutzen lässt. Er weist fließende Linien und Bewegung
77 auf und fühlt sich wie ein lebendes, atmendes Stück Musik an, während
78 die neuere Edition kalt und mechanisch erscheint.
80 Es ist schwer, sofort die Unterschiede zur neueren Edition auszumachen.
81 Alles sieht sauber und fein aus, möglicherweise sogar @qq{besser},
82 weil es eher komputerkonform und einheitlich wirkt. Das hat uns
83 tatsächlich für eine ganze Weile beschäftigt. Wir wollten die
84 Computernotation verbessern, aber wir mussten erst verstehen, was
85 eigentlich falsch mit ihr war.
87 Die Antwort findet sich in der präzisen, mathematischen Gleichheit
88 der neueren Edition. Suchen Sie die Taktstriche in der Mitte jeder
89 Zeiel: im handgestochenen Satz hat die Position dieser Taktstriche
90 sozusagen natürliche Variation, während die neuere Version sie
91 fast immer perfekt in die Mitte setzt. Das zeigen diese vereinfachten
92 Diagramme des Seitenlayouts vom handgestochenen (links) und
93 Computersatz (rechts):
97 @sourceimage{pdf/page-layout-comparison,,,}
100 @sourceimage{page-layout-comparison,,,png}
105 Im Computersatz sind sogar die einzelnen Notenköpfe vertikal
106 aneinander ausgerichtet, was dazu führt, dass die Melodie hinter
107 einem starren Gitter aus musikalischen Zeichen verschwindet.
109 Es gibt noch weitere Unterschiede: in der handgestochenen Version
110 sind die vertikalen Linien stärker, die Bögen liegen dichter an den
111 Notenköpfen und es gibt mehr Vielfalt in der Platzierung der
112 Balken. Auch wenn derartige Details als Haarspalterei erscheinen,
113 haben wir trotzdem als Ergebnis einen Satz, der einfacher zu lesen
114 ist. In der Computerausgabe ist jede Zeile fast identisch mit den
115 anderen und wenn der Musiker für einen Moment weg schaut, wird
116 er die Orientierung auf der Seite verlieren.
118 LilyPond wurde geschaffen, um die Probleme zu lösen, die wir in
119 existierenden Programmen gefunden haben und um schöne Noten zu
120 schaffen, die die besten handgestochenen Partituren imitieren.
121 Während unserer Arbeit an dem Programm haben wir sehr viel gelernt
122 über die Art und Weise wie ein gut gestochener Notensatz erstellt
123 wird. In diesem Aufsatz beschreiben wir einige der Aspekte, die
124 wir versucht haben, mit LilyPond nachzuahmen.
129 Bärenreiter BA 320, @copyright{}1950:
131 @sourceimage{baer-suite1-fullpage,16cm,,}
134 Henle no. 666, @copyright{}2000:
136 @sourceimage{henle-suite1-fullpage,16cm,,}
141 @node Details des Notensetzens
142 @unnumberedsec 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
192 @c Heutzutage wird fast alle gedruckte Musik von Computern erstellt. Das
193 @c hat einige deutliche Vorteile: Drucke sind billiger als die gravierten
194 @c Platten und der Computersatz kann per E-Mail verschickt werden. Leider
195 @c hat der intensive Einsatz des Computers die graphische Qualität
196 @c des Notensatzes vermindert. Mit dem Computer erstellte Noten sehen
197 @c langweilig und mechanisch aus, was es erschwert, von ihnen zu spielen.
200 * Notenschriftarten::
201 * Optischer Ausgleich::
204 * Warum der große Aufwand?::
207 @node Notenschriftarten
208 @unnumberedsubsec Notenschriftarten
209 @translationof Music fonts
211 Die Abbildung unten illustriert den Unterschied zwischen
212 traditionellem Notensatz und einem typischen Computersatz.
213 Das linke Bild zeigt ein eingescanntes b-Vorzeichen
214 einer handgestochenen Bärenreiter-Edition, das rechte Bild
215 hingegen ein Symbol aus einer 2000 herausgegebenen Edition
216 der selben Noten. Obwohl beide Bilder mit der gleichen
217 Tintenfarbe gedruckt sind, wird die frühere Version dunkler: die
218 Notenlinien sind dicker und das Bärenreiter-b hat ein rundliches,
219 beihnahe sinnliches Aussehen. Der rechte Scan hingegen hat
220 dünnere Linien und eine gerade Form mit scharfen Ecken und Kanten.
222 @multitable @columnfractions .25 .25 .25 .25
226 @sourceimage{baer-flat-gray,,4cm,}
229 @sourceimage{baer-flat-gray,,,png}
234 @sourceimage{henle-flat-gray,,4cm,}
237 @sourceimage{henle-flat-gray,,,png}
242 @sourceimage{henle-flat-bw,,,png}
243 @sourceimage{baer-flat-bw,,,png}
244 @sourceimage{lily-flat-bw,,,png}
261 Als wir uns entschlossen hatten, ein Programm zu schreiben, das
262 die Typographie des Notensatzes beherrscht, gab es keine freien
263 Musikschriftarten, die unserem geplanten eleganten Notenbild passen
264 würden. Unbeirrt schufen wir eine Schriftart und dazu einen
265 Coputerfont mit den musikalischen Symbolen, wobei wir uns an den
266 schönen Musikdrucken der handgestochenen Noten orientierten. Ohne
267 diese Erfahrung hätten wir nie verstanden, wie hässlich die
268 Schriftarten waren, die wir zuerst bewunderten.
270 Unten ein Beispiel zweier Notenschriftarten. Das obere Beispiel ist der
271 Standard im Sibelius-Programm (die @emph{Opus}-Schriftart), das
272 untere unsere eigene LilyPond-Schriftart.
276 @sourceimage{pdf/OpusAndFeta,,,}
279 @sourceimage{OpusAndFeta,,,png}
283 Die LilyPond-Symbole sind schwerer und ihre Dicke ist durchgängiger,
284 wodurch sie einfacher zu lesen sind. Feine Enden, wie etwa die
285 Seiten der Viertelpause, sollten nicht als scharfe Spitzen enden,
286 sondern etwas abgerundet. Das liegt daran, dass scharfe Enden
287 der Stempel sehr fragil sind und sich schnell durch die Verwendung
288 abnutzen. Zusammengefasst muss die Schärze der Schriftart sehr
289 vorsichtig mit der Schwärze von Notenlinien, Balken und Bögen
290 abgeglichen werden, um ein starkes, aber doch ausgewogenes Gesamtbild
293 Einige weitere Besonderheiten: der Notenkopf der Halben ist nicht
294 elliptisch, sondern etwas rautenförmig. Der vertikale Hals des
295 b-Symbols ist schwach keilförmig nach oben hin. Das Kreuz und das
296 Auflösungszeichen sind einfacher aus der Entfernung zu unterscheiden,
297 weil ihre schrägen Linien eine andere Neigung haben und die vertikalen
300 @node Optischer Ausgleich
301 @unnumberedsubsec Optischer Ausgleich
302 @translationof Optical spacing
304 Die Aufteilung der Noten in der Horizontalen sollte die Dauer der
305 jeweiligen Note widerspiegeln. Wie wir jedoch im Beispiel der
306 Bach-Suite oben sehen konnten, orientieren sich viele moderne
307 Partituren an den Dauern mit mathematischer Präzision, was zu
308 schlechten Ergebnissen führt. Im nächsten Beispiel ist ein Motiv
309 zweimal dargestellt: das erste Mal mit exakter mathematischer
310 Aufteilung, das zweite Mal mit Korrekturen. Welches Beispiel
313 @cindex Optischer Ausgleich
334 \override NoteSpacing #'stem-spacing-correction = #0.0
335 \override NoteSpacing #'same-direction-correction = #0.0
336 \override StaffSpacing #'stem-spacing-correction = #0.0
362 \override NoteSpacing #'stem-spacing-correction = #0.6
368 @cindex normale Rhythmen
369 @cindex normale Abstände
370 @cindex Abstände, normal
371 @cindex Rhythmen, normal
373 In jedem Takt in diesem Ausschnitt kommen Noten vor, die in einem
374 gleichmäßigen Rhythmus gespielt werden. Die Abstände sollten das
375 widerspiegeln. Leider lässt uns aber das Auge im Stich: es beachtet
376 nicht nur den Abstand von aufeinander folgenden Notenköpfen, sondern
377 auch den ihrer Hälse. Also müssen Noten, deren Hälse in direkter
378 Folge zuerst nach oben und dann nach unten ausgerichtet sind, weiter
379 auseinander gezogen werden, während die unten/oben-Folge engere
380 Abstände fordert, und das alles auch noch in Abhängigkeit von der
381 vertikalen Position der Noten. Das untere Beispiel ist mit dieser
382 Korrektur gesetzt. Im oberen Beispiel hingegen bilden sich
383 für das Auge bei unten/oben-Folgen Notenklumpen. Ein Notenstechermeister
384 hätte die Notenaufteilung angepasst, sodass die angenehm zu lesen ist.
386 Ein weiteres Beispiel optischen Ausgleichs ist das visualle Zusammenspiel
387 von Hälsen und Taktstrichen. Wenn eine Noten mit Hals nach oben
388 vor einem Taktstrich kommt, braucht man etwas mehr Platz, damit
389 sich die Aufteilung nicht zu dicht anfühlt:
398 c''8 c'' c'' c'' c'' c'' c'' c'' \break
399 a' a' a' a' a' a' a' a'
404 \remove "Time_signature_engraver"
405 \override NoteSpacing #'stem-spacing-correction = #0.7
409 \remove "Bar_number_engraver"
416 @unnumberedsubsec Hilfslinien
417 @translationof Ledger lines
420 @cindex Zusammenstöße
422 Hilfslinien stellen eine typographische Herausforderung dar: sie
423 machen es schwerer, die Notensymbole dicht anzuordnen und sie müssen
424 klar genug sein, dass sich die Tonhöhe mit einem schnellen Blick
425 erkennen lässt. Im Beispeil unten können wir sehen, dass
426 Hilfslinien dicker als normale Notenlinien sein sollten und dass
427 ein gelernter Notenstecher eine Hilfslinie verkürzt, um dichteres
428 Platzzieren von Versetzungszeichen zu erlauben. Wir haben diese
429 Eigenschaft in den Notensatz von LilyPond eingebaut.
431 @multitable @columnfractions .25 .25 .25 .25
435 @sourceimage{baer-ledger,3cm,,}
438 @sourceimage{baer-ledger,,,png}
444 @sourceimage{lily-ledger,3cm,,}
447 @sourceimage{lily-ledger,,,png}
453 @node Optische Größen
454 @unnumberedsubsec Optische Größen
455 @translationof Optical sizing
457 Noten werden in verschiedenen Größen gedruckt. Ursprünglich hatte
458 man hierzu Stempel in verschiedenen Größen, was gleichzeitig heißt,
459 dass jeder Stempel so beschaffen war, dass er für seine Größe ein
460 ideales Abbild erzeugte. Mit den digitalen Fonts kann ein einziger
461 Umriss mathematisch skaliert werden, um eine beliebige Größe zu
462 erzeugen, was sehr viele Vorteile hat. In kleinen Größen erscheinen
463 die Symbole jedoch zu dünn.
465 Für LilyPond haben wir Schriftarten mit einer Reihe von Dicken
466 erstellt, die jeweils einer Notengröße entsprechen. Hier ein
467 LilyPond-Notensatz mit der Systemgröße 26:
471 @sourceimage{pdf/size26,,23mm,}
474 @sourceimage{size26,,,png}
479 und hier die gleichen Noten mit Systemgröße 11, anschließend um 236%
480 vergrößert, damit das Bild in exakt der gleichen Größe wie das
485 @sourceimage{pdf/size11,,23mm,}
488 @sourceimage{size11,,,png}
493 Bei kleineren Größen benutzt LilyPond proportional dickere
494 Notenlinien, sodass das Notenbild immernoch gut zu lesen ist.
497 Dadurch können auch Notensysteme unterschiedlicher Größe
498 friedlich nebeneinander auf der gleichen Seite erscheinen:
500 @c TODO: are the stems in this example the right thickness? How should
501 @c line weights be scaled for small staves?
503 @c Grieg's Violin Sonata Op. 45
504 @lilypond[indent=1.5cm]
513 \override StaffSymbol #'staff-space = #(magstep -4)
514 \override StaffSymbol #'thickness = #(magstep -3)
518 \set Staff.instrumentName = #"Violin"
519 c8.(\f^> b16 c d) ees8.(^> d16 c b)
520 g8.(^> b16 c ees) g8-.^> r r
524 \set PianoStaff.instrumentName = #"Piano"
525 \new Staff \relative c' {
528 s4. s8 r8 r16 <c f aes c>
529 <c f aes c>4.^> <c ees g>8 r r
531 \new Staff \relative c {
535 \once \override DynamicText #'X-offset = #-3
537 <ees g c>4.~ <ees g c>8
540 <c g c,>4.~ <c g c,>8
542 r8 r16 <f, c' aes'>16
543 <f c' aes'>4.-> <c' g'>8 r r
551 @node Warum der große Aufwand?
552 @unnumberedsubsec Warum der große Aufwand?
553 @translationof Why work so hard?
555 Musiker sind üblicherweise zu sehr damit beschäftigt, die Musik aufzuführen,
556 als dass sie das Aussehen der Noten studieren könnten; darum mag diese
557 Beschäftigung mit typographischen Details akademisch wirken.
558 Das ist sie aber nicht. Notenmaterial ist Aufführungsmaterial:
559 alles muss unternommen werden, damit der Musiker die Aufführung
560 besser bewältigt, und alles, das unklar oder unangenehm ist,
563 Der dichtere Eindruck, den die dickeren Notenlinien und schwereren
564 Notationssymbole schaffen, eignet sich besser für Noten,
565 die weit vom Leser entfernt stehen, etwa auf einem Notenständer.
566 Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die
567 Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen.
568 Dadurch werden unnötige Seitenumbrüche vermieden, so dass man
569 nicht so oft blättern muss.
571 Dies sind die Anforderungen der Typographie: Das Layout sollte
572 schön sein -- nicht nur aus Selbstzweck, sondern vor allem um dem
573 Leser zu helfen. Für Aufführungsmaterial ist das umso wichtiger,
574 denn Musiker haben eine begrenzte Aufnahmefähigkeit. Je weniger
575 Mühe nötig ist, die Noten zu erfassen, desto mehr Zeit bleibt für
576 die Gestaltung der eigentlichen Musik. Das heißt: Gute
577 Typographie führt zu besseren Aufführungen!
579 Die Beispiele haben gezeigt, dass der Notensatz eine subtile und
580 komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung
581 erlangt werden können, die Musiker normalerweise nicht haben.
582 LilyPond stellt unser Bemühen dar, die graphische Qualität
583 handgestochener Notenseiten ins Computer-Zeitalter zu transportieren
584 und sie für normale Musiker erreichbar zu machen. Wir haben
585 unsere Algorithmen, die Gestalt der Symbole und die Programm-Einstellungen
586 darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität
587 der alten Editionen entspricht, die wir so gerne betrachten
588 und aus denen wir gerne spielen.
592 @node Automatisierter Notensatz
593 @unnumberedsubsec Automatisierter Notensatz
594 @translationof Automated engraving
596 @cindex Notensatz, automatisch
597 @cindex automatischer Notensatz
599 Dieser Abschnitt beschreibt, was benötigt wird um ein Programm zu
600 schreiben, welches das Layout von gestochenen Noten nachahmen kann:
601 eine Methode, dem Computer gute Layouts zu erklären, detailliertes
602 Vergleichen mit echten Notendrucken und genug Flexibilität, um mit
603 den vielen Herausforderungen fertig zu werden, die der Notensatz
607 * Schönheitswettbewerb::
608 * Verbessern durch Benchmarking::
609 * Alles richtig machen::
610 * Flexible Architektur::
613 @node Schönheitswettbewerb
614 @unnumberedsubsec Schönheitswettbewerb
615 @translationof Beauty contests
617 Wie sollen wir also jetzt die Typographie anwenden?
618 Anders gesagt: welcher von den drei Konfigurationen sollte für
619 den folgenden Bogen ausgewählt werden?
624 \once \override Slur #'positions = #'(1.5 . 1)
625 e8[( f] g[ a b d,)] r4
626 \once \override Slur #'positions = #'(2 . 3)
627 e8[( f] g[ a b d,)] r4
628 e8[( f] g[ a b d,)] r4
632 Es gibt wenige Bücher über die Kunst des Notensatzes. Leider
633 haben sie nur Daumenregeln und einige Beispiele zu bieten. Solche
634 Regeln können sehr informativ sein, aber sie sind weit entfernt
635 von einem Algorithmus, den wir in unser Programm einbauen könnten.
636 Indem man die Anweisungen der Literatur anwendet, kommt man zu
637 Algorithmen mit sehr vielen manuellen Ausnahmen. Alle die möglichen
638 Fälle zu analysieren stellt sehr viel Arbeit dar und meistens
639 werden dennoch nicht alle Fälle vollständig abgedeckt:
643 @sourceimage{ross-beam-scan,7cm,,}
646 @sourceimage{ross-beam-scan,,,.jpg}
650 (Bildquelle: Ted Ross, @emph{The Art of Music Engraving})
652 Anstatt zu versuchen, für jedes mögliche Szenario eine passende
653 Layoutregel zu definieren, müssen wir nur die Regeln genau genug
654 beschreiben, sodass LilyPond die Gefälligkeit von mehreren
655 Alternativen selber einschätzen kann. Dann errechnen wir für jede
656 mögliche Konfiguration eine Hässlichkeits-Rangliste und wir wählen
657 die Konfiguration aus, die am wenigsten hässlich ist.
659 Zum Beispiel hier drei mögliche Konfiguration eines Legatobogens,
660 und LilyPond hat jeder Konfiguration @qq{Hässlichkeitspunkte}
661 verliehen. Das erste Beispiel erhält 15.39 Punkte, weil eine der
662 Noten angeschnitten wird:
667 \once \override Slur #'positions = #'(1.5 . 1)
668 e8[(_"15.39" f] g[ a b d,)] r4
672 Das zweite Beispiel ist schöner, aber der Bogen beginnt weder noch
673 endet er an den Notenköpfen. Hier werden 1.71 Punkte auf der linken
674 und 9.37 Punkte auf der rechten Seite verliehen, plus weiteren
675 2 Punkten, weil der Bogen aufsteigt, während die Melodie absteigt.
676 Insgesamt also 13.08 Punkte:
681 \once \override Slur #'positions = #'(2 . 3)
682 e8[(_"13.08" f] g[ a b d,)] r4
686 Der letzte Bogen erhält 10.04 Punkte für die Lücke rechts und
687 2 Punkte für die Neigung nach oben, aber er ist die schönste
688 der drei Varianten, sodass LilyPond ihn auswählt:
693 e8[(_"12.04" f] g[ a b d,)] r4
697 Diese Technik ist sehr allgemein und wird benutzt, um optimale
698 Entscheidungen für Bögenkonfigurationen, Bindebögen und Punkten
699 in Akkorden, Zeilenumbrüche und Seitenumbrüche zu erhalten. Die
700 Ergebnisse dieser Entscheidungen können durch einen Vergleich mit
701 handgestochenen Noten eingeschätzt werden.
704 @node Verbessern durch Benchmarking
705 @unnumberedsubsec Verbessern durch Benchmarking
706 @translationof Improvement by benchmarking
708 Die Ausgabe von LilyPond hat sich schrittweise mit der Zeit
709 verbessert, und sie verbessert sich weiter, indem sie immer wieder
710 mit handgestochenen Noten verglichen wird.
712 Hier als Beispiel eine Zeile eines Benchmark-Stückes aus einer
713 handgestochenen Notenedition (Bärenreiter BA320):
716 @sourceimage{baer-sarabande-hires,16cm,,}
719 @sourceimage{baer-sarabande,,,png}
723 und die gleiche Zeile als Satz einer sehr alten LilyPond-Version
724 (Version 1.4, Mai 2001):
727 @sourceimage{pdf/lily14-sarabande,16cm,,}
730 @sourceimage{lily14-sarabande,,,png}
734 Die Ausgabe von LilyPond 1.4 ist auf jeden Fall leserlich, aber
735 ein ausführlicher Vergleich mit der Vorlage zeigt viele Fehler in
736 den Formatierungsdetails:
739 @sourceimage{lily14-sarabande-annotated-hires,16cm,,}
742 @sourceimage{lily14-sarabande-annotated,,,png}
746 @item vor der Taktangabe ist nicht genug Platz
747 @item die Hälse der bebalkten Noten sind zu lang
748 @item der zweite und vierte Takt sind zu schmal
749 @item der Bogen sieht ungeschickt aus
750 @item das Triller-Symbol ist zu groß
751 @item die Hälse sind zu dünn
755 (Es gibt auch zwei fehlende Notenköpfe, verschiedene editorische
756 Anweisungen, die fehler und eine falsche Tonhöhe!)
758 Indem die Layoutregeln und das Design der Schriftarten angepasst
759 wurde, hat sich die Ausgabe sehr starkt verbessert. Vergleichen
760 Sie das gleiche Referenzbeispiel und die Ausgabe der aktuellen
761 LilyPond-Version (@version{}):
764 @sourceimage{baer-sarabande-hires,16cm,,}
767 @sourceimage{baer-sarabande,,,png}
770 @lilypond[staffsize=17.5,line-width=15.9\cm]
775 \mergeDifferentlyDottedOn
776 << {\slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e)}
780 <f' a, d,>4. e8( d c)
782 bes g' f e16( f g_1 a_2 bes_3 d,_2)
784 cis4.-\trill b8_3( a g)
785 << {\slurDashed d'8.( e16) e4.-\trill( d16 e)}
792 Die jetzige Ausgabe ist kein Klon der Referenzedition, aber sie ist
793 sehr viel näher an einer Publikationsqualität.
796 @node Alles richtig machen
797 @unnumberedsubsec Alles richtig machen
798 @translationof Getting things right
800 Wir können auch die Fähigkeiten von LilyPond, Notensatzentscheidungen
801 alleine zu fällen, messen, indem wir die Ausgabe von LilyPond mit
802 der Ausgabe eines kommerziellen Notensatzprogramms vergleichen.
803 In diesem Fall haben wir Finale 2008 genommen, eines der beliebtesten
804 Notensatzprogramme, insbesondere in Nordamerika. Sibelius ist
805 Finales hauptsächlicher Gegenspieler, offensichtlich vor allem in
808 In unserem Vergleich haben wir uns für die Fuge in G-Moll aus
809 dem Wohltemperierten Clavier 1, BWV 861 von J. S. Bach entschieden,
817 r8 a16 bes c8 bes16 a bes8
822 In unserem Vergleich setzten wir die letzten sieben Takte des
823 Stückes (28--34) in Finale und LilyPond. Das ist der Punkt, an
824 der das Thema als dreistimmige Engführung in den Schlussabschnitt
825 überleitet. In der Finale-Version haben wir der Versuchung
826 widerstanden, jedwede Anpassungen abweichend vom Standard vorzunehemn,
827 weil wir zeigen wollen, welche Dinge von den beiden Programmen
828 ohne Hilfeleistung richtig gemacht werden.
830 Viele der Unterschiede zwischen den beiden Sätzen finden sich
831 in den Takten 28--29, hier zuerst in Finales Version, dann in der
832 Version von LilyPond:
835 @sourceimage{pdf/bwv861mm28-29,14cm,,}
838 @sourceimage{bwv861mm28-29,,,png}
841 @lilypond[staffsize=19.5,line-width=14\cm]
842 global = {\key g \minor}
844 partI = \relative c' {
846 fis8 d' ees g, fis4 g
847 r8 a16 bes c8 bes16 a d8 r r4
850 partII = \relative c' {
852 d4 r4 r8 d'16 c bes8 c16 d
855 partIII = \relative c' {
857 r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
859 partIV = \relative c {
867 % \set Score.barNumberVisibility = #all-bar-numbers-visible
869 \set Score.currentBarNumber = #28
874 \new Voice = "voiceI" { \partI }
875 \new Voice = "voiceII" { \partII }
881 \new Voice = "voiceIII" { \partIII }
882 \new Voice = "voiceIV" { \partIV }
889 \remove "Time_signature_engraver"
893 \override StaffGrouper #'between-staff-spacing #'padding = #1
899 Einige der Mängel des nicht editierten Finale-Satzes beinhalten:
902 @item Die meisten Balken sind zu weit vom Notensystem entfernt.
903 Ein Balken, der zum Zentrum des Systems zeigt, sollte etwa die
904 Länge einer Oktave haben, aber Notensetzer verkürzen die Länge,
905 wenn der Balken in polyphonen Situationen aus dem System
906 herauszeigt. Die Bebalkung von Finale kann einfach mit dem
907 Patterson Beams-Plugin verbessert werden, aber wir haben diesen
908 Schritt für dieses Beispiel ausgelassen.
909 @item Finale passt die Position von ineinander greifenden Notenköpfen
910 nicht an, sodass die Noten sehr schwer lesbar werden, wenn
911 die untere und obere Stimme zeitweise ausgetauscht werden:
914 collide = \once \override NoteColumn #'force-hshift = #0
916 \new Voice = "sample" \relative c''{
919 {\voiceOne g4 \collide g4}
920 \new Voice {\voiceTwo bes \collide bes}
923 \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
927 @item Finale positioniert alle Pausen an einer festen Position auf
928 dem System. Der Benutzer kann sie anpassen, wie er es richtig
929 findet, aber das Programm unternimmt keinen Versuch, den Inhalt
930 der anderen Stimme mit einzubeziehen. Durch einen Glücksfall
931 kommen keine wirklichen Kollisionen zwischen Noten und Pausen
932 in diesem Beispiel vor, aber das liegt mehr an der Position der
933 Noten als an der der Pausen. Anders gesagt: Bach verdient mehr
934 Aufmerksamkeit um vollständige Kollisionen zu vermeiden als
939 Dieses Beispiel soll nicht suggerieren, dass man mit Finale nicht
940 schöne Ausgabe erstellen könnte. Das Programm ist dazu fähig,
941 wenn ein erfahrener Benutzer genug Zeit und Fähigkeit mitbringt.
942 Einer der fundamentalen Unterschiede zwischen LilyPond und kommerziellen
943 Notensatzprogrammen ist, dass LilyPond versucht, den Aufwand an
944 menschlicher Intervention auf ein absolutes Minimum zu reduzieren,
945 während andere Programme versuchen, ein attraktives Programmfenster
946 zu bieten, in dem die Anpassungen vorgenommen werden können.
949 Einen besonders hervorstechenden Mangel in dem Finale-Beispiel
950 ist ein fehlendes b-Vorzeichen in Takt 33:
954 @sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,}
957 @sourceimage{bwv861mm33-34-annotate,,,png}
962 Das b-Symbol wird benötigt, um das Auflösungzeichen im selben
963 Takt rückgängig zu machen, aber Finale lässt es aus, weil es in
964 einer anderen Stimme vorkommt. Der Benutzer muss nicht nur daran
965 denken, ein Balken-Plugin zu starten und die Notenköpfe und Pausen
966 neu anzuordnen, er muss auch jeden Takt prüfen, ob Versetzungszeichen
967 aus anderen Stimmen korrigiert werden müssen, damit nicht ein
968 Notensatzfehler die Probe unnötig unterbricht.
970 Wenn Sie diese Beispiel noch detaillierter betrachten wollen,
971 können Sie den vollen siebentaktigen Ausschnitt am Ende dieses
972 Aufsatzes als Notensatz von Finale und LilyPond sowie in vier
973 publizierten Editionen finden. Nähere Betrachtung zeigt, dass
974 es einige akzeptable Variationen zwischen den handgestochenen
975 Beispielen gibt. Auch die LilyPond-Ausgabe hat noch ihre
976 Fehler: sie ist beispielsweise etwas zu aggressiv bei der Verkürzung
977 einiger Hälse -- hier ist also noch Raum für weitere Entwicklung
980 Natürlich hängt Typographie vom menschlichen Urteil der Erscheinung
981 ab, sodass Menschen nicht vollständig ersetzt werden können. Viel
982 der eintönigen Arbeit kann jedoch automatisiert werden. Wenn
983 LilyPond die meisten üblichen Situationen richtig löst, ist das
984 schon eine große Verbesserung gegenüber existierender Software.
985 Im Laufe der Jahre wir das Programm immer besser und macht mehr
986 und mehr Sachen automatisch, sodass manuelles Eingreifen immer
987 seltener wird. Wo manuelle Anpassungen benötigt werden,
988 wurde die Struktur von LilyPond mit Flexibilität im Hinterkopf
992 @node Flexible Architektur
993 @unnumberedsubsec Flexible Architektur
994 @translationof Flexible architecture
996 Als wir anfingen, haben wir LilyPond vollständig in der Programmiersprache C++
997 geschrieben. Das hieß, dass der Funktionsumfang des Programms vollständig durch
998 die Programmierer festgelegt war. Das stellte sich aus einer Reihe von Gründen
999 als unzureichend heraus:
1002 @item Wenn LilyPond Fehler macht, muss der Benutzer die
1003 Einstellungen ändern können. Er muss also Zugang zur
1004 Formatierungsmaschinerie haben. Deshalb können die Regeln und
1005 Einstellungen nicht beim Kompilieren des Programms festgelegt
1006 werden, sondern sie müssen zugänglich sein, während das Programm
1009 @item Notensatz ist eine Frage des Augenmaßes, und damit auch vom
1010 Geschmack abhängig. Benutzer können mit unseren Entscheidungen
1011 unzufrieden sein. Darum müssen also auch die Definitionen des
1012 typographischen Stils dem Benutzer zugänglich sein.
1014 @item Schließlich verfeinern wir unseren Formatierungsalgorithmus
1015 immer weiter, also müssen die Regeln auch flexibel sein. Die
1016 Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode,
1017 die nicht den Regeln für den Notensatz entspricht.
1020 @cindex Scheme-Programmiersprache
1022 Diese Probleme wurden angegangen, indem ein Übersetzer für
1023 die Programmiersprache Scheme integriert wurde und Teile
1024 von LilyPond in Scheme neu geschrieben wurden. Die derzeitige
1025 Formatierungsarchitektur ist um die Notation von graphischen
1026 Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
1027 beschrieben werden. Diese Architektur umfasst Formatierungsregeln,
1028 typographische Stile und individuelle Formatierungsentscheidungen.
1029 Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.
1031 Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben
1032 viele graphische Objekte eine Richtungsvariable, die zwischen
1033 oben und unten (oder rechts und links) wählen kann. Hier etwa
1034 sind zwei Akkorde mit Akzenten und Arpeggien.
1035 Beim ersten Akkord sind alle Objekte nach unten (oder links)
1036 ausgerichtet, beim zweiten nach oben (rechts).
1038 @lilypond[quote,ragged-right]
1040 \override SpacingSpanner #'spacing-increment = #3
1041 \override TimeSignature #'transparent = ##t
1043 \stemDown <e g b>4_>-\arpeggio
1044 \override Arpeggio #'direction = #RIGHT
1045 \stemUp <e g b>4^>-\arpeggio
1049 @cindex Formatierung einer Partitur
1050 @cindex Partitur, Formatierung
1051 @cindex Formatierungsregeln
1054 Der Prozess des Notensetzens besteht für das Programm darin,
1055 die Variablen der graphischen Objekte zu lesen und zu
1056 schreiben. Einige Variablen haben festgelegte Werte. So
1057 ist etwa die Dicke von vielen Linien – ein Charakteristikum
1058 des typographischen Stils – von vornherein festgelegt.
1059 Wenn sie geändert werden, ergibt sich ein anderer typographischer Eindruck.
1061 @lilypond[quote,ragged-right]
1064 c'4-~ c'16 as g f e16 g bes c' des'4
1067 \new Staff \fragment
1069 \override Beam #'beam-thickness = #0.3
1070 \override Stem #'thickness = #0.5
1071 \override Bar #'thickness = #3.6
1072 \override Tie #'thickness = #2.2
1073 \override StaffSymbol #'thickness = #3.0
1074 \override Tie #'extra-offset = #'(0 . 0.3)
1080 Formatierungsregeln sind auch vorbelegte Variablen. Zu jedem Objekt gehören
1081 Variablen, die Prozeduren enthalten. Diese Prozeduren machen die eigentliche
1082 Satzarbeit aus, und wenn man sie durch andere ersetzt, kann die Darstellung
1083 von Objekten verändert werden. Im nächsten Beispiel wird die Regel, nach der
1084 die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.
1086 @lilypond[quote,ragged-right]
1087 #(set-global-staff-size 30)
1089 #(define (mc-squared grob orig current)
1090 (let* ((interfaces (ly:grob-interfaces grob))
1091 (pos (ly:grob-property grob 'staff-position)))
1092 (if (memq 'note-head-interface interfaces)
1094 (ly:grob-set-property! grob 'stencil
1095 (grob-interpret-markup grob
1096 (make-lower-markup 0.5
1100 ((-2) (make-smaller-markup (make-bold-markup "2")))
1101 (else "bla")))))))))
1103 \new Voice \relative c' {
1105 \set autoBeaming = ##f
1108 \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
1109 \once \override NoteHead #'font-size = #-7
1110 \once \override NoteHead #'font-family = #'sans
1111 \once \override NoteHead #'font-series = #'bold
1113 \once \override NoteHead #'style = #'cross
1115 \applyOutput #'Voice #mc-squared
1118 { d8[ es-( fis^^ g] fis2-) }
1119 \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
1126 @node Welche Symbole?
1127 @unnumberedsubsec Welche Symbole?
1128 @translationof What symbols to engrave?
1137 Während des Notensatzprozesses entscheidet sich, wo
1138 Symbole platziert werden. Das kann aber nur gelingen,
1139 wenn vorher entschieden wird, @emph{welche} Symbole
1140 gesetzt werden sollen, also welche Art von Notation benutzt
1143 Die heutige Notation ist ein System zur Musikaufzeichnung,
1144 das sich über die letzten 1000 Jahre entwickelt hat. Die
1145 Form, die heute üblicherweise benutzt wird, stammt aus der frühen
1146 Renaissance. Auch wenn sich die grundlegenden Formen (also
1147 die Notenköpfe, das Fünfliniensystem) nicht verändert haben,
1148 entwickeln sich die Details trotzdem immer noch weiter, um
1149 die Errungenschaften der Neuen Musik darstellen zu können. Die
1150 Notation umfasst also 500 Jahre Musikgeschichte. Ihre Anwendung
1151 reicht von monophonen Melodien bis zu ungeheuer komplexem Kontrapunkt
1152 für großes Orchester.
1154 Wie bekommen wir dieses vielköpfige Monster zu fassen und in die
1155 Fesseln eines Computerprogrammes zu legen?
1156 Unsere Lösung ist es, das Problem in kleine (programmierbare) Happen zu zerteilen, so dass jede Art
1157 von Symbol durch ein eigenes Modul, als Plugin bezeichnet,
1158 verarbeitet werden kann. Jedes Plugin ist vollständig modular
1159 und unabhängig und kann unabhängig entwickelt und verbessert
1160 werden. Derartige Plugins werden @code{engraver} genannt,
1161 analog zu den Notenstechern (engl. engraver), die musikalische
1162 Ideen in graphische Symbole übersetzen.
1164 Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe,
1165 dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
1167 @lilypond[quote,ragged-right]
1168 \include "engraver-example.ily"
1175 \remove "Stem_engraver"
1176 \remove "Phrasing_slur_engraver"
1177 \remove "Slur_engraver"
1178 \remove "Script_engraver"
1179 \remove "Beam_engraver"
1180 \remove "Auto_beam_engraver"
1184 \remove "Accidental_engraver"
1185 \remove "Key_engraver"
1186 \remove "Clef_engraver"
1187 \remove "Bar_engraver"
1188 \remove "Time_signature_engraver"
1189 \remove "Staff_symbol_engraver"
1190 \consists "Pitch_squash_engraver"
1197 Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher})
1198 die Notenlinien hinzu.
1200 @lilypond[quote,ragged-right]
1201 \include "engraver-example.ily"
1208 \remove "Stem_engraver"
1209 \remove "Phrasing_slur_engraver"
1210 \remove "Slur_engraver"
1211 \remove "Script_engraver"
1212 \remove "Beam_engraver"
1213 \remove "Auto_beam_engraver"
1217 \remove "Accidental_engraver"
1218 \remove "Key_engraver"
1219 \remove "Clef_engraver"
1220 \remove "Bar_engraver"
1221 \consists "Pitch_squash_engraver"
1222 \remove "Time_signature_engraver"
1229 Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert
1230 eine Referenzstelle für das System.
1232 @lilypond[quote,ragged-right]
1233 \include "engraver-example.ily"
1240 \remove "Stem_engraver"
1241 \remove "Phrasing_slur_engraver"
1242 \remove "Slur_engraver"
1243 \remove "Script_engraver"
1244 \remove "Beam_engraver"
1245 \remove "Auto_beam_engraver"
1249 \remove "Accidental_engraver"
1250 \remove "Key_engraver"
1251 \remove "Bar_engraver"
1252 \remove "Time_signature_engraver"
1259 Der @code{Stem_engraver} (@qq{Halsstecher}) schließlich fügt
1262 @lilypond[quote,ragged-right]
1263 \include "engraver-example.ily"
1270 \remove "Phrasing_slur_engraver"
1271 \remove "Slur_engraver"
1272 \remove "Script_engraver"
1273 \remove "Beam_engraver"
1274 \remove "Auto_beam_engraver"
1278 \remove "Accidental_engraver"
1279 \remove "Key_engraver"
1280 \remove "Bar_engraver"
1281 \remove "Time_signature_engraver"
1288 Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt,
1289 der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei
1290 einem Akkord), wird ein Hals-Objekt erstellt und an den
1291 Kopf geheftet. Wenn wir dann noch Engraver für Balken, Bögen,
1292 Akzente, Versetzungszeichen, Taktstriche, Taktangaben und Tonartbezeichnungen
1293 hinzufügen, erhalten wir eine vollständige Notation.
1296 @lilypond[quote,ragged-right]
1297 \include "engraver-example.ily"
1298 \score { \topVoice }
1302 @cindex Mehrstimmigkeit
1303 @cindex Notensatz, Mehrstimmigkeit
1306 Dieses System funktioniert gut für monophone Musik, aber wie geht
1307 es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
1309 @lilypond[quote,ragged-right]
1310 \include "engraver-example.ily"
1311 \new Staff << \topVoice \\ \botVoice >>
1314 In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam,
1315 aber die Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme
1316 eigen. Die Engraver müssen also gruppiert werden. Die Köpfe,
1317 Hälse, Bögen usw. werden in einer Gruppe mit dem Namen @qq{Voice
1318 context} (Stimmenkontext) zusammengefasst, die Engraver für den
1319 Schlüssel, die Vorzeichen, Taktstriche usw. dagegen in einer
1320 Gruppe mit dem Namen @qq{Staff context} (Systemkontext). Im Falle
1321 von Polyphonie hat ein Staff-Kontext dann also mehr als nur einen
1322 Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
1323 in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
1324 Der Score-Kontext ist auf der höchsten Ebene der Kontexte.
1328 Programmreferenz: @rinternals{Contexts}.
1331 @lilypond[quote,ragged-right]
1332 \include "engraver-example.ily"
1335 \new Staff << \topVoice \\ \botVoice >>
1336 \new Staff << \pah \\ \hoom >>
1342 @node Die Darstellung der Musik
1343 @unnumberedsubsec Die Darstellung der Musik
1344 @translationof Music representation
1347 @cindex rekursive Strukturen
1349 Idealerweise ist das Eingabeformat für ein komplexes Satzsystem die
1350 abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die
1351 Musik selber. Das stellt uns aber vor ein ziemlich großes Problem,
1352 denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf
1353 eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
1354 schreiben ein Programm, das den Notensatz beherrscht und machen das
1355 Format so einfach wie möglich. Wenn es nicht mehr vereinfacht
1356 werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser
1357 Format dient als die formale Definition eines Musiktextes.
1359 Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond,
1360 darum soll sie einfach zu schreiben sein; z. B. bedeutet
1369 dass eine Viertel c' und eine Achtel d' erstellt werden sollen,
1370 wie in diesem Beispiel:
1378 In kleinem Rahmen ist diese Syntax sehr einfach zu benutzen. In
1379 größeren Zusammenhängen aber brauchen wir Struktur. Wie sonst kann
1380 man große Opern oder Symphonien notieren? Diese Struktur wird
1381 gewährleistet durch sog. @emph{music expressions} (Musikausdrücke):
1382 indem kleine Teile zu größeren kombiniert werden, kann komplexere
1383 Musik dargestellt werden. So etwa hier:
1385 @lilypond[quote,verbatim,fragment,relative=1]
1390 Gleichzeitig erklingende Noten werden hinzugefügt, indem man alle in @code{<<} und @code{>>} einschließt.
1396 @lilypond[quote,fragment,relative=1]
1397 \new Voice { <<c4 d4 e>> }
1401 Um aufeinanderfolgende Noten darzustellen, werden sie in geschweifte Klammern gefasst:
1403 @code{@{@tie{}@dots{}@tie{}@}}
1406 @{ f4 <<c4 d4 e4>> @}
1409 @lilypond[quote,relative=1,fragment]
1414 Dieses Gebilde ist in sich wieder ein Ausdruck, und kann
1415 daher mit einem anderen Ausdruck kombiniert werden (hier mit einer Halben), wobei @code{<<}, @code{\\}, and @code{>>} eingesetzt wird:
1418 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
1421 @lilypond[quote,fragment,relative=2]
1422 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
1425 Solche geschachtelten Strukturen können sehr gut in einer
1426 kontextunabhängigen Grammatik beschrieben werden. Der Programmcode
1427 für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax
1428 von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
1430 Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer
1431 wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
1432 diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung
1433 haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond
1434 spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische
1435 Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel
1436 schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen:
1437 Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
1440 @node Beispielanwendung
1441 @unnumberedsubsec Beispielanwendung
1442 @translationof Example applications
1444 @cindex einfaches Beispiel
1445 @cindex Beispiel, einfach
1447 Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des
1448 Musiksatzes in ein Computerprogramm gießen kann. Dieses
1449 Programm kann nun dank vieler harter Arbeitsstunden benutzt werden,
1450 um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der
1453 @lilypond[quote,relative=1]
1461 Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir
1464 @lilypond[quote,ragged-right]
1466 \chords { c2 c f2 c }
1472 \addlyrics { twin -- kle twin -- kle lit -- tle star }
1476 Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das
1477 nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
1481 title = "Screech and boink"
1482 subtitle = "Random complex notation"
1483 composer = "Han-Wen Nienhuys"
1487 \context PianoStaff <<
1492 \revert Stem #'direction
1493 \change Staff = down
1494 \set subdivideBeams = ##t
1498 \change Staff = down
1502 \change Staff = down
1506 \set followVoice = ##t
1507 c'''32([ b''16 a''16 gis''16 g''32)]
1509 s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
1511 s4 \autoBeamOff d''8.. f''32
1517 \new Staff = "down" {
1520 \set subdivideBeams = ##f
1521 \override Stem #'french-beaming = ##t
1522 \override Beam #'beam-thickness = #0.3
1523 \override Stem #'thickness = #4.0
1524 g'16[ b16 fis16 g16]
1530 \override Staff.Arpeggio #'arpeggio-direction =#down
1531 <cis, e, gis, b, cis>4\arpeggio
1538 tempoWholesPerMinute = #(ly:make-moment 60 8)
1544 \consists Horizontal_bracket_engraver
1550 Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht
1551 die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft,
1552 kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
1553 verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch
1554 in Notenbilder umgewandelt werden, die dann auf Internetseiten oder
1555 in Multimediapräsentation Anwendung finden.
1557 Dieser Aufsatz zeigt eine weitere Möglichkeit: Die Noten werden als
1558 reiner Text eingegeben und können darum sehr einfach integriert werden
1559 in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem
1560 Fall, Texinfo. Durch ein spezielles Programm werden die Eingabefragmente durch
1561 Notenbilder in der resultierenden PDF- oder HTML-Datei ersetzt. Dadurch ist
1562 es sehr einfach, Noten und Text zu kombinieren.
1567 @unnumberedsec Anhang
1568 @translationof Appendix
1570 Dieser Anhang enthält vier Referenz-Notenstiche und zwei
1571 computergesetzte Versionen der Fuge G-Moll aus dem Wohltemperierten
1572 Clavier I (BWV 681) von J. S. Bach (die letzten sieben Takte).
1575 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1579 @sourceimage{bwv861-baer,16cm,,}
1582 @sourceimage{bwv861-baer-small,,,png}
1586 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1587 1989), eine alternative musikalische Quelle. Neben den
1588 musikalischen Unterschieden sind hier auch ein paar unterschiedliche
1589 Notensatzentscheidungen getroffen worden, sogar vom selben Herausgeber
1590 in der selben Edition:
1593 @sourceimage{bwv861-baer-alt,16cm,,}
1596 @sourceimage{bwv861-baer-alt-small,,,png}
1600 Breitkopf & Härtel, bearbeitet von Ferruccio Busoni (Wiesbaden, 1894),
1601 auch in der Petrucci Music Library (IMSLP #22081) erhältlich.
1602 Die editorischen Bezeichnungen (Fingersatz, Artikulation usw.)
1603 wurde entfernt, um bessere Vergleichbarkeit mit den anderen
1604 Editionen zu bieten:
1607 @sourceimage{bwv861-breitkopf,16cm,,}
1610 @sourceimage{bwv861-breitkopf-small,,,png}
1614 Bach-Gesellschaft Edition (Leipzig, 1866), erhältlich in der Petrucci
1615 Music Library (IMSPL #02221):
1618 @sourceimage{bwv861-gessellschaft,16cm,,}
1621 @sourceimage{bwv861-gessellschaft-small,,,png}
1628 @sourceimage{pdf/bwv861-finale2008a,,,}
1631 @sourceimage{bwv861-finale2008a,,,png}
1636 LilyPond, version @version{}:
1638 @lilypond[staffsize=14.3,line-width=15.9\cm]
1639 global = {\key g \minor}
1641 partI = \relative c' {
1643 fis8 d' ees g, fis4 g
1644 r8 a16 bes c8 bes16 a d8 r r4
1645 r2 r8 d16 ees f8 ees16 d
1646 ees4 ~ ees16 d c bes a4 r8 ees'16 d
1647 c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
1648 a8 d, g f ees d c bes
1649 a2 g\fermata \bar "|."
1652 partII = \relative c' {
1654 d4 r4 r8 d'16 c bes8 c16 d
1655 ees8 d c ees a, r r4
1656 r8 fis16 g a8 g16 fis g2 ~
1658 fis4 g r8 a16 bes c8 bes16 a
1659 bes4. <g b>8 <a c> r <d, g> r
1662 partIII = \relative c' {
1664 r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
1665 bes2 ~ bes8 b16 a g8 a16 b
1669 r8 a16 bes c8 bes16 a b2
1671 partIV = \relative c {
1675 d,8 d'16 c bes8 c16 d ees2 ~
1676 ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
1677 d,8 d'16 c bes8 c16 d ees8 c a fis'
1684 % \set Score.barNumberVisibility = #all-bar-numbers-visible
1686 \set Score.currentBarNumber = #28
1689 \new Staff = "RH" <<
1691 \new Voice = "voiceI" { \partI }
1692 \new Voice = "voiceII" { \partII }
1695 \new Staff = "LH" <<
1698 \new Voice = "voiceIII" { \partIII }
1699 \new Voice = "voiceIV" { \partIV }
1706 \remove "Time_signature_engraver"
1710 \override StaffGrouper #'between-staff-spacing #'padding = #1