1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2 @c This file is part of lilypond-learning.tely
4 Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
13 @node Fundamental concepts
14 @chapter Fundamental concepts
16 Dieses Kapitel behandelt das allgemeine Konzept von LilyPond
17 und wie man @code{\score}-Blöcke erstellt.
20 * How LilyPond files work::
21 * Voices contain music::
22 * Contexts and engravers::
23 * Extending the templates::
26 @node How LilyPond files work
27 @section How LilyPond files work
29 Das LilyPond Eingabeformat hat eine ziemlich freie Form, so dass
30 für erfahrene Benutzer viel Freiheit besteht, die Struktur ihrer
31 Quelldateien anzulegen. Für Neulinge kann diese Flexibilität aber
32 erst einmal verwirrend sein. In diesem Kapitel soll darum ein Teil
33 dieser Strukturen dargestellt werden, vieles aber zur Vereinfachung
34 auch weggelassen werden. Für eine komplette Beschreibung des Eingabeformats
35 siehe @ruser{File structure}.
37 Die meisten Beispiele in diesem Handbuch sind kleine Schnipsel, wie
44 Wie hoffentlich bekannt ist, lässt sich solch ein Schnipsel nicht
45 in dieser Form übersetzen. Diese Beispiele sind also nur Kurzformen
46 von wirklichen Beispielen. Sie müssen wenigstens zusätzlich in
47 geschweifte Klammern gesetzt werden.
55 Die meisten Beispiele benutzen auch den @code{\relative c'}-Befehl.
56 Der ist nicht nötig, um die Dateien zu übersetzen, aber in den meisten
57 Fällen sieht der Notensatz seltsam aus, wenn man den Befehl
60 @lilypond[quote,fragment,ragged-right,verbatim]
66 Jetzt kommt noch eine Ebene dazu: LilyPond-Code in der obigen Form
67 ist in Wirklichkeit auch wieder eine Abkürzung. Auch wenn man so
68 Dateien schreiben kann und sie auch korrekt gesetzt werden, heißt
69 der wirkliche Code, der hier gemeint ist, eigentlich:
79 Eine Partitur (@code{\score}) muss immer mit einem musikalischen Ausdruck
80 beginnen. Das ist letztendlich alle Musik, angefangen bei einer
82 Note bis hin zu einer riesigen Partitur mit vielen Notensystemen
83 (bezeichnet durch @code{GrandStaff}):
88 hier die gesamte Partitur
94 Da sich alles innerhalb der geschweiften Klammern @code{@{ ... @}}
95 befindet, wird es wie ein einziger musikalischer Ausdruck behandelt.
98 Ein @code{\score} auch andere Dinge enthalten, wie etwa
110 Viele setzen einige dieser Befehle außerhalb des
111 @code{\score}-Blocks, zum Beispiel wird der @code{\header}
112 sehr oft oberhalb der @code{\score}-Umgebung gesetzt. Das
113 funktioniert genauso gut.
118 Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen.
119 Alle Vorlagen verwenden diese Möglichkeit.
122 melodie = \relative c' @{
131 Wenn LilyPond diese Datei analysiert, nimmt es den Inhalt
132 von @code{melodie} (alles, was nach dem Gleichheitszeichen
133 kommt) und fügt ihn immer dann ein, wenn ein @code{\melodie}
134 vorkommt. Die Namen sind frei wählbar, die Variable kann genauso
135 gut @code{melodie}, @code{GLOBAL},
136 @code{rechteHandklavier}, oder @code{foofoobarbaz} heißen. Für mehr
138 @ref{Saving typing with variables and functions}.
140 Eine komplette Definition des Eingabeformats findet sich
141 im Kapitel @ruser{File structure}.
144 * Introduction to the LilyPond file structure::
145 * Score is a (single) compound musical expression::
146 * Nesting music expressions::
147 * On the un-nestedness of brackets and ties::
150 @node Introduction to the LilyPond file structure
151 @subsection Introduction to the LilyPond file structure
153 UNTRANSLATED NODE: IGNORE ME
155 @node Score is a (single) compound musical expression
156 @subsection Score is a (single) compound musical expression
158 Im vorigen Kapitel, @ref{How LilyPond files work},
159 wurde die allgemeine Struktur einer LilyPond-Quelldatei
160 beschrieben. Aber anscheinend haben wir die wichtigste
161 Frage ausgelassen, nämlich wie man herausfindet, was nach
162 dem @code{\score} geschrieben werden soll.
164 In Wirklichkeit ist das aber gar kein Geheimnis. Diese
165 Zeile ist die Antwort:
169 @emph{Eine Partitur fängt immer mit @code{\score} an, gefolgt
170 von einem einzelnen musikalischen Ausdruck.}
174 Vielleicht wollen Sie noch einmal
175 @ref{Music expressions explained} überfliegen. In diesem
176 Kapitel wurde gezeigt, wie sich große musikalische Ausdrücke
177 aus kleinen Teilen zusammensetzen. Noten können zu Akkorden
178 verbunden werden usw. Jetzt gehen wir aber in die andere Richtung
179 und betrachten, wie sich ein großer musikalischer Ausdruck
184 @{ % diese Klammer startet den großen mus. Ausdruck
186 hier eine ganze Wagner-Oper einfügen
188 @} % diese Klammer beendet den Ausdruck
193 Eine Wagner-Oper ist mindestens doppelt so lang wie dieses Handbuch,
194 beschränken wir uns also auf einen Sänger und Klavier. Wir brauchen
195 keine Orchesterpartitur (@code{GrandStaff}) dafür, darum lassen wir
196 den Befehl weg. Wir brauchen aber einen Sänger und ein Klavier.
202 \new Staff = "Sänger" <<
204 \new PianoStaff = Klavier <<
212 Zur Erinnerung: mit @code{<<} und @code{>>} werden Noten gleichzeitig
213 gesetzt; wir wollen ja auch Klavier- und Sängerstimme gleichzeitig
220 \new Staff = "Sänger" <<
221 \new Voice = "vocal" @{ @}
223 \new Lyrics \lyricsto vocal \new Lyrics @{ @}
224 \new PianoStaff = "piano" <<
225 \new Staff = "upper" @{ @}
226 \new Staff = "lower" @{ @}
234 Jetzt haben wir viel mehr Details. Wir haben ein System (engl. staff)
235 für einen Sänger, in dem sich wieder eine Stimme (engl. voice)
236 befindet. @code{Voice} bedeutet für LilyPond eine Stimme (sowohl
237 gesungen als auch gespielt) und evtl. zusätzlich einen Text. Zusätzlich
238 werden zwei Notensysteme für das Klavier mit dem Befehl @code{\new
239 PianoStaff} gesetzt. @code{PianoStaff} bezeichnet die Piano-Umgebung (etwa
240 durchgehende Taktstriche und die geschweifte Klammer am Anfang), in der
241 dann wiederum zwei eigene Systeme ("upper" für die rechte Hand und
243 für die linke) erstellt werden.
245 Jetzt könnte man in diese Umgebung Noten einfügen. Innerhalb der
247 Klammern neben @code{\new Voice = vocal} könnte man
256 @noindent schreiben. Aber wenn man seine Datei so direkt schreibt, wird
257 der @code{\score}-Abschnitt sehr lang und es wird ziemlich schwer zu
258 verstehen, wie alles zusammenhängt. Darum bietet es sich an, Bezeichner
259 (oder Variablen) zu verwenden.
270 \new Staff = "Sänger" <<
271 \new Voice = "vocal" @{ \melodie @}
273 \new Lyrics \lyricsto vocal \new Lyrics @{ \text @}
274 \new PianoStaff = "piano" <<
275 \new Staff = "upper" @{ \upper @}
276 \new Staff = "lower" @{ \lower @}
285 Nochmal: der Bezeichner kann aller möglicher Text sein. Die
286 Einschränkungen sind in
287 @ruser{File structure} genau aufgelistet.
289 Beim Schreiben (oder Lesen) einer @code{\score}-Umgebung
290 sollte man langsam und sorgfältig vorgehen. Am besten fängt
291 man mit dem größten Gebilde an und definiert dann die darin
292 enthaltenen kleineren der Reihe nach. Es hilft auch, sehr
293 genau mit den Einzügen zu sein, so dass jede Zeile, die
294 der gleichen Ebene angehört, wirklich horizontal an der
295 gleichen Stelle beginnt.
298 @node Nesting music expressions
299 @subsection Nesting music expressions
301 UNTRANSLATED NODE: IGNORE ME
304 @node On the un-nestedness of brackets and ties
305 @subsection On the un-nestedness of brackets and ties
307 UNTRANSLATED NODE: IGNORE ME
309 @node Voices contain music
310 @section Voices contain music
312 UNTRANSLATED NODE: IGNORE ME
315 * I'm hearing Voices::
316 * Explicitly instantiating voices::
317 * Voices and vocals::
319 @node I'm hearing Voices
320 @subsection I'm hearing Voices
322 UNTRANSLATED NODE: IGNORE ME
324 @node Explicitly instantiating voices
325 @subsection Explicitly instantiating voices
327 UNTRANSLATED NODE: IGNORE ME
329 @node Voices and vocals
330 @subsection Voices and vocals
332 UNTRANSLATED NODE: IGNORE ME
334 @node Contexts and engravers
335 @section Contexts and engravers
337 UNTRANSLATED NODE: IGNORE ME
340 * Contexts explained::
341 * Creating contexts::
342 * Engravers explained::
343 * Modifying context properties::
344 * Adding and removing engravers::
347 @node Contexts explained
348 @subsection Contexts explained
350 UNTRANSLATED NODE: IGNORE ME
352 @node Creating contexts
353 @subsection Creating contexts
355 UNTRANSLATED NODE: IGNORE ME
357 @node Engravers explained
358 @subsection Engravers explained
360 UNTRANSLATED NODE: IGNORE ME
362 @node Modifying context properties
363 @subsection Modifying context properties
365 UNTRANSLATED NODE: IGNORE ME
367 @node Adding and removing engravers
368 @subsection Adding and removing engravers
370 UNTRANSLATED NODE: IGNORE ME
372 @node Extending the templates
373 @section Extending the templates
375 UNTRANSLATED NODE: IGNORE ME
378 * Soprano and cello::
379 * Four-part SATB vocal score::
380 * Building a score from scratch::
383 @node Soprano and cello
384 @subsection Soprano and cello
386 UNTRANSLATED NODE: IGNORE ME
388 @node Four-part SATB vocal score
389 @subsection Four-part SATB vocal score
391 UNTRANSLATED NODE: IGNORE ME
393 @node Building a score from scratch
394 @subsection Building a score from scratch
396 UNTRANSLATED NODE: IGNORE ME