@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.4"
+@c \version "2.19.2"
@c Translators: Till Paala
Die Noten sind identisch und stammen aus der ersten Solosuite für
Violoncello von J. S. Bach, aber ihre Erscheinung ist sehr
unterschiedlich, insbesondere wenn man sie ausdruckt und aus einigem
-Abstand betrachtet.
+Abstand betrachtet.
@ifnottex
(Die PDF-Version dieses Handbuchs hat hochauflösende Abbildungen,
die sich zum Drucken eignen.)
Es ist schwer, sofort die Unterschiede zur neueren Edition auszumachen.
Alles sieht sauber und fein aus, möglicherweise sogar @qq{besser},
-weil es eher komputerkonform und einheitlich wirkt. Das hat uns
+weil es eher computerkonform und einheitlich wirkt. Das hat uns
tatsächlich für eine ganze Weile beschäftigt. Wir wollten die
Computernotation verbessern, aber wir mussten erst verstehen, was
eigentlich falsch mit ihr war.
Die Antwort findet sich in der präzisen, mathematischen Gleichheit
der neueren Edition. Suchen Sie die Taktstriche in der Mitte jeder
-Zeiel: im handgestochenen Satz hat die Position dieser Taktstriche
+Zeile: im handgestochenen Satz hat die Position dieser Taktstriche
sozusagen natürliche Variation, während die neuere Version sie
fast immer perfekt in die Mitte setzt. Das zeigen diese vereinfachten
Diagramme des Seitenlayouts vom handgestochenen (links) und
@cindex Gravur, Notensatz
@cindex Plattendruck, Noten
-Die Kunst des Notensatzes wird auch als Notenstich bezeichnet. Dieser
+Die Kunst des Notensatzes wird auch als Notenstich bezeichnet. Dieser
Begriff stammt aus dem traditionellen Notendruck@footnote{Frühe
europäische Drucker versuchten sich an verschiedenen Techniken
wie handgeschnitzten Holzblöcken, beweglichen Lettern und
mit der Hand bis ins 20. Jahrhundert zum Standard für alle
gedruckten Noten, ausgenommen einige Hymnale und Liederbücher, wo
der Letterdruck durch seine Einfachheit und Kostenersparnis
-gerechtfertigt war.}. Noch bis vor etwa 20
-Jahren wurden Noten erstellt, indem man sie in eine Zink- oder Zinnplatte
+gerechtfertigt war.}. Noch bis vor etwa 20
+Jahren wurden Noten erstellt, indem man sie in eine Zink- oder Zinnplatte
schnitt oder mit Stempeln schlug. Diese Platte wurde dann mit Druckerschwärze
-versehen, so dass sie in den geschnittenen und gestempelten Vertiefungen
-blieb. Diese Vertiefungen schwärzten dann ein auf die Platte gelegtes
-Papier. Das Gravieren wurde vollständig von Hand erledigt. Es war darum
+versehen, so dass sie in den geschnittenen und gestempelten Vertiefungen
+blieb. Diese Vertiefungen schwärzten dann ein auf die Platte gelegtes
+Papier. Das Gravieren wurde vollständig von Hand erledigt. Es war darum
sehr mühsam, Korrekturen anzubringen, weshalb man von vornherein richtig
schneiden musste. Die Kunst des Notenstechens war eine sehr
spezialisierte Handwerkskunst, für die ein Handwerker etwa fünf
@end ifnottex
@end quotation
-LilyPond wurd von den handgestochenen traditionellen Noten
+LilyPond wurde von den handgestochenen traditionellen Noten
inspiriert, die in der ersten Hälfte des 20. Jahrhunderts von
europäischen Notenverlagen herausgegeben wurden (insbesondere
Bärenreiter, Duhem, Durand, Hofmeister, Peters und Scott). Sie
welche Aspekte des handgestochenen Notensatzes wir in LilyPond
imitieren wollten.
-@c Heutzutage wird fast alle gedruckte Musik von Computern erstellt. Das
+@c Heutzutage wird fast alle gedruckte Musik von Computern erstellt. Das
@c hat einige deutliche Vorteile: Drucke sind billiger als die gravierten
@c Platten und der Computersatz kann per E-Mail verschickt werden. Leider
@c hat der intensive Einsatz des Computers die graphische Qualität
-@c des Notensatzes vermindert. Mit dem Computer erstellte Noten sehen
+@c des Notensatzes vermindert. Mit dem Computer erstellte Noten sehen
@c langweilig und mechanisch aus, was es erschwert, von ihnen zu spielen.
@menu
-* Notenschriftarten::
-* Optischer Ausgleich::
-* Hilfslinien::
-* Optische Größen::
-* Warum der große Aufwand?::
+* Notenschriftarten::
+* Optischer Ausgleich::
+* Hilfslinien::
+* Optische Größen::
+* Warum der große Aufwand?::
@end menu
@node Notenschriftarten
@unnumberedsubsec Notenschriftarten
@translationof Music fonts
-Die Abbildung unten illustriert den Unterschied zwischen
+Die Abbildung unten illustriert den Unterschied zwischen
traditionellem Notensatz und einem typischen Computersatz.
Das linke Bild zeigt ein eingescanntes b-Vorzeichen
einer handgestochenen Bärenreiter-Edition, das rechte Bild
der selben Noten. Obwohl beide Bilder mit der gleichen
Tintenfarbe gedruckt sind, wird die frühere Version dunkler: die
Notenlinien sind dicker und das Bärenreiter-b hat ein rundliches,
-beihnahe sinnliches Aussehen. Der rechte Scan hingegen hat
+beinahe sinnliches Aussehen. Der rechte Scan hingegen hat
dünnere Linien und eine gerade Form mit scharfen Ecken und Kanten.
@multitable @columnfractions .25 .25 .25 .25
die Typographie des Notensatzes beherrscht, gab es keine freien
Musikschriftarten, die unserem geplanten eleganten Notenbild passen
würden. Unbeirrt schufen wir eine Schriftart und dazu einen
-Coputerfont mit den musikalischen Symbolen, wobei wir uns an den
+Computerfont mit den musikalischen Symbolen, wobei wir uns an den
schönen Musikdrucken der handgestochenen Noten orientierten. Ohne
diese Erfahrung hätten wir nie verstanden, wie hässlich die
Schriftarten waren, die wir zuerst bewunderten.
Seiten der Viertelpause, sollten nicht als scharfe Spitzen enden,
sondern etwas abgerundet. Das liegt daran, dass scharfe Enden
der Stempel sehr fragil sind und sich schnell durch die Verwendung
-abnutzen. Zusammengefasst muss die Schärze der Schriftart sehr
+abnutzen. Zusammengefasst muss die Schwärze der Schriftart sehr
vorsichtig mit der Schwärze von Notenlinien, Balken und Bögen
abgeglichen werden, um ein starkes, aber doch ausgewogenes Gesamtbild
zu ergeben.
}
music = {
- c'4 e''4 e'4 b'4 |
+ c'4 e''4 e'4 b'4
\stemDown
b'8[ e'' a' e'']
\stemNeutral
\layout {
\context {
\Staff
- \override NoteSpacing #'stem-spacing-correction = #0.0
- \override NoteSpacing #'same-direction-correction = #0.0
- \override StaffSpacing #'stem-spacing-correction = #0.0
+ \override NoteSpacing.stem-spacing-correction = #0.0
+ \override NoteSpacing.same-direction-correction = #0.0
+ \override StaffSpacing.stem-spacing-correction = #0.0
}
}
}
\layout {
\context {
\Staff
- \override NoteSpacing #'stem-spacing-correction = #0.6
+ \override NoteSpacing.stem-spacing-correction = #0.6
}
}
}
auch den ihrer Hälse. Also müssen Noten, deren Hälse in direkter
Folge zuerst nach oben und dann nach unten ausgerichtet sind, weiter
auseinander gezogen werden, während die unten/oben-Folge engere
-Abstände fordert, und das alles auch noch in Abhängigkeit von der
-vertikalen Position der Noten. Das untere Beispiel ist mit dieser
-Korrektur gesetzt. Im oberen Beispiel hingegen bilden sich
+Abstände fordert, und das alles auch noch in Abhängigkeit von der
+vertikalen Position der Noten. Das untere Beispiel ist mit dieser
+Korrektur gesetzt. Im oberen Beispiel hingegen bilden sich
für das Auge bei unten/oben-Folgen Notenklumpen. Ein Notenstechermeister
hätte die Notenaufteilung angepasst, sodass die angenehm zu lesen ist.
Hilfslinien stellen eine typographische Herausforderung dar: sie
machen es schwerer, die Notensymbole dicht anzuordnen und sie müssen
klar genug sein, dass sich die Tonhöhe mit einem schnellen Blick
-erkennen lässt. Im Beispeil unten können wir sehen, dass
+erkennen lässt. Im Beispiel unten können wir sehen, dass
Hilfslinien dicker als normale Notenlinien sein sollten und dass
ein gelernter Notenstecher eine Hilfslinie verkürzt, um dichteres
-Platzzieren von Versetzungszeichen zu erlauben. Wir haben diese
+Platzieren von Versetzungszeichen zu erlauben. Wir haben diese
Eigenschaft in den Notensatz von LilyPond eingebaut.
@multitable @columnfractions .25 .25 .25 .25
@noindent
Bei kleineren Größen benutzt LilyPond proportional dickere
-Notenlinien, sodass das Notenbild immernoch gut zu lesen ist.
+Notenlinien, sodass das Notenbild immer noch gut zu lesen ist.
@ignore
Dadurch können auch Notensysteme unterschiedlicher Größe
\key c \minor
}
-\new Score <<
- \new Staff \with {
+\score {
+ <<
+ \new Staff \with {
fontSize = #-4
- \override StaffSymbol #'staff-space = #(magstep -4)
- \override StaffSymbol #'thickness = #(magstep -3)
+ \override StaffSymbol.staff-space = #(magstep -4)
+ \override StaffSymbol.thickness = #(magstep -3)
}
\relative c' {
\global
g8.(^> b16 c ees) g8-.^> r r
R2.
}
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
- \new Staff \relative c' {
- \global
- s2.
- s4. s8 r8 r16 <c f aes c>
- <c f aes c>4.^> <c ees g>8 r r
- }
- \new Staff \relative c {
- \global
- \clef "bass"
- << {
- \once \override DynamicText #'X-offset = #-3
+ \new PianoStaff <<
+ \set PianoStaff.instrumentName = #"Piano"
+ \new Staff \relative c' {
+ \global
+ s2.
+ s4. s8 r8 r16 <c f aes c>
+ <c f aes c>4.^> <c ees g>8 r r
+ }
+ \new Staff \relative c {
+ \global
+ \clef "bass"
+ <<
+ {
+ \once \override DynamicText.X-offset = #-3
<ees g c>2.~->^\f
<ees g c>4.~ <ees g c>8
} \\ {
<c g c,>2.~
<c g c,>4.~ <c g c,>8
- } >>
- r8 r16 <f, c' aes'>16
- <f c' aes'>4.-> <c' g'>8 r r
- }
+ }
+ >>
+ r8 r16 <f, c' aes'>16
+ <f c' aes'>4.-> <c' g'>8 r r
+ }
+ >>
>>
>>
+}
@end lilypond
@end ignore
@unnumberedsubsec Warum der große Aufwand?
@translationof Why work so hard?
-Musiker sind üblicherweise zu sehr damit beschäftigt, die Musik aufzuführen,
-als dass sie das Aussehen der Noten studieren könnten; darum mag diese
-Beschäftigung mit typographischen Details akademisch wirken.
+Musiker sind üblicherweise zu sehr damit beschäftigt, die Musik aufzuführen,
+als dass sie das Aussehen der Noten studieren könnten; darum mag diese
+Beschäftigung mit typographischen Details akademisch wirken.
Das ist sie aber nicht. Notenmaterial ist Aufführungsmaterial:
alles muss unternommen werden, damit der Musiker die Aufführung
besser bewältigt, und alles, das unklar oder unangenehm ist,
Der dichtere Eindruck, den die dickeren Notenlinien und schwereren
Notationssymbole schaffen, eignet sich besser für Noten,
die weit vom Leser entfernt stehen, etwa auf einem Notenständer.
-Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die
-Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen.
-Dadurch werden unnötige Seitenumbrüche vermieden, so dass man
+Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die
+Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen.
+Dadurch werden unnötige Seitenumbrüche vermieden, so dass man
nicht so oft blättern muss.
Dies sind die Anforderungen der Typographie: Das Layout sollte
Leser zu helfen. Für Aufführungsmaterial ist das umso wichtiger,
denn Musiker haben eine begrenzte Aufnahmefähigkeit. Je weniger
Mühe nötig ist, die Noten zu erfassen, desto mehr Zeit bleibt für
-die Gestaltung der eigentlichen Musik. Das heißt: Gute
+die Gestaltung der eigentlichen Musik. Das heißt: Gute
Typographie führt zu besseren Aufführungen!
-Die Beispiele haben gezeigt, dass der Notensatz eine subtile und
-komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung
+Die Beispiele haben gezeigt, dass der Notensatz eine subtile und
+komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung
erlangt werden können, die Musiker normalerweise nicht haben.
LilyPond stellt unser Bemühen dar, die graphische Qualität
-handgestochener Notenseiten ins Computer-Zeitalter zu transportieren
-und sie für normale Musiker erreichbar zu machen. Wir haben
+handgestochener Notenseiten ins Computer-Zeitalter zu transportieren
+und sie für normale Musiker erreichbar zu machen. Wir haben
unsere Algorithmen, die Gestalt der Symbole und die Programm-Einstellungen
-darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität
-der alten Editionen entspricht, die wir so gerne betrachten
+darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität
+der alten Editionen entspricht, die wir so gerne betrachten
und aus denen wir gerne spielen.
@menu
* Schönheitswettbewerb::
* Verbessern durch Benchmarking::
-* Alles richtig machen::
+* Alles richtig machen::
@end menu
@node Schönheitswettbewerb
@lilypond
\relative c {
- \clef bass
- \once \override Slur #'positions = #'(1.5 . 1)
- e8[( f] g[ a b d,)] r4
- \once \override Slur #'positions = #'(2 . 3)
- e8[( f] g[ a b d,)] r4
- e8[( f] g[ a b d,)] r4
+ \clef bass
+ \once \override Slur.positions = #'(1.5 . 1)
+ e8[( f] g[ a b d,)] r4
+ \once \override Slur.positions = #'(2 . 3)
+ e8[( f] g[ a b d,)] r4
+ e8[( f] g[ a b d,)] r4
}
@end lilypond
@lilypond
\relative c {
- \clef bass
- \once \override Slur #'positions = #'(1.5 . 1)
- e8[(_"15.39" f] g[ a b d,)] r4
+ \clef bass
+ \once \override Slur.positions = #'(1.5 . 1)
+ e8[(_"15.39" f] g[ a b d,)] r4
}
@end lilypond
@lilypond
\relative c {
- \clef bass
- \once \override Slur #'positions = #'(2 . 3)
- e8[(_"13.08" f] g[ a b d,)] r4
+ \clef bass
+ \once \override Slur.positions = #'(2 . 3)
+ e8[(_"13.08" f] g[ a b d,)] r4
}
@end lilypond
@lilypond
\relative c {
- \clef bass
- e8[(_"12.04" f] g[ a b d,)] r4
+ \clef bass
+ e8[(_"12.04" f] g[ a b d,)] r4
}
@end lilypond
verbessert, und sie verbessert sich weiter, indem sie immer wieder
mit handgestochenen Noten verglichen wird.
-Hier als Beispiel eine Zeile eines Benchmark-Stückes aus einer
+Hier als Beispiel eine Zeile eines Benchmark-Stückes aus einer
handgestochenen Notenedition (Bärenreiter BA320):
@iftex
@noindent
(Es gibt auch zwei fehlende Notenköpfe, verschiedene editorische
-Anweisungen, die fehler und eine falsche Tonhöhe!)
+Anweisungen, die Fehler und eine falsche Tonhöhe!)
Indem die Layoutregeln und das Design der Schriftarten angepasst
-wurde, hat sich die Ausgabe sehr starkt verbessert. Vergleichen
+wurde, hat sich die Ausgabe sehr stark verbessert. Vergleichen
Sie das gleiche Referenzbeispiel und die Ausgabe der aktuellen
LilyPond-Version (@version{}):
\key d \minor
\time 3/4
\mergeDifferentlyDottedOn
- << {\slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e)}
- \\ {d4_2 a2}
+ <<
+ { \slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e) }
+ \\
+ { d4_2 a2 }
>>
\slurDashed
<f' a, d,>4. e8( d c)
\slurSolid
- bes g' f e16( f g_1 a_2 bes_3 d,_2)
+ bes8 g' f e16( f g_1 a_2 bes_3 d,_2)
\slurDashed
cis4.-\trill b8_3( a g)
- << {\slurDashed d'8.( e16) e4.-\trill( d16 e)}
- \\ {<f, a>4 a2}
+ <<
+ { \slurDashed d'8.( e16) e4.-\trill( d16 e) }
+ \\
+ { <f, a>4 a2 }
>>
}
@end lilypond
@end ifnottex
@lilypond[staffsize=19.5,line-width=14\cm]
-global = {\key g \minor}
+global = { \key g \minor }
partI = \relative c' {
\voiceOne
d4 r4 r8 d'16 c bes8 c16 d
ees8 d c ees a, r r4
}
+
partIII = \relative c' {
\voiceOne
r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
}
+
partIV = \relative c {
\voiceTwo
d4 r r2
\set Score.currentBarNumber = #28
\bar ""
\new PianoStaff <<
- \new Staff = "RH" <<
+ \new Staff = "RH"
+ <<
\global
\new Voice = "voiceI" { \partI }
\new Voice = "voiceII" { \partII }
}
\context {
\PianoStaff
- \override StaffGrouper #'between-staff-spacing #'padding = #1
+ \override StaffGrouper.staff-staff-spacing.padding = #1
}
}
}
die untere und obere Stimme zeitweise ausgetauscht werden:
@lilypond
-collide = \once \override NoteColumn #'force-hshift = #0
-\new Score <<
- \new Voice = "sample" \relative c''{
- \key g \minor
- <<
- {\voiceOne g4 \collide g4}
- \new Voice {\voiceTwo bes \collide bes}
- >>
- }
- \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
->>
+collide = \once \override NoteColumn.force-hshift = #0
+
+\score {
+ <<
+ \new Voice = "sample" \relative c''{
+ \key g \minor
+ <<
+ { \voiceOne g4 \collide g4 }
+ \new Voice { \voiceTwo bes \collide bes }
+ >>
+ }
+ \new Lyrics \lyricsto "sample" { "good " " bad" }
+ >>
+}
@end lilypond
@item Finale positioniert alle Pausen an einer festen Position auf
@translationof Building software
Dieser Abschnitt beschreibt einige der Entscheidungen,
-die wir während des Programierens für das Design von LilyPond
+die wir während des Programmierens für das Design von LilyPond
getroffen haben.
@menu
@cindex Syntax
@cindex rekursive Strukturen
-Idealerweise ist das Eingabeformat für ein komplexes Satzsystem die
-abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die
-Musik selber. Das stellt uns aber vor ein ziemlich großes Problem,
-denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf
+Idealerweise ist das Eingabeformat für ein komplexes Satzsystem die
+abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die
+Musik selber. Das stellt uns aber vor ein ziemlich großes Problem,
+denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf
eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
-schreiben ein Programm, das den Notensatz beherrscht und machen das
-Format so einfach wie möglich. Wenn es nicht mehr vereinfacht
-werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser
+schreiben ein Programm, das den Notensatz beherrscht und machen das
+Format so einfach wie möglich. Wenn es nicht mehr vereinfacht
+werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser
Format dient als die formale Definition eines Musiktextes.
-Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond,
+Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond,
darum soll sie einfach zu schreiben sein; z. B. bedeutet
@example
\new Voice { << g2 \\ { f4 <<c d e>> } >> }
@end lilypond
-Solche geschachtelten Strukturen können sehr gut in einer
-kontextunabhängigen Grammatik beschrieben werden. Der Programmcode
-für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax
+Solche geschachtelten Strukturen können sehr gut in einer
+kontextunabhängigen Grammatik beschrieben werden. Der Programmcode
+für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax
von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
-Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer
+Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer
wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
-diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung
-haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond
-spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische
-Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel
-schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen:
+diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung
+haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond
+spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische
+Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel
+schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen:
Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
Während wir die Strukturen von LilyPond entwickelten, machten wir einige Entscheidungen, die sich von anderen Programmen unterscheiden.
@lilypond[quote,fragment]
<<
-\new Staff \relative c'' {
- \key g \major
- \time 3/4
- d4 g,8 a b c d4 g, g
-}
-\new Staff \relative c' {
- \clef "bass"
- \key g \major
- <g b d>2 a4 b2.
-}
+ \new Staff \relative c'' {
+ \key g \major
+ \time 3/4
+ d4 g,8 a b c d4 g, g
+ }
+ \new Staff \relative c' {
+ \clef "bass"
+ \key g \major
+ <g b d>2 a4 b2.
+ }
>>
@end lilypond
\new Voice = "I" \relative c''' {
\time 3/4
\voiceOne
- \times 6/7 {g8 g g g g g g}
+ \tuplet 7/6 { g8 g g g g g g }
\oneVoice
r4 <b,, fis' g bes> r4\fermata
}
\new Voice = "II" \relative c' {
\voiceTwo
c4
- \times 4/5 {
+ \tuplet 5/4 {
<c ees>8 f g
\change Staff = "LH" \oneVoice
\stemUp g,( c}
r4
- \override Stem #'cross-staff = ##t
- \override Stem #'length = #12
+ \override Stem.cross-staff = ##t
+ \override Stem.length = #12
<fis, b>) r\fermata
}
>>
@cindex Plugin
Während des Notensatzprozesses entscheidet sich, wo
-Symbole platziert werden. Das kann aber nur gelingen,
+Symbole platziert werden. Das kann aber nur gelingen,
wenn vorher entschieden wird, @emph{welche} Symbole
gesetzt werden sollen, also welche Art von Notation benutzt
werden soll.
entwickeln sich die Details trotzdem immer noch weiter, um
die Errungenschaften der Neuen Musik darstellen zu können. Die
Notation umfasst also 500 Jahre Musikgeschichte. Ihre Anwendung
-reicht von monophonen Melodien bis zu ungeheuer komplexem Kontrapunkt
+reicht von monophonen Melodien bis zu ungeheuer komplexem Kontrapunkt
für großes Orchester.
Wie bekommen wir dieses vielköpfige Monster zu fassen und in die
analog zu den Notenstechern (engl. engraver), die musikalische
Ideen in graphische Symbole übersetzen.
-Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe,
+Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe,
dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
@lilypond[quote,ragged-right]
@end lilypond
@noindent
-Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher})
+Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher})
die Notenlinien hinzu.
@lilypond[quote,ragged-right]
@end lilypond
@noindent
-Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert
+Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert
eine Referenzstelle für das System.
@lilypond[quote,ragged-right]
@end lilypond
@noindent
-Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt,
-der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei
-einem Akkord), wird ein Hals-Objekt erstellt und an den
-Kopf geheftet. Wenn wir dann noch Engraver für Balken, Bögen,
-Akzente, Versetzungszeichen, Taktstriche, Taktangaben und Tonartbezeichnungen
+Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt,
+der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei
+einem Akkord), wird ein Hals-Objekt erstellt und an den
+Kopf geheftet. Wenn wir dann noch Engraver für Balken, Bögen,
+Akzente, Versetzungszeichen, Taktstriche, Taktangaben und Tonartbezeichnungen
hinzufügen, erhalten wir eine vollständige Notation.
@cindex Notensatz, Mehrstimmigkeit
@cindex Kontexte
-Dieses System funktioniert gut für monophone Musik, aber wie geht
+Dieses System funktioniert gut für monophone Musik, aber wie geht
es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
@lilypond[quote,ragged-right]
@itemize @bullet
@item Wenn LilyPond Fehler macht, muss der Benutzer die
-Einstellungen ändern können. Er muss also Zugang zur
-Formatierungsmaschinerie haben. Deshalb können die Regeln und
-Einstellungen nicht beim Kompilieren des Programms festgelegt
+Einstellungen ändern können. Er muss also Zugang zur
+Formatierungsmaschinerie haben. Deshalb können die Regeln und
+Einstellungen nicht beim Kompilieren des Programms festgelegt
werden, sondern sie müssen zugänglich sein, während das Programm
aktiv ist.
@item Notensatz ist eine Frage des Augenmaßes, und damit auch vom
-Geschmack abhängig. Benutzer können mit unseren Entscheidungen
-unzufrieden sein. Darum müssen also auch die Definitionen des
+Geschmack abhängig. Benutzer können mit unseren Entscheidungen
+unzufrieden sein. Darum müssen also auch die Definitionen des
typographischen Stils dem Benutzer zugänglich sein.
-@item Schließlich verfeinern wir unseren Formatierungsalgorithmus
+@item Schließlich verfeinern wir unseren Formatierungsalgorithmus
immer weiter, also müssen die Regeln auch flexibel sein. Die
-Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode,
+Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode,
die nicht den Regeln für den Notensatz entspricht.
@end itemize
@cindex Scheme-Programmiersprache
-Diese Probleme wurden angegangen, indem ein Übersetzer für
+Diese Probleme wurden angegangen, indem ein Übersetzer für
die Programmiersprache Scheme integriert wurde und Teile
-von LilyPond in Scheme neu geschrieben wurden. Die derzeitige
-Formatierungsarchitektur ist um die Notation von graphischen
+von LilyPond in Scheme neu geschrieben wurden. Die derzeitige
+Formatierungsarchitektur ist um die Notation von graphischen
Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
beschrieben werden. Diese Architektur umfasst Formatierungsregeln,
-typographische Stile und individuelle Formatierungsentscheidungen.
+typographische Stile und individuelle Formatierungsentscheidungen.
Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.
-Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben
-viele graphische Objekte eine Richtungsvariable, die zwischen
-oben und unten (oder rechts und links) wählen kann. Hier etwa
+Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben
+viele graphische Objekte eine Richtungsvariable, die zwischen
+oben und unten (oder rechts und links) wählen kann. Hier etwa
sind zwei Akkorde mit Akzenten und Arpeggien.
Beim ersten Akkord sind alle Objekte nach unten (oder links)
ausgerichtet, beim zweiten nach oben (rechts).
@lilypond[quote,ragged-right]
-\new Score \with {
- \override SpacingSpanner #'spacing-increment = #3
- \override TimeSignature #'transparent = ##t
-} \relative c' {
- \stemDown <e g b>4_>-\arpeggio
- \override Arpeggio #'direction = #RIGHT
- \stemUp <e g b>4^>-\arpeggio
+\score {
+ \relative c' {
+ \stemDown <e g b>4_>-\arpeggio
+ \override Arpeggio.direction = #RIGHT
+ \stemUp <e g b>4^>-\arpeggio
+ }
+ \layout {
+ \context {
+ \Score
+ \override SpacingSpanner.spacing-increment = #3
+ \hide TimeSignature
+ }
+ }
}
@end lilypond
<<
\new Staff \fragment
\new Staff \with {
- \override Beam #'beam-thickness = #0.3
- \override Stem #'thickness = #0.5
- \override Bar #'thickness = #3.6
- \override Tie #'thickness = #2.2
- \override StaffSymbol #'thickness = #3.0
- \override Tie #'extra-offset = #'(0 . 0.3)
+ \override Beam.beam-thickness = #0.3
+ \override Stem.thickness = #0.5
+ \override Bar.thickness = #3.6
+ \override Tie.thickness = #2.2
+ \override StaffSymbol.thickness = #3.0
+ \override Tie.extra-offset = #'(0 . 0.3)
}
\fragment
>>
\set autoBeaming = ##f
\time 2/4
<d f g>4
- \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
- \once \override NoteHead #'font-size = #-7
- \once \override NoteHead #'font-family = #'sans
- \once \override NoteHead #'font-series = #'bold
+ \once \override NoteHead.stencil = #note-head::brew-ez-stencil
+ \once \override NoteHead.font-size = #-7
+ \once \override NoteHead.font-family = #'sans
+ \once \override NoteHead.font-series = #'bold
<d f g>4
- \once \override NoteHead #'style = #'cross
+ \once \override NoteHead.style = #'cross
<d f g>4
\applyOutput #'Voice #mc-squared
<d f g>4
@cindex einfaches Beispiel
@cindex Beispiel, einfach
-Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des
-Musiksatzes in ein Computerprogramm gießen kann. Dieses
-Programm kann nun dank vieler harter Arbeitsstunden benutzt werden,
-um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der
+Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des
+Musiksatzes in ein Computerprogramm gießen kann. Dieses
+Programm kann nun dank vieler harter Arbeitsstunden benutzt werden,
+um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der
Notendruck.
@lilypond[quote,relative=1]
@end lilypond
@noindent
-Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir
+Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir
ein Liedblatt.
@lilypond[quote,ragged-right]
>>
@end lilypond
-Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das
+Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das
nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
@lilypond[quote,line-width=15.9\cm]
\time 4/8
\key c \minor
<< {
- \revert Stem #'direction
+ \revert Stem.direction
\change Staff = down
\set subdivideBeams = ##t
g16.[
\set followVoice = ##t
c'''32([ b''16 a''16 gis''16 g''32)]
} \\ {
- s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
+ s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d'']
} \\ {
s4 \autoBeamOff d''8.. f''32
} \\ {
\clef bass
\key c \minor
\set subdivideBeams = ##f
- \override Stem #'french-beaming = ##t
- \override Beam #'beam-thickness = #0.3
- \override Stem #'thickness = #4.0
+ \override Stem.french-beaming = ##t
+ \override Beam.beam-thickness = #0.3
+ \override Stem.thickness = #4.0
g'16[ b16 fis16 g16]
<< \makeClusters {
as16 <as b>
<g b>
<g cis>
} \\ {
- \override Staff.Arpeggio #'arpeggio-direction =#down
+ \override Staff.Arpeggio.arpeggio-direction =#down
<cis, e, gis, b, cis>4\arpeggio
}
>> }
>>
\midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 60 8)
- }
+ \tempo 8 = 60
}
\layout {
\context {
\Staff
- \consists Horizontal_bracket_engraver
+ \consists "Horizontal_bracket_engraver"
}
}
}
@end lilypond
-Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht
-die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft,
+Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht
+die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft,
kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
-verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch
-in Notenbilder umgewandelt werden, die dann auf Internetseiten oder
+verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch
+in Notenbilder umgewandelt werden, die dann auf Internetseiten oder
in Multimediapräsentation Anwendung finden.
-Dieser Aufsatz zeigt eine weitere Möglichkeit: Die Noten werden als
+Dieser Aufsatz zeigt eine weitere Möglichkeit: Die Noten werden als
reiner Text eingegeben und können darum sehr einfach integriert werden
-in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem
+in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem
Fall, Texinfo. Mithilfe des Programmes @command{lilypond-book},
das in LilyPond inbegriffen ist, werden die Fragmente mit
Notenbildern ersetzt und in die produzierte PDF- oder HTML-Datei
fis8 d' ees g, fis4 g
r8 a16 bes c8 bes16 a d8 r r4
r2 r8 d16 ees f8 ees16 d
- ees4 ~ ees16 d c bes a4 r8 ees'16 d
+ ees4 ~ 16 d c bes a4 r8 ees'16 d
c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
- a8 d, g f ees d c bes
+ 8 d, g f ees d c bes
a2 g\fermata \bar "|."
}
d4 r4 r8 d'16 c bes8 c16 d
ees8 d c ees a, r r4
r8 fis16 g a8 g16 fis g2 ~
- g2 r8 d' ees g,
+ 2 r8 d' ees g,
fis4 g r8 a16 bes c8 bes16 a
bes4. <g b>8 <a c> r <d, g> r
<ees g>4 <d fis> d2
partIII = \relative c' {
\voiceOne
r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
- bes2 ~ bes8 b16 a g8 a16 b
+ bes2 ~ 8 b16 a g8 a16 b
c4 r r2
R1
r8 d ees g, fis4 g
d4 r r2
r8 d ees g, fis4 a
d,8 d'16 c bes8 c16 d ees2 ~
- ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
+ 8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
d,8 d'16 c bes8 c16 d ees8 c a fis'
g f ees d c bes a g
c a d d, g2\fermata
}
\context {
\PianoStaff
- \override StaffGrouper #'between-staff-spacing #'padding = #1
+ \override StaffGrouper.staff-staff-spacing.padding = #1
}
}
}