]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/notation/input.itely
Merge branch 'lilypond/translation'
[lilypond.git] / Documentation / de / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2
3 @ignore
4     Translation of GIT committish: a463d80d4be008ce05b12de86fc21f2b7c1c120f
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes.
9 @end ignore
10
11 @c \version "2.13.36"
12
13 @c Translators: Till Paala
14
15 @node Allgemeine Eingabe und Ausgabe
16 @chapter Allgemeine Eingabe und Ausgabe
17 @translationof General input and output
18
19 Dieses Kapitel erklärt allgemeine Fragen zur Eingabe und Ausgabe von
20 Notation mit LilyPond und weniger direkte Fragen der Notation.
21
22 @menu
23 * Eingabestruktur::
24 * Titel::
25 * Arbeiten an Eingabe-Dateien::
26 * Ausgabe kontrollieren::
27 * MIDI-Ausgabe::
28 @end menu
29
30
31 @node Eingabestruktur
32 @section Eingabestruktur
33 @translationof Input structure
34
35 Das hauptsächliche Eingabeformat von LilyPond sind Textdateien.
36 Üblicherweise werden diese Dateien mit der Endung @file{.ly}
37 versehen.
38
39 @menu
40 * Struktur einer Partitur::
41 * Mehrere Partituren in einem Buch::
42 * Mehrere Ausgabedateien aus einer Eingabedatei::
43 * Dateinamen der Ausgabedateien::
44 * Die Dateistruktur::
45 @end menu
46
47
48 @node Struktur einer Partitur
49 @subsection Struktur einer Partitur
50 @translationof Structure of a score
51
52 @funindex \score
53
54 Eine @code{\score}-Umgebung muss einen einzelnen musikalischen
55 Ausdruck beinhalten, der durch geschweifte Klammern begrenzt wird:
56
57 @example
58 \score @{
59 ...
60 @}
61 @end example
62
63 @warning{Es darf @strong{nur ein} äußerer musikalischer Ausdruck
64 in der @code{\score}-Umgebung geschrieben werden, und er @strong{muss}
65 von geschweiften Klammern umgeben sein.}
66
67 Dieser einzelne musikalische Ausdruck kann beliebige Größe annehmen und
68 andere musikalische Ausdrücke von beliebiger Komplexität beinhalten.
69 Alle diese Beispiele sind musikalische Ausdrücke:
70
71 @example
72 @{ c'4 c' c' c' @}
73 @end example
74
75 @lilypond[verbatim,quote]
76 {
77   { c'4 c' c' c' }
78   { d'4 d' d' d' }
79 }
80 @end lilypond
81
82 @lilypond[verbatim,quote]
83 <<
84   \new Staff { c'4 c' c' c' }
85   \new Staff { d'4 d' d' d' }
86 >>
87 @end lilypond
88
89 @example
90 @{
91   \new GrandStaff <<
92     \new StaffGroup <<
93       \new Staff @{ \Flöte @}
94       \new Staff @{ \Oboe @}
95     >>
96     \new StaffGroup <<
97       \new Staff @{ \GeigeI @}
98       \new Staff @{ \GeigeII @}
99     >>
100   >>
101 @}
102 @end example
103
104 Kommentare bilden eine Ausnahme dieser Regel.  (Andere Ausnahmen
105 siehe @ref{Die Dateistruktur}.)  Sowohl einzeilige als auch
106 Blockkommentare (eingegrenzt durch @code{%@{ .. %@}}) können
107 an beliebiger Stelle einer Eingabedatei geschrieben werden.  Sie
108 können innerhalb oder außerhalb der @code{\score}-Umgebung vorkommen,
109 und innerhalb oder außerhalb des einzelnen musikalischen Ausdrucks
110 innerhalb der @code{\score}-Umgebung.
111
112 Denken Sie daran, dass auch eine Datei, die nur eine @code{\score}-Umgebung
113 enhält, implizit in eine @code{\book}-Umgebung eingeschlossen wird.  Eine
114 @code{\book}-Umgebung in einer Eingabdatei produziert wenigstens eine
115 Ausgabedatei, und standardmäßig wird der Name der Ausagabedatei aus dem
116 Namen der Eingabedatei abgeleitet.  @file{fandangoforelephants.ly} produziert
117 also @file{fandangoforelephants.pdf}.
118
119 Zu weiteren Einzelheiten zu @code{\book}-Umgebungen siehe
120 @ref{Mehrere Partituren in einem Buch},
121 @ref{Mehrere Ausgabedateien aus einer Eingabedatei} und
122 @ref{Dateistruktur}.
123
124
125 @seealso
126 Handbuch zum Lernen:
127 @rlearning{Arbeiten an Eingabe-Dateien},
128 @rlearning{Musikalische Ausdrücke erklärt},
129 @rlearning{Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck}.
130
131 Notationsreferenz:
132 @ref{Mehrere Partituren in einem Buch},
133 @ref{Mehrere Ausgabedateien aus einer Eingabedatei} und
134 @ref{Dateistruktur}.
135
136
137 @node Mehrere Partituren in einem Buch
138 @subsection Mehrere Partituren in einem Buch
139 @translationof Multiple scores in a book
140
141 @funindex \book
142 @cindex Sätze, mehrere
143
144 Eine Partitur kann mehrere musikalische Stücke und verschiedene
145 Texte beinhalten.  Beispiele hierzu sind etwa eine Etüdensammlung
146 oder ein Orchesterstück mit mehreren Sätzen.  Jeder Satz wird
147 in einer eigenen @code{\score}-Umgebung notiert:
148
149 @example
150 \score @{
151   @var{..Noten..}
152 @}
153 @end example
154
155 @noindent
156 und Texte werden mit einer @code{\markup}-Umgebung geschrieben:
157
158 @example
159 \markup @{
160   @var{..Text..}
161 @}
162 @end example
163
164 @funindex \book
165
166 Alle Sätze und Texte, die in derselben @file{.ly}-Datei vorkommen,
167 werden normalerweise in eine einzige Ausgabedatei gesetzt.
168
169 @example
170 \score @{
171   @var{..}
172 @}
173 \markup @{
174   @var{..}
175 @}
176 \score @{
177   @var{..}
178 @}
179 @end example
180
181 Eine wichtige Ausnahme stellen Dokumente dar,
182 die mit lilypond-book erstellt werden, für die Sie explizit
183 @code{\book}-Umgebungen notieren müssen, weil sonst nur die erste
184 @code{\score}- bzw. @code{\markup}-Umgebung angezeigt wird.
185
186 Der Kopfbereich für jedes Musikstück kann innerhalb der @code{\score}-Umgebung
187 definiert werden.  Die @code{piece}-(Stück)-Bezeichnung aus dieser
188 @code{\header}-Umgebung wird vor jedem Satz ausgegeben.  Die Überschrift für
189 ein ganzes Buch kann innerhalb von @code{\book} notiert werden, aber wenn
190 diese Umgebung fehlt, wird die @code{\header}-Umgebung genommen, die auf
191 erster Ebene der Datei notiert ist.
192
193 @example
194 \header @{
195   title = "Acht Miniaturen"
196   composer = "Igor Stravinsky"
197 @}
198 \score @{
199   @dots{}
200   \header @{ piece = "Romanze" @}
201 @}
202 \markup @{
203    ..Text der zweiten Strophe..
204 @}
205 \markup @{
206    ..Text der dritten Strophe..
207 @}
208 \score @{
209   @dots{}
210   \header @{ piece = "Menuetto" @}
211 @}
212 @end example
213
214 @funindex \bookpart
215
216 Stücke können innerhalb eines Buches mit @code{\bookpart} gruppiert
217 werden.  Derartige Buchabschnitte werden durch einen Seitenumbruch
218 voneinander getrennt und können wie auch das ganze Buch selber mit
219 einem Titel innerhalb einer @code{\header}-Umgebung beginnen.
220
221 @example
222 \bookpart @{
223   \header @{
224     title = "Buchtitel"
225     subtitle = "Erster Teil"
226   @}
227   \score @{ @dots{} @}
228   @dots{}
229 @}
230 \bookpart @{
231   \header @{
232     subtitle = "Zweiter Teil"
233   @}
234   \score @{ @dots{} @}
235   @dots{}
236 @}
237 @end example
238
239
240 @node Mehrere Ausgabedateien aus einer Eingabedatei
241 @subsection Mehrere Ausgabedateien aus einer Eingabedatei
242 @translationof Multiple output files from one input file
243
244 Wenn Sie mehrere Ausgabedateien aus derselben @file{.ly}-Datei haben
245 wollen, können Sie mehrere @code{\book}-Umgebungen hinzufügen, wobei
246 jede Umgebung eine neue Ausgabedatei produziert.  Wenn Sie keine
247 @code{\book}-Umgebung in der Eingabedatei angeben, wird die Datei von
248 LilyPond implizit als eine große @code{\book}-Umgebung behandelt, siehe
249 auch @ref{Dateistruktur}.
250
251 Wenn man mehrere Dateien aus einer einzigen Eingabedatei erstellt, stellt
252 LilyPond sicher, dass keine der Ausgabedateien der vorhandenen
253 @code{\book}-Umgebungen eine andere Ausgabedatei, etwa von der vorherigen
254 @code{\book}-Umgebung, überschreibt.
255
256 Dies geschieht, indem ein Suffix an den Ausgabenamen für jede
257 @code{\book}-Umgebung gehängt wird, die den Dateinamen der Eingabdatei
258 als Grundlage nimmt.
259
260 Das Standardverhalten ist es, einen Zahlen-Suffix für die Namen hinzuzufügen,
261 die in Konflikt stehen.  Der Code
262
263 @example
264 \book @{
265   \score @{ @dots{} @}
266   \layout @{ @dots{} @}
267 @}
268 \book @{
269   \score @{ @dots{} @}
270   \layout @{ @dots{} @}
271 @}
272 \book @{
273   \score @{ @dots{} @}
274   \layout @{ @dots{} @}
275 @}
276 @end example
277
278 @noindent
279 produziert also
280
281 @itemize
282 @item
283 @file{eightminiatures.pdf},
284 @item
285 @file{eightminiatures-1.pdf} and
286 @item
287 @file{eightminiatures-2.pdf}.
288 @end itemize
289
290
291 @node Dateinamen der Ausgabedateien
292 @subsection Dateinamen der Ausgabedateien
293 @translationof Output file names
294
295 @funindex \bookOutputSuffix
296 @funindex \bookOutputName
297
298 LilyPond stellt die Möglichkeit zur Verfügung zu kontrollieren, welche
299 Dateinamen für welche Back-ends benutzt werden sollen, wenn die Ausgabedateien
300 erstellt werden.
301
302 Im vorhergehenden Abschnitt wurde gezeigt, wir LilyPond gleichnamige
303 Ausgabedateien verhindert, wenn mehrere Ausgabedateien aus derselben
304 Eingabedatei erstellt werden.  Es gibt auch die Möglichkeit, eigene
305 Suffixe für jeden @code{\book}-Abschnitt zu definieren, sodass man etwa
306 Dateinamen wie @file{eightminiatures-Romanze.pdf}, @file{eightminiatures-Menuetto.pdf}
307 und @file{eightminiatures-Nocturne.pdf} produzieren kann, indem man
308 eine @code{\bookOutputSuffix}-Angabe in jede @code{\book}-Umgebung
309 einfügt.
310
311 @example
312 \book @{
313   \bookOutputSuffix "Romanze"
314   \score @{ @dots{} @}
315   \layout @{ @dots{} @}
316 @}
317 \book @{
318   \bookOutputSuffix "Menuetto"
319   \score @{ @dots{} @}
320   \layout @{ @dots{} @}
321 @}
322 \book @{
323   \bookOutputSuffix "Nocturne"
324   \score @{ @dots{} @}
325   \layout @{ @dots{} @}
326 @}
327 @end example
328
329 Man kann auch einen anderen Dateinamen für die Ausgabedatei einer
330 @code{\book}-Umgebung erstellen, indem man @code{\bookOutputName}-Angabe
331 macht:
332
333 @example
334 \book @{
335   \bookOutputName "Romanze"
336   \score @{ @dots{} @}
337   \layout @{ @dots{} @}
338 @}
339 \book @{
340   \bookOutputName "Menuetto"
341   \score @{ @dots{} @}
342   \layout @{ @dots{} @}
343 @}
344 \book @{
345   \bookOutputName "Nocturne"
346   \score @{ @dots{} @}
347   \layout @{ @dots{} @}
348 @}
349 @end example
350
351 Die obige Datei produziert folgene Ausgabedateien:
352
353 @itemize
354 @item
355 @file{Romanze.pdf},
356 @item
357 @file{Menuetto.pdf} and
358 @item
359 @file{Nocturne.pdf}.
360 @end itemize
361 @node Die Dateistruktur
362 @subsection Die Dateistruktur
363 @translationof File structure
364
365 @funindex \paper
366 @funindex \midi
367 @funindex \layout
368 @funindex \header
369 @funindex \score
370 @funindex \book
371 @funindex \bookpart
372
373 @cindex Dateistruktur
374 @cindex Struktur, Datei
375 @cindex Eingabedatei, Struktur
376 @cindex Quelldatei, Struktur
377
378 Eine @file{.ly}-Datei kann eine beliebige Anzahl an Ausdrücken
379 auf der obersten Ebene beinhalten, wobei ein Ausdruck der obersten
380 Ebene einer der folgenden sein kann:
381
382 @itemize
383 @item
384 Eine Ausgabedefinition, wie @code{\paper}, @code{\midi} und
385 @code{\layout}.  Derartige Definitionen auf oberster Ebene verändern
386 die globalen Einstellungen für das ganze @qq{Buch}.  Wenn mehr
387 als eine derartige Definition desselben Typs angegeben wird, hat
388 die spätere Vorrang.
389
390 @item
391 Ein direkter Scheme-Ausdruck, wie etwa
392 @code{#(set-default-paper-size "a7" 'landscape)} oder
393 @code{#(ly:set-option 'point-and-click #f)}.
394
395 @item
396 Eine @code{\header}-Umgebung.  Damit wird die globale Titelei
397 eingestellt.  Das ist die Umgebung, in der sich Definition für
398 das ganze Buch befinden, wie Komponist, Titel usw.
399
400 @item
401 Eine @code{\score}-Umgebung.  Die in ihr enthaltene Partitur wird
402 zusammen mit anderen vorkommenden @code{\score}-Umgebungen gesammelt
403 und in ein @code{\book} zusammengefasst.  Dieses Verhalten kann
404 verändert werden, indem die Variable @code{toplevel-score-handler}
405 auf höchster Ebene gesetzt wird.  Die Definition des Standards findet sich
406 in der Datei @file{../scm/lily.scm}.
407
408 @item
409 Eine @code{\book}-Umgebung fasst mehrere Sätze (d. h. mehrere
410 @code{\score}-Umgebungen) logisch in ein Dokument zusammen.
411 Wenn mehrere @code{\score}-Partituren vorkommen, wird für jede
412 @code{\book}-Umgebung eine eigene Ausgabedatei erstellt, in der
413 alle in der Umgebung enthaltenen Partituren zusammengefasst sind.
414 Der einzige Grund, explizit eine @code{\book}-Umgebung zu setzen,
415 ist, wenn mehrere Ausgabedateien aus einer einzigen Quelldatei
416 erstellt werden sollen.  Eine Ausnahme sind lilypond-book-Dokumente,
417 in denen eine @code{\book}-Umgebung explizit hinzugefügt werden
418 muss, wenn mehr als eine @code{\score}- oder @code{\markup}-Umgebung
419 im gleichen Beispiel angezeigt werden soll.  Dieses Verhalten
420 kann verändert werden, indem die Variable @code{toplevel-book-handler}
421 auf höchster Ebene gesetzt wird.  Die Definition des Standards
422 findet sich in der Datei @file{../scm/lily.scm}.
423
424 @item
425 Eine @code{\bookpart}-Umgebung.  Ein Buch (@code{\book}) kann in
426 mehrere Teile untergliedert sein, indem @code{\bookpart}-Umgebungen
427 eingesetzt werden. Jeder Buchabschnitt beginnt auf einer neuen
428 Seite und kann eigene Papierdefinitionen in einer @code{\paper}-Umgebung
429 haben.
430
431 @item
432 Ein zusammengesetzter musikalischer Ausdruck wie etwa
433 @example
434 @{ c'4 d' e'2 @}
435 @end example
436
437 Dieses Beispiel wird von LilyPond automatisch in einer
438 @code{\score}-Umgebung in einem Buch interpretiert und
439 mit anderen @code{\score}-Umgebungen und musikalischen
440 Ausdrücken auf der höchsten Ebene zusammen ausgegeben.
441 Anders gesagt: eine Datei, die nur das obige Beispiel
442 beinhaltet, wird übersetzt zu
443
444 @example
445 \book @{
446   \score @{
447     \new Staff @{
448       \new Voice @{
449         @{ c'4 d' e'2 @}
450       @}
451     @}
452   @}
453         \layout @{ @}
454         \header @{ @}
455 @}
456 @end example
457
458 Dieses Verhalten kann verändert werden, indem die Variable
459 @code{toplevel-music-handler} auf der obersten Ebene gesetzt
460 wird.  Die Definition des Standards findet sich in der Datei
461 @file{../scm/lily.scm}.
462
463 @item
464 Eine Textbeschriftung, eine Strophe etwa:
465 @example
466 \markup @{
467    2.  Die erste Zeile der zweiten Strophe.
468 @}
469 @end example
470
471 Textbeschriftungen werden über, zwischen oder unter musikalischen
472 Ausdrücken gesetzt, so wie sie notiert werde.
473
474 @cindex Variablen
475
476 @item
477 Eine Variable, wie
478 @example
479 foo = @{ c4 d e d @}
480 @end example
481
482 Sie kann dann später in der Datei eingesetzt werden, indem @code{\foo}
483 geschrieben wird.  Die Bezeichnung der Variable darf nur aus
484 alphabetischen Zeichen bestehen, keine Zahlen, Unter- oder Bindestriche.
485
486 @end itemize
487
488 Das folgende Beispiel zeigt drei Dinge, die auf der obersten Ebene
489 notiert werden können:
490
491 @example
492 \layout @{
493   % Zeilen rechtsbündig setzen
494   ragged-right = ##t
495 @}
496
497 \header @{
498    title = "Do-re-mi"
499 @}
500
501 @{ c'4 d' e2 @}
502 @end example
503
504 An einer beliebigen Stelle der Datei kann jede der folgenden lexikalen
505 Anweisungen notiert werden:
506
507 @itemize
508 @item @code{\version}
509 @item @code{\include}
510 @item @code{\sourcefilename}
511 @item @code{\sourcefileline}
512 @item
513 Ein einzeiliger Kommentar, beginnend mit @code{%}.
514
515 @item
516 Ein mehrzeiliger Kommentar, umgeben von @code{%@{ .. %@}}.
517
518 @end itemize
519
520 @cindex Leerzeichen
521
522 Leerzeichen zwischen Einheiten in der Eingabe werden generell ignoriert
523 und können nach Belieben weggelassen werden oder hinzugefügt werden,
524 um die Lesbarkeit des Codes zu verbessern.  Mindestens ein Leerzeichen
525 sollte jedoch unter folgenden Umständen immer eingesetzt werden, um
526 Fehler zu vermeiden:
527
528 @itemize
529 @item
530 Vor und hinter jeder schließenden oder öffnenden Klammer,
531 @item
532 nach jedem Befehl oder jeder Variable, also jeder Einheit, die mit
533 @code{\} beginnt,
534 @item
535 nach jeder Einheit, die als Scheme-Ausdruck interpretiert werden,
536 also alle Einheiten, die mit @code{#} beginnen.
537 @item
538 Alle Einheiten von Scheme-Ausdrücken müssen mit Leerzeichen getrennt
539 werden,
540 @item
541 in Gesangstextabschnitten (@code{lyricmode}) müssen Leerzeichen
542 zwischen alle Ausdrücke in @code{\override}- und @code{\set}-Befehlen
543 gesetzt werden.  Insbesondere müssen um Punkte und Gleichzeitszeichen
544 in Befehlen wie @code{\override Score . LyricTex #'font-size = #5)}
545 und vor dem gesamten Befehl geschrieben werden.
546
547 @end itemize
548
549 @seealso
550 Handbuch zum Lernen:
551 @rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert}.
552
553
554 @node Titel
555 @section Titel
556 @translationof Titles and headers
557
558 Fast alle gedruckten Noten beinhalten einen Titel und den Namen
559 des Komponisten, teilweise wird auch noch sehr viel mehr Information
560 zur Verfügung gestellt.
561
562 @menu
563 * Titel erstellen::
564 * Eigene Kopf und Fußzeilen sowie Titel::
565 * Verweis auf die Seitenzahlen::
566 * Inhaltsverzeichnis::
567 @end menu
568
569
570 @node Titel erstellen
571 @subsection Titel erstellen
572 @translationof Creating titles
573
574 Überschriften können für jede @code{\score}-Umgebung erstellt werden, sowohl
575 für die gesamte Datei (oder eine @code{\book}-Umgebung) als auch für
576 einzelne Buchabschnitte (innerhalb einer @code{\bookpart}-Umgebung).
577
578 Der Inhalt der Titelei wird aus der @code{\header}-Umgebung übernommen.  Die
579 @code{\header}-Umgebung eines Buches unterstützt folgende Felder:
580
581 @table @code
582 @funindex dedication
583 @item dedication
584 Die Widmung der Noten, wird auf oben auf der ersten Seite gesetzt.
585
586 @funindex title
587 @item title
588 Die Überschrift der Noten, wird unter der Widmung zentriert gesetzt.
589
590 @funindex subtitle
591 @item subtitle
592 Untertitel, zentriert unter der Überschrift.
593
594 @funindex subsubtitle
595 @item subsubtitle
596 Unteruntertitel, zentriert unter dem Untertitel.
597
598 @funindex poet
599 @item poet
600 Name des Dichters, linksbündig unter dem Unteruntertitel.
601
602 @funindex instrument
603 @item instrument
604 Bezeichnung des Instruments, zentriert unter dem Unteruntertitel.
605 Auch oben auf der Seite zentriert (andere als erste Seite).
606
607 @funindex composer
608 @item composer
609 Name des Komponisten, rechtsbündig unter dem Unteruntertitel.
610
611 @funindex meter
612 @item meter
613 Metrum, linksbündig unter dem Dichter.
614
615 @funindex arranger
616 @item arranger
617 Name des Bearbeiters/Arrangeurs, rechtsbündig unter dem Komponisten.
618
619 @funindex piece
620 @item piece
621 Bezeichnung des Stückes, linksbündig unter dem Metrum.
622
623 @funindex opus
624 @item opus
625 Bezeichnung des Opus, rechtsbündig unter dem Bearbeiter.
626
627 @cindex Seitenumbruch, erzwingen
628 @funindex breakbefore
629
630 @item breakbefore
631 Hiermit beginnt der Titel auf einer neuen Seite. (Kann die Werte
632 ##t (wahr) oder ##f (falsch) haben.)
633
634 @funindex copyright
635 @item copyright
636 Anzeige eines Copyright, zentriert unten auf der ersten Seite.  Um das
637 Copyright-Symbol zu notieren, siehe @ref{Zeichenkodierung}.
638
639 @funindex tagline
640 @item tagline
641 Zentriert unten auf der letzten Seite.  Enthält standardmäßig: @qq{Music
642 engraving by LilyPond (@var{version})---www.lilypond.org}
643
644 @end table
645
646 Hier eine Demonstration der möglichen Felder.  Beliebige
647 Formatierungsbefehle für Textbeschriftung können in der Titelei
648 eingesetzt werden.  Siehe hierzu auch @ref{Text formatieren}.
649
650 @c KEEP LY
651 @lilypond[quote,verbatim,line-width=11.0\cm]
652 \paper {
653   line-width = 9.0\cm
654   paper-height = 10.0\cm
655 }
656
657 \book {
658   \header {
659     dedication = "mir gewidmet"
660     title = \markup \center-column { "Titel erste Zeile" "Titel zweite Zeile, länger" }
661     subtitle = "Untertitel"
662     subsubtitle = #(string-append "Unteruntertitel LilyPond-Version "
663 (lilypond-version))
664     poet = "Dichter"
665     composer =  \markup \center-column { "Komponist" \small "(1847-1973)" }
666     texttranslator = "Übersetzer"
667     meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "r" \huge
668 "um" }
669     arranger = \markup { \fontsize #8.5 "Be" \fontsize #2.5 "ar" \fontsize
670 #-2.5 "be" \fontsize #-5.3 "i" \fontsize #7.5 "ter" }
671     instrument = \markup \bold \italic "Instrument"
672     piece = "Stück"
673   }
674
675   \score {
676     { c'1 }
677     \header {
678       piece = "Stück zwei"
679       opus = "Opus1"
680     }
681   }
682   \markup {
683       und jetzt...
684   }
685   \score {
686     { c'1 }
687     \header {
688       piece = "Stück2"
689       opus = "Opus2"
690     }
691   }
692 }
693 @end lilypond
694
695 Wie schon oben gezeigt, können mehrfache @code{\header}-Umgebungen
696 eingesetzt werden.  Wenn das gleiche Feld in mehreren
697 Umgebungen, wird die letzte vorkommende
698 Version benutzt.  Hier ein kurzes Beispiel:
699
700 @example
701 \header @{
702   composer = "Komponist"
703 @}
704 \header @{
705   piece = "Stück"
706 @}
707 \score @{
708   \new Staff @{ c'4 @}
709   \header @{
710     piece = "Neues Stück"  % überschreibt die die vorige Definition
711   @}
712 @}
713 @end example
714
715 Wenn @code{\header} innerhalb der @code{\score}-Umgebung definiert wird,
716 wird normalerweise nur die Information von @code{piece} und @code{opus}
717 ausgegeben.  Musikalische Ausdrücke innerhalb von @code{\score} müssen
718 vor @code{\header} gesetzt werden.
719
720 @lilypond[quote,verbatim,line-width=11.0\cm]
721 \score {
722   { c'4 }
723   \header {
724     title = "title"  % not printed
725     piece = "piece"
726     opus = "opus"
727   }
728 }
729 @end lilypond
730
731 @funindex print-all-headers
732
733 @noindent
734 Dieses Verhalten kann verändert werden (sodass alle Angaben aus der
735 Überschrift gesetzt werden, wenn sich @code{\header} innerhalb von
736 @code{\score} befindet), indem man schreibt:
737
738 @example
739 \paper@{
740   print-all-headers = ##t
741 @}
742 @end example
743
744 @cindex Copyright
745 @cindex Tagline
746
747 Die Standardfußzeile ist leer mit Ausnahme der ersten Seite, auf der
748 das @code{copyright}-Feld aus der @code{\header}-Umgebung eingefügt wird,
749 und die letzte Seite, auf der das @code{tagline}-Feld eingefügt wird.
750 Der Standardinhalt von @code{tagline} ist @qq{Music engraving by
751 LilyPond (@var{version})---www.lilypond.org}.  Gut gesetzte Noten werben sehr effektiv
752 für LilyPond, darum bitten wir darum, diese Zeile stehen zu lassen,
753 wenn es möglich ist.
754
755 Ein Titelfeld kann vollständig entfernt werden, indem es auf
756 falsch gesetzt wird:
757
758 @example
759 \header @{
760   tagline = ##f
761   composer = ##f
762 @}
763 @end example
764
765
766 @node Eigene Kopf und Fußzeilen sowie Titel
767 @subsection Eigene Kopf- und Fußzeilen sowie Titel
768 @translationof Custom headers footers and titles
769
770 Kompliziertere Anpassungen können vorgenommen werden, indem die
771 folgenden Variablen innerhalb der @code{\paper}-Umgebung geändert
772 werden.  Die Init-Datei @file{../ly/titling-init.ly} enthält das
773 Standardverhalten.
774
775 @table @code
776
777 @funindex bookTitleMarkup
778
779 @item bookTitleMarkup
780 Das ist die Überschrift, die für das gesamte Dokument gilt.  Üblicherweise
781 wird hier der Komponist und die Überschrift des Werkes genannt.
782
783 @funindex scoreTitleMarkup
784
785 @item scoreTitleMarkup
786 Das ist die Überschrift, die vor jede @code{\score}-Umgebung gesetzt wird.
787 Üblicherweise wird hier etwa die Bezeichnung eines Satzes notiert
788 (im @code{piece}-Feld).
789
790 @funindex oddHeaderMarkup
791
792 @item oddHeaderMarkup
793 Das ist der Seitenkopf für ungerade Seiten.
794
795 @funindex evenHeaderMarkup
796
797 @item evenHeaderMarkup
798 Das ist der Seitenkopf für gerade Seiten.  Wenn undefiniert, wird der
799 ungerade Seitenkopf eingesetzt.
800
801 Standardmäßig werden die Kopfzeilen so definiert, dass die Seitennummer
802 sich außen befindet und das Instrument zentriert gesetzt wird.
803
804 @funindex oddFooterMarkup
805
806 @item oddFooterMarkup
807 Das ist die Fußzeile für ungerade Seiten.
808
809 @funindex evenFooterMarkup
810
811 @item evenFooterMarkup
812 Das ist die Fußzeile für gerade Seiten.  Wenn undefiniert, wird die
813 ungerade Fußzeile eingesetzt.
814
815 Standardmäßig wird in der Fußzeile auf der ersten Seite das Copyright
816 und auf der letzten Seite die Tag-Zeile gesetzt.
817
818 @end table
819
820
821 @funindex \paper
822 @cindex Kopfzeile
823 @cindex Fußzeile
824 @cindex Seitenlayout
825 @cindex Layout der Seite
826 @cindex Titel
827 @cindex Überschriften
828
829 Die folgende Definition setzt die Überschrift linksbündig und
830 den Komponisten rechtsbündig auf einer einzelnen Zeile:
831
832 @example
833 \paper @{
834   bookTitleMarkup = \markup @{
835    \fill-line @{
836      \fromproperty #'header:title
837      \fromproperty #'header:composer
838    @}
839   @}
840 @}
841 @end example
842
843 Kopf- und Fußzeile werden mit den Funktionen @code{make-header} und
844 @code{make-footer} erstellt, welche in @code{\paper} definiert werden.
845 Die Standardimplementationen finden sich in @file{ly/paper-defaults-init.ly} und
846 @file{ly/titling-init.ly}.
847
848 Dieses Beispiel zentriert die Seitenzahlen unten auf jeder Seite:
849
850 @example
851 \paper @{
852   print-page-number = ##t
853   print-first-page-number = ##t
854   oddHeaderMarkup = \markup \fill-line @{ " " @}
855   evenHeaderMarkup = \markup \fill-line @{ " " @}
856   oddFooterMarkup = \markup @{
857     \fill-line @{
858       \bold \fontsize #3
859       \on-the-fly #print-page-number-check-first
860       \fromproperty #'page:page-number-string
861     @}
862   @}
863   evenFooterMarkup = \markup @{
864     \fill-line @{
865       \bold \fontsize #3
866       \on-the-fly #print-page-number-check-first
867       \fromproperty #'page:page-number-string
868     @}
869   @}
870 @}
871 @end example
872
873
874 @node Verweis auf die Seitenzahlen
875 @subsection Verweis auf die Seitenzahlen
876 @translationof Reference to page numbers
877
878 Eine bestimmte Stelle der Partitur kann mit einem @code{\label}-Befehl
879 markiert werden, sowohl auf oberster Ebene als auch innerhalb eines
880 musikalischen Ausdrucks.  Auf diese Marke kann dann verwiesen werden,
881 um die Seitenzahl zu erhalten, auf der die Marke vorkommt.  Der
882 Verweis wird mit dem Befehl @code{\page-ref} gefordert (innerhalb
883 von @code{\markup}).
884
885 @c KEEP LY
886 @lilypond[verbatim,line-width=11.0\cm]
887 \header { tagline = ##f }
888 \book {
889   \label #'ErstePartitur
890   \score {
891     {
892       c'1
893       \pageBreak \mark A \label #'ZeichenA
894       c'1
895     }
896   }
897
898   \markup { Die erste Partitur fängt auf
899             Seite \page-ref #'ErstePartitur "0" "?" an.}
900   \markup { Zeichen A befindet sich auf Seite
901             \concat { \page-ref #'ZeichenA "0" "?" . } }
902 }
903 @end lilypond
904
905 Der @code{\page-ref}-Textbeschriftungsbefehl braucht drei Argumente:
906
907 @enumerate
908
909 @item die Marke, ein Scheme-Symbol, etwa @code{#'ErstePartitur},
910 @item eine Beschriftung, die als Platzhalter benutzt wird, um die Breite des Verweisen zu schätzen,
911 @item eine Beschriftung, die anstelle der Seitenzahl gesetzt wird, wenn die Marke unbekannt ist.
912 @end enumerate
913
914 Der Grund, warum ein Platzhalter benötigt wird, ist dass zu dem Zeitpunkt,
915 an dem die Textbeschriftungen ausgewertet werden, noch keine Seitenumbrüche
916 vorgenommen wurden und die Seitenzahlen deshalb noch nicht bekannt sind.
917 Um hier ein Problem zu vermeiden, wird die eigentliche Auswertung der
918 Textbeschriftung erst später ausgeführt, die Größe des Textes muss aber
919 schon vorher bekannt sein.  Die Größe wird mithilfe des Platzhalters
920 bestimmt.  Wenn eine Partitur zwischen 10 und 99 Seiten hat, kann man
921 "00" schreiben, also eine zweistellige Zahl.
922
923 @code{\label}
924 @code{\page-ref}
925
926 @predefined
927 @funindex \label,
928 @funindex \page-ref.
929 @endpredefined
930
931
932 @node Inhaltsverzeichnis
933 @subsection Inhaltsverzeichnis
934 @translationof Table of contents
935
936 Ein Inhaltsverzeichnis kann eingefügt werden mit dem Befehl
937 @code{\markuplines \table-of-contents}.  Die Elemente, die im
938 Inhaltsverzeichnis aufgelistet werden sollen, werden mit dem
939 @code{\tocItem}-Befehl markiert, welches sowohl auf höchster
940 Ebene als auch in einem musikalischen Ausdruck verwendet werden
941 kann.
942
943 @verbatim
944 \markuplines \table-of-contents
945 \pageBreak
946
947 \tocItem \markup "Erste Partitur"
948 \score {
949   {
950     c'4  % ...
951     \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur"
952     d'4  % ...
953   }
954 }
955
956 \tocItem \markup "zweite Partitur"
957 \score {
958   {
959     e'4 % ...
960   }
961 }
962 @end verbatim
963
964 Die Beschriftungen, die benutzt werden um das Inhaltsverzeichnis
965 zu formatieren, sind in der @code{\paper}-Umgebung definiert.
966 Die Standardformatierungselemente sind @code{tocTitleMarkup}
967 um die Überschrift zu formatieren und @code{tocItemMarkup} um
968 die einzelnen Inhaltselemente zu formatieren, bestehend aus
969 dem Titelelement und einer Seitenzahl.  Die Variablen können
970 durch den Benutzer geändert werden:
971
972 @verbatim
973 \paper {
974   %% Übersetzung der Inhaltsverzeichnisüberschrift nach französisch:
975   tocTitleMarkup = \markup \huge \column {
976     \fill-line { \null "Table des matières" \null }
977     \hspace #1
978   }
979   %% hier größere Schriftarten
980   tocItemMarkup = \markup \large \fill-line {
981     \fromproperty #'toc:text \fromproperty #'toc:page
982   }
983 }
984 @end verbatim
985
986 Die Inhaltsverzeichniselemente Text und Seitenzahl werden
987 in der Definition von @code{tocItemMarkup} aufgerufen mit
988 @code{#'toc:text} und @code{#'toc:page}.
989
990 Neue Befehle und Beschriftungen können auch definiert werden,
991 um eigene Inhaltsverzeichnisse zu gestalten:
992
993 @itemize
994
995 @item zuerst muss eine neue Beschriftungsvariable in der
996 @code{\paper}-Umgebung definiert werden
997
998 @item dann muss die musikalische Funktion definiert werden, die
999 ein Element zum Inhaltsverzeichnis hinzufügt, indem die neue
1000 Variable benutzt wird.
1001
1002 @end itemize
1003
1004 Das folgende Beispiel definiert einen neuen Stil um Akt-Bezeichnungen
1005 einer Oper in das Inhaltsverzeichnis aufzunehmen:
1006
1007 @verbatim
1008 \paper {
1009   tocActMarkup = \markup \large \column {
1010     \hspace #1
1011     \fill-line { \null \italic \fromproperty #'toc:text \null }
1012     \hspace #1
1013   }
1014 }
1015
1016 tocAct =
1017 #(define-music-function (parser location text) (markup?)
1018    (add-toc-item! 'tocActMarkup text))
1019 @end verbatim
1020
1021 @lilypond[line-width=11.0\cm]
1022 \header { tagline = ##f }
1023 \paper {
1024   tocActMarkup = \markup \large \column {
1025     \hspace #1
1026     \fill-line { \null \italic \fromproperty #'toc:text \null }
1027     \hspace #1
1028   }
1029 }
1030
1031 tocAct =
1032 #(define-music-function (parser location text) (markup?)
1033    (add-toc-item! 'tocActMarkup text))
1034
1035 \book {
1036   \markuplines \table-of-contents
1037   \tocAct \markup { Atto Primo }
1038   \tocItem \markup { Coro. Viva il nostro Alcide }
1039   \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1040   \tocAct \markup { Atto Secondo }
1041   \tocItem \markup { Sinfonia }
1042   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1043   \markup \null
1044 }
1045 @end lilypond
1046
1047
1048 @seealso
1049 Installierte Dateien:
1050 @file{../ly/toc-init.ly}.
1051
1052 @funindex \table-of-contents
1053 @funindex \tocItem
1054
1055 @predefined
1056 @code{\table-of-contents},
1057 @code{\tocItem}.
1058 @endpredefined
1059
1060
1061 @node Arbeiten an Eingabe-Dateien
1062 @section Arbeiten an Eingabe-Dateien
1063 @translationof Working with input files
1064
1065 @menu
1066 * LilyPond-Dateien einfügen::
1067 * Verschiedene Editionen aus einer Quelldatei::
1068 * Zeichenkodierung::
1069 * LilyPond-Notation anzeigen::
1070 @end menu
1071
1072
1073 @node LilyPond-Dateien einfügen
1074 @subsection LilyPond-Dateien einfügen
1075 @translationof Including LilyPond files
1076
1077 @funindex \include
1078 @cindex einfügen  von Dateien
1079 @cindex Dateien einfügen
1080
1081 Ein größeres Projekt kann in einzelne Dateien aufgeteilt werden.
1082 Um eine andere Datei einzubinden, kann der Befehl
1083
1084 @example
1085 \include "andereDatei.ly"
1086 @end example
1087
1088 @noindent
1089 benutzt werden.
1090
1091 Die Zeile @code{\include "andereDatei.ly"} benimmt sich genauso,
1092 also ob der Inhalt der Datei @file{andereDatei.ly} komplett in die
1093 Hauptdatei eingefügt werden würde.  So kann man für ein größeres
1094 Projekt die einzelnen Stimmen der Instrumente getrennt notieren
1095 und sie dann in einer Partitur-Datei benutzen.  Meistens werden
1096 in den eingefügten Dateien einige Variablen definiert, die dann
1097 auch in der Hauptdatei eingesetzt werden können.  Mit Marken (Tags)
1098 gekennzeichnete Abschnitte können eingesetzt werden, um die
1099 entsprechenden Noten etc. an verschiedenen Stellen in der Datei
1100 zur Verfügung zu stellen. Siehe auch @ref{Verschiedene Editionen aus einer Quelldatei}.
1101
1102 Auf Dateien im aktuellen Verzeichnis kann einfach mit dem Dateinamen
1103 nach dem @code{\include}-Befehl verwiesen werden.  Dateien an anderen
1104 Stellen können eingebunden werden, indem entweder ein vollständiger
1105 Pfad oder ein relativer Pfad zu der Datei angegeben wird.  Hierbei
1106 sollten die für UNIX typischen Schrägstriche (/) und nicht die
1107 rückwärtsgeneigten von Windows (\) verwendet werden, um die Verzeichnisse
1108 zu trennen.  Wenn etwa die Datei @file{kram.ly} ein Verzeichnis
1109 höher liegt als das aktuelle Verzeichnis, sollte der Befehl so
1110 aussehen:
1111
1112 @example
1113 \include "../kram.ly"
1114 @end example
1115
1116 @noindent
1117 Wenn die Orchesterstimmen andererseits in einem Unterordner mit
1118 der Bezeichnung @code{stimmen} liegen, sieht er folgendermaßen
1119 aus:
1120
1121 @example
1122 \include "stimmen/VI.ly"
1123 \include "stimmen/VII.ly"
1124 ... etc
1125 @end example
1126
1127 Dateien, die eingebunden werden sollen, können selber auch wiederum
1128 ein @code{\include} enthalten.  Diese Einbindung zweiter Ebene
1129 werden erst interpretiert, wenn sie sich in der Hauptdatei befinden,
1130 sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
1131 sondern relativ zur Hauptdatei gesetzt werden müssen.  Dieses Verhalten
1132 kann jedoch auch verändert werden, indem man lilypond die Option
1133 @code{-drelative-includes} auf der Kommandozeile zuweist (oder indem
1134 man den Befehl @code{#(ly:set-option 'relative-includes #t)} an den
1135 Beginn der Quelldatei schreibt).  Mit @code{relative-includes} wird
1136 der Pfad jedes @code{\include}-Befehls als relativ zu der Datei angenommen,
1137 in der sich der Befehl befindet.  Dieses Verhalten wird empfohlen und wird
1138 in zukünftigen Versionen von LilyPond den Standard darstellen.
1139
1140 Dateien können auch aus einem Verzeichnis eingebunden werden,
1141 dass im Suchpfad von LilyPond liegt.  Hierzu muss auf der
1142 Kommandozeile das entsprechende Verzeichnis angegeben werden
1143 und die Dateien, die eingebunden werden, müssen nur mit ihrem Namen
1144 notiert sein.  Wenn etwa die Datei @file{Haupt.ly} kompiliert
1145 werden soll, die Dateien aus dem Unterverzeichnis @file{stimmen}
1146 einbindet, müssen sie sich im Verzeichnis von @file{Haupt.ly}
1147 befinden und dann LilyPond folgendermaßen aufrufen:
1148
1149 @example
1150 lilypond --include=stimmen Haupt.ly
1151 @end example
1152
1153 @noindent
1154 In @file{Haupt.ly} steht:
1155
1156 @example
1157 \include "VI.ly"
1158 \include "VII.ly"
1159 ... usw.
1160 @end example
1161
1162 Dateien, die in vielen Partituren verwendet werden sollen, können
1163 im LilyPond-Verzeichnis @file{../ly} gespeichert werden.  (Die
1164 Stelle, an der dieses Verzeichnis sich befindet, hängt vom Betriebssystem
1165 ab, siehe hierzu @rlearning{Mehr Information}).  Dateien
1166 in diesem Verzeichnis können einfach mit ihrem Namen eingefügt werden.
1167 So werden auch die Sprachdateien wie etwa @file{deutsch.ly} eingefügt.
1168
1169 LilyPond lädt eine Anzahl an Dateien, wenn das Programm aufgerufen wird.
1170 Diese Dateien sind für den Benutzer nicht ersichtlich, aber die Dateien
1171 können identifiziert werden, indem LilyPond auf der Kommandozeile mit
1172 Option aufgerufen wird: @code{lilypond --verbose}.  Hiermit wird
1173 neben anderer Information auch eine Liste von Pfaden und Dateien
1174 aufgeführt, die LilyPond benutzt.  Die wichtigeren Dateien werden
1175 im Abschnitt @rlearning{Mehr Information} besprochen.
1176 Diese Dateien können verändert werden, aber Änderungen gehen verloren,
1177 wenn eine neue LilyPond-Version installiert wird.
1178
1179 Eine einfache Beispiele, die die Benutzung von @code{\include} demonstrieren,
1180 sind dargestellt in
1181 @rlearning{Partituren und Stimmen}.
1182
1183 @seealso
1184 Handbuch zum Lernen:
1185 @rlearning{Mehr Information},
1186 @rlearning{Partituren und Stimmen}.
1187
1188 @knownissues
1189
1190 Wenn eine Datei eingebunden wird, deren Name einer Datei aus
1191 dem Installationsverzeichnis von LilyPond entspricht, wird die
1192 installierte Datei anstelle der eigenen verwendet.
1193
1194
1195 @node Verschiedene Editionen aus einer Quelldatei
1196 @subsection Verschiedene Editionen aus einer Quelldatei
1197 @translationof Different editions from one source
1198
1199 Es gibt verschiedene Funktionen, die es möglich machen, unterschiedliche
1200 Versionen einer Partitur aus der gleichen Quelldatei zu produzieren.
1201 Variablen werden am besten eingesetzt, wenn es darum geht, längere
1202 Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf
1203 verschiedene Weise zu kombinieren.  Tag-Marken dagegen werden am
1204 besten eingesetzt, wenn eine von mehreren kurzen alternativen
1205 Notenabschnitten ausgewählt werden soll.  Egal welche Methode am
1206 Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn
1207 die eigentlichen Noten und die Struktur der Partitur voneinander
1208 getrennt notiert werden -- so kann die Struktur geändert werden,
1209 ohne dass man Änderungen an den Noten vornehmen muss.
1210
1211 @menu
1212 * Variablen benutzen::
1213 * Marken benutzen::
1214 @end menu
1215
1216 @node Variablen benutzen
1217 @unnumberedsubsubsec Variablen benutzen
1218 @translationof Using variables
1219
1220 @cindex Variablen, Benutzung
1221
1222 Wenn Notenabschnitt in Variablen definiert werden, können sie
1223 an unterschiedlichen Stellen in der Partitur eingesetzt werden,
1224 siehe auch @rlearning{Stücke durch Bezeichner organisieren}.  Zum
1225 Beispiel enthält eine Vokalpartitur für ein @notation{a cappella}
1226 Stück oft einen Klavierauszug, der das Einüben einfacher macht.
1227 Der Klavierauszug enthält die gleichen Noten, sodass man sie nur
1228 einmal notieren muss.  Noten aus zwei Variablen können auf einem
1229 System kombiniert werden, siehe @ref{Automatische Kombination von Stimmen}.
1230 Hier ein Beispiel:
1231
1232 @lilypond[verbatim,quote]
1233 sopranoMusic = \relative c'' { a4 b c b8( a) }
1234 altoMusic = \relative g' { e4 e e f }
1235 tenorMusic = \relative c' { c4 b e d8( c) }
1236 bassMusic = \relative c' { a4 gis a d, }
1237 allLyrics = \lyricmode {King of glo -- ry }
1238 <<
1239   \new Staff = "Soprano" \sopranoMusic
1240   \new Lyrics \allLyrics
1241   \new Staff = "Alto" \altoMusic
1242   \new Lyrics \allLyrics
1243   \new Staff = "Tenor" {
1244     \clef "treble_8"
1245     \tenorMusic
1246   }
1247   \new Lyrics \allLyrics
1248   \new Staff = "Bass" {
1249     \clef "bass"
1250     \bassMusic
1251   }
1252   \new Lyrics \allLyrics
1253   \new PianoStaff <<
1254     \new Staff = "RH" {
1255       \set Staff.printPartCombineTexts = ##f
1256       \partcombine
1257       \sopranoMusic
1258       \altoMusic
1259     }
1260     \new Staff = "LH" {
1261       \set Staff.printPartCombineTexts = ##f
1262       \clef "bass"
1263       \partcombine
1264       \tenorMusic
1265       \bassMusic
1266     }
1267   >>
1268 >>
1269 @end lilypond
1270
1271 Unterschiedliche Partituren, die entweder nur den Chor oder das
1272 Klavier zeigen, können produziert werden, indem die Struktur
1273 verändert wird; die Noten müssen dazu nicht verändert werden.
1274
1275 Für längere Partituren können Variablen in eigene Dateien notiert
1276 werden, die dann eingebunden werden, siehe @ref{LilyPond-Dateien einfügen}.
1277
1278
1279 @node Marken benutzen
1280 @unnumberedsubsubsec Marken benutzen
1281 @translationof Using tags
1282
1283 @cindex Tag
1284 @cindex Marke
1285 @cindex markierte Noten entfernen
1286 @cindex markierte Noten behalten
1287
1288 @funindex \tag
1289 @funindex \keepWithTag
1290 @funindex \removeWithTag
1291 @funindex tag
1292 @funindex keepWithTag
1293 @funindex removeWithTag
1294
1295 Der @code{\tag #'@var{TeilA}}-Befehl markiert einen musikalischen
1296 Ausdruck mit der Bezeichnung @var{TeilA}.  Ausdrücke, die auf diese
1297 Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt
1298 bzw. ausgefiltert werden.  Das geschieht mit den Befehlen
1299 @code{\keepWithTag #'@var{Bezeichnung}} bzw. @code{\removeWithTag #'@var{Bezeichnung}}.
1300 Die Wirkung dieser Filter auf die markierten Notenabschnitte ist
1301 wie folgt:
1302
1303 @multitable @columnfractions .5 .5
1304
1305 @headitem Filter
1306   @tab Resultat
1307
1308 @item
1309 Markierte Noten mit vorgesetztem @code{\keepWithTag #'@var{Bezeichnung}}
1310   @tab Unmarkierte Noten und Noten mit der Marke @var{Bezeichnung} werden
1311   gesetzt, Noten mit einer anderen Marke werden nicht angezeigt.
1312
1313 @item
1314 Markierte Noten mit vorgesetztem @code{\removeWithTag #'@var{Bezeichnung}}
1315   @tab Unmarkierte Noten und Noten mit einer anderen Marke als
1316   @var{Bezeichnung} wird angezeigt, Noten markiert mit @var{Bezeichnung}
1317   werden nicht angezeigt.
1318
1319 @item
1320 Markierte Noten, weder mit vorgesetztem @code{\keepWithTag} noch
1321 @code{\removeWithTag}
1322   @tab Alle markierten und unmarkierten Noten werden angezeigt.
1323
1324 @end multitable
1325
1326 Die Argumente der Befehle @code{\tag}, @code{\keepWithTag} und
1327 @code{\removeWithTag} sollten ein Symbol sein (wie etwa
1328 @code{#'score} oder @code{#'part}), gefolgt von einem musikalischen
1329 Ausdruck.
1330
1331 Im folgenden Beispiel erscheinen zwei Versionen der Noten, eine
1332 zeigt Triller in normaler Notation, die andere zeigt sie ausgeschrieben:
1333
1334 @lilypond[verbatim,quote]
1335 music = \relative g' {
1336   g8. c32 d
1337   \tag #'trills { d8.\trill }
1338   \tag #'expand { \repeat unfold 3 { e32 d } }
1339   c32 d
1340  }
1341
1342 \score {
1343   \keepWithTag #'trills \music
1344 }
1345 \score {
1346   \keepWithTag #'expand \music
1347 }
1348 @end lilypond
1349
1350 @noindent
1351 Entsprechend können auch Abschnitte ausgeschlossen werden; das
1352 erfordert manchmal weniger Schreibarbeit:
1353
1354 @lilypond[verbatim,quote]
1355 music = \relative g' {
1356   g8. c32 d
1357   \tag #'trills { d8.\trill }
1358   \tag #'expand {\repeat unfold 3 { e32 d } }
1359   c32 d
1360  }
1361
1362 \score {
1363   \removeWithTag #'expand
1364   \music
1365 }
1366 \score {
1367   \removeWithTag #'trills
1368   \music
1369 }
1370 @end lilypond
1371
1372 Marken können auch auf Artikulationen, Text usw angewendet werden,
1373 indem man ihnen
1374
1375 @example
1376 -\tag #'@var{your-tag}
1377 @end example
1378
1379 @noindent
1380 voranstellt (jedoch nach der Note, an die sie gebunden sind).  Mit
1381 diesem Code etwa könnte man entweder Fingersatz oder aber einen
1382 Text ausgeben:
1383
1384 @example
1385 c1-\tag #'finger ^4
1386 c1-\tag #'warn ^"Achtung!"
1387 @end example
1388
1389 Mehrfache Marken können mithilfe von mehreren @code{\tag}-Befehlen
1390 notiert werden:
1391
1392 @lilypond[quote,verbatim]
1393 music = \relative c'' {
1394   \tag #'a \tag #'both { a4 a a a }
1395   \tag #'b \tag #'both { b4 b b b }
1396 }
1397 <<
1398 \keepWithTag #'a \music
1399 \keepWithTag #'b \music
1400 \keepWithTag #'both \music
1401 >>
1402 @end lilypond
1403
1404 Mehrfache @code{\removeWithTag}-Filter können auf einen
1405 musikalischen Ausdruck angewendet werden, um mehrere unterschiedliche
1406 markierte Abschnitte aus dem Druckbild zu entfernen.
1407
1408 @lilypond[verbatim,quote]
1409 music = \relative c'' {
1410 \tag #'A { a4 a a a }
1411 \tag #'B { b4 b b b }
1412 \tag #'C { c4 c c c }
1413 \tag #'D { d4 d d d }
1414 }
1415 {
1416 \removeWithTag #'B
1417 \removeWithTag #'C
1418 \music
1419 }
1420 @end lilypond
1421
1422 Zwei oder mehr @code{\keepWithTag}-Filter in einem musikalischen
1423 Ausdruck bewirken, dass @emph{alle} markierten Abschnitte entfernt
1424 werden, weil der erste Befehl alle markierten Abschnitt außer dem
1425 im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen
1426 eben genannten zusätzlich entfernt.
1427
1428
1429 @seealso
1430 Handbuch zum Lernen:
1431 @rlearning{Stücke durch Bezeichner organisieren}.
1432
1433 Notationsreferenz:
1434 @ref{Automatische Kombination von Stimmen},
1435 @ref{LilyPond-Dateien einfügen}.
1436
1437
1438 @ignore
1439 @c This warning is more general than this placement implies.
1440 @c Rests are not merged whether or not they come from tagged sections.
1441 @c Should be deleted?  -td
1442
1443 @knownissues
1444
1445 Multiple rests are not merged if you create a score with more
1446 than one tagged section at the same place.
1447
1448 @end ignore
1449
1450
1451 @node Zeichenkodierung
1452 @subsection Zeichenkodierung
1453 @translationof Text encoding
1454
1455 @cindex Unicode
1456 @cindex UTF-8
1457 @cindex Nicht-ASCII-Zeichen
1458
1459 LilyPond benutzt alle Zeichen, die durch das Unicode-Konsortium
1460 und ISO/IEC 10646 definiert sind.  Hiermit wird den Zeichen
1461 fast aller Schriftsysteme der Welt ein eindeutiger Name und ein
1462 Code-Punkt zugewiesen, mit dem sie identifizierbar sind.  Unicode
1463 kann mit mehreren Zeichenkodierungen verwirklicht werden.  LilyPond
1464 benutzt die UTF-8-Kodierung (UTF = Unicode Transformation Format),
1465 in der die normalen Zeichen des lateinischen Alphabets mit einem
1466 Byte dargestellt werden, während alle anderen Zeichen zwischen
1467 zwei und vier Byte Länge haben.
1468
1469 Das Aussehen des Zeichens wird bestimmt durch die gerade benutzte
1470 Schriftart (engl. font).  In einer Schriftartdatei werden die
1471 Nummern der Unicode-Zeichen einem bestimmten Glyphen zugeordnet.
1472 LilyPond verwendet die Pango-Bibliothek um mehrsprachige Texte
1473 und komplexe Skripte korrekt zu setzen.
1474
1475 LilyPond verändert die Kodierung der Eingabedatei nicht.  Das heißt,
1476 dass jeder Text -- Überschriften, Gesangstext, Spielanweisungen etc. --
1477 der nicht nur aus ASCII-Zeichen besteht, in UTF-8 kodiert sein
1478 musst.  Am einfachsten geht das, indem man einen Texteditor
1479 einsetzt, der mit Unicode-Zeichen umgehen kann.  Die meisten
1480 modernen weit verbreiteten Editoren besitzen heute UTF-8-Unterstützung,
1481 wie etwa vim, Emacs, jEdit oder GEdit.  Alle MS Windows-Systeme
1482 nach NT benutzen Unicode intern, sodass sogar Notepad Dateien
1483 in UTF-8 lesen und speichern kann.  Ein Editor mit mehr
1484 Funktionen unter Windows ist BabelPad oder Notepad++.
1485
1486 Wenn eine LilyPond-Eingabedatei nicht-ASCII-Zeichen enthält
1487 und nicht in UTF-8 gespeichert ist, gibt es folgende Fehlermeldung:
1488
1489 @example
1490 FT_Get_Glyph_Name () error: invalid argument
1491 @end example
1492
1493 Heir ein Beispiel mit Kyrilliza, hebräischem und portugiesischem Text:
1494
1495 @lilypond[quote]
1496 %c No verbatim here as the code does not display correctly in PDF
1497 % Cyrillic
1498 bulgarian = \lyricmode {
1499   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
1500 }
1501
1502 % Hebrew
1503 hebrew = \lyricmode {
1504   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
1505 }
1506
1507 % Portuguese
1508 portuguese = \lyricmode {
1509   à vo -- cê uma can -- ção legal
1510 }
1511
1512 \relative c' {
1513   c2 d e f g f e
1514 }
1515 \addlyrics { \bulgarian }
1516 \addlyrics { \hebrew }
1517 \addlyrics { \portuguese }
1518 @end lilypond
1519
1520 Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
1521 bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
1522 der Befehl @code{\char ##xhhhh} oder @code{\char #dddd} innerhalb einer
1523 @code{\markup}-Umgebung benutzt werden.  Hierbei bedeutet @code{hhhh} die
1524 hexadezimale Zahl und @code{ddd} die entsprechende dezimale Zahl
1525 für das erforderliche Zeichen.  Nullen zu Beginn können ausgelassen werden,
1526 aber normalerweise werden alle vier Zeichen der hexadezimalen Notation
1527 notiert. (Achten Sie darauf, dass Sie @emph{nicht} UTF-8-Codepunkte
1528 einsetzen, weil UTF-8 zusätzliche Bits enthält, die die Nummer der Oktets bezeichnet.)  Unicode-Tabellen und ein Verzeichnis der Zeichenbezeichnungen
1529 mit einer hexadezimalen Verweiszahl finden sich auf der Internetseite
1530 des Unicode Consortiums: @uref{http://www.unicode.org/}.
1531
1532 Mit @code{\char ##x03BE} und @code{\char #958} wird
1533 beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
1534 Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat.
1535
1536 Alle existierenden
1537 Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
1538 Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
1539 gespeichert werden.  Es muss natürlich auch noch eine Schriftart auf
1540 dem System installiert sein, die die notierten Zeichen darstellen kann.
1541
1542 Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem
1543 hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen,
1544 im Gesangstext und als normaler Text außerhalb der Partitur.
1545
1546 @lilypond[quote,verbatim]
1547 \score {
1548   \relative c'' {
1549     c1 \mark \markup { \char ##x03EE }
1550     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
1551   }
1552   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
1553 }
1554 \markup { "Copyright 2008--2011" \char ##x00A9 }
1555 @end lilypond
1556
1557 @cindex Copyright-Zeichen
1558
1559 Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
1560
1561 @example
1562 \header @{
1563   copyright = \markup @{ \char ##x00A9 "2008" @}
1564 @}
1565 @end example
1566
1567
1568 @node LilyPond-Notation anzeigen
1569 @subsection LilyPond-Notation anzeigen
1570 @translationof Displaying LilyPond notation
1571
1572 @funindex \displayLilyMusic
1573
1574 Ein musikalischer Ausdruck in LilyPond-Notation kann mit der Funktion
1575 @code{\displayLilyMusic} angezeigt werden.  Der Code
1576
1577 @example
1578 @{
1579   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
1580 @}
1581 @end example
1582
1583 @noindent
1584 etwa wird ausgeben:
1585
1586 @example
1587 @{ a,4 cis e fis g @}
1588 @end example
1589
1590 Normalerweise werden diese Zeilen zusammen mit allen anderen
1591 Kompilations-Nachrichten auf der Kommandozeile ausgegeben.
1592 Um sie separat zu speichern und das Ergebnis von @code{\displayLilyMusic}
1593 weiterzubenutzen,
1594 kann die Ausgabe mit folgendem Befehl in eine Datei umgeleitet werden:
1595
1596 @example
1597 lilypond file.ly >display.txt
1598 @end example
1599
1600
1601
1602 @node Ausgabe kontrollieren
1603 @section Ausgabe kontrollieren
1604 @translationof Controlling output
1605
1606 @menu
1607 * Notationsfragmente extrahieren::
1608 * Korrigierte Musik überspringen::
1609 * Alternative Ausgabeformate::
1610 * Die Notationsschriftart verändern::
1611 @end menu
1612
1613
1614 @node Notationsfragmente extrahieren
1615 @subsection Notationsfragmente extrahieren
1616 @translationof Extracting fragments of music
1617
1618 Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
1619 Quelldatei zu erzeugen.  Das kann damit verglichen werden, dass man
1620 mit der Schere bestimmte Regionen ausschneidet.
1621
1622 Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
1623 (engl. to clip = ausschneiden), extra definiert.  Mit folgender
1624 Definition beispielsweise
1625
1626 @verbatim
1627 \layout {
1628   clip-regions
1629   = #(list
1630       (cons
1631        (make-rhythmic-location 5 1 2)
1632        (make-rhythmic-location 7 3 4)))
1633 }
1634 @end verbatim
1635
1636 @noindent
1637 wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
1638 beginnt und im siebten Takt endet.  Die Bedeutung von @code{5 1 2} ist:
1639 nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
1640 in Takt 7.
1641
1642 Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
1643 werden, indem mehrere derartige Paare definiert werden.
1644
1645 Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
1646 Parameter @code{-dclip-systems} aufgerufen werden.  Die Schnipsel
1647 werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
1648 diese Formate auch als Parameter angegeben werden.
1649
1650 Zu mehr Information über Ausgabeformate siehe @rprogram{lilypond aufrufen}.
1651
1652
1653 @node Korrigierte Musik überspringen
1654 @subsection Korrigierte Musik überspringen
1655 @translationof Skipping corrected music
1656
1657
1658 @funindex skipTypesetting
1659 @funindex showFirstLength
1660 @funindex showLastLength
1661
1662 Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
1663 Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
1664 Korrektur.  Um die Korrektur zu beschleunigen, kann eingestellt werden,
1665 dass nur die letzten paar Takte angezeigt werden.  Das erreicht man
1666 mit dem Befehl
1667
1668 @verbatim
1669 showLastLength = R1*5
1670 \score { ... }
1671 @end verbatim
1672
1673 @noindent
1674 in der Quelldatei.  Damit werden nur die letzten fünf Takte (in einem
1675 4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt.  Besonders
1676 bei längeren Stücken ist es meistens sehr viel schneller, nur einen
1677 kleinen Teil des Stückes zu setzen als die gesamte Länge.  Wenn man
1678 am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
1679 werden soll), kann auch die @code{showFirstLength}-Eigenschaft
1680 nützlich sein.
1681
1682 Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
1683 Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
1684 werden.  Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
1685 wird kein Notensatz ausgegeben.
1686
1687 Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
1688 kontrollieren.  Hiermit werden alle Ereignisse, auch Tempo- und
1689 Instrumentenwechsel ausgelassen.  Man muss also sehr genau darauf
1690 achten, dass nichts unerwartetes geschieht.
1691
1692 @lilypond[quote,relative=2,ragged-right,verbatim]
1693 c8 d
1694 \set Score.skipTypesetting = ##t
1695 e8 e e e e e e e
1696 \set Score.skipTypesetting = ##f
1697 c8 d b bes a g c2
1698 @end lilypond
1699
1700 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
1701 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
1702 Übersetzung der Datei gespart wird.
1703
1704
1705 @node Alternative Ausgabeformate
1706 @subsection Alternative Ausgabeformate
1707 @translationof Alternative output formats
1708
1709 @cindex scalable vector graphics output
1710 @cindex skalierbare Vektorgraphik-Ausgabe
1711 @cindex SVG-Ausgabe
1712 @cindex encapsulated postscript output
1713 @cindex EPS-Ausgabe
1714 @cindex PNG-Ausgabe
1715
1716 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
1717 Document Forma) und PS (PostScript).  SVG (Scalable Vector
1718 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
1719 Network Graphics) gibt es auch als Ausgabeformate über die
1720 Kommandozeile.  Siehe @rprogram{Optionen von lilypond auf der Kommandozeile}.
1721
1722
1723 @node Die Notationsschriftart verändern
1724 @subsection Die Notationsschriftart verändern
1725 @translationof Replacing the notation font
1726
1727 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
1728 eingesetzt wird und kann unter der Adresse
1729 @example
1730 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
1731 @end example
1732
1733 @noindent
1734 heruntergeladen werden.  Hier einige Takte Noten mit der Gonville-Schriftart:
1735
1736 @c NOTE: these images are a bit big, but that's important
1737 @c       for the font comparison.  -gp
1738 @sourceimage{Gonville_after,,,}
1739
1740 Und hier einige Beispieltakte in der Feta-Schriftart:
1741
1742 @sourceimage{Gonville_before,,,}
1743
1744 @subsubheading Installationsanweisungen für MacOS
1745
1746 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
1747 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
1748 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
1749 siehe @rlearning{Mehr Information}.
1750 Benennen Sie das existierende @code{fonts}-Verzeichnis in
1751 @code{fonts_orig} um und benennen Sie das Verzeichnis
1752 @code{lilyfonts} in @code{fonts}.  Das alte Verzeichnis
1753 @code{fonts_orig} können Sie einfach in @code{fonts}
1754 zurückbenennen, um wieder nach Feta zu wechseln.
1755
1756 @seealso
1757 Handbuch zum Lernen: @rlearning{Mehr Information}.
1758
1759 @knownissues
1760
1761 Gonville kann nicht verwendet werden, um Alte Notation zu setzen.
1762 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
1763 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
1764
1765
1766 @node MIDI-Ausgabe
1767 @section MIDI-Ausgabe
1768 @translationof MIDI output
1769
1770 @cindex Klang
1771 @cindex MIDI
1772
1773 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
1774 Kontrolle und Interaktion mit digitalen Instrumenten.  Eine
1775 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
1776 Bändern/Stimmen.  Es ist keine eigentliche Klangdatei, denn man
1777 benötigt spezielle Programme die die Notenereignisse in Klang
1778 umwandeln können.
1779
1780 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
1781 man sich anhören kann, was man notiert hat.  Das hilft oft sehr gut
1782 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
1783 lassen sich meist sehr gut hören.
1784
1785 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und einen für
1786 globale Einstellungen.  Darum sollte die Quelldatei für eine MIDI-Datei
1787 nicht mehr als 15 Systeme (oder 14 wenn kein Schlagzeug benützt wird)
1788 besitzen.  Jedes weitere System bleibt stumm.
1789
1790
1791 @menu
1792 * MIDI-Dateien erstellen::
1793 * Der MIDI-Block::
1794 * Was geht in die MIDI-Ausgabe::
1795 * Wiederholungen im MIDI::
1796 * MIDI-Lautstärke kontrollieren::
1797 * Schlagzeug in MIDI::
1798 @end menu
1799
1800
1801 @node MIDI-Dateien erstellen
1802 @subsection MIDI-Dateien erstellen
1803 @translationof Creating MIDI files
1804
1805 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
1806 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
1807 werden, etwa so:
1808
1809 @example
1810 \score @{
1811   @var{...Noten...}
1812   \midi @{ @}
1813 @}
1814 @end example
1815
1816 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
1817 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
1818 Wenn auch die Notation gewünscht ist, muss zusätzlich die
1819 @code{\layout}-Umgebung vorhanden sein:
1820
1821 @example
1822 \score @{
1823   @var{...music...}
1824   \midi @{ @}
1825   \layout @{ @}
1826 @}
1827 @end example
1828
1829 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
1830 korrekt in das MIDI-Format übersetzt.  Dynamikzeichen, Crescendo und
1831 Decrescendo werden in den MIDI-Lautstärkekanal übertragen.  Dynamikzeichen
1832 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
1833 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
1834 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
1835 werden.  Siehe hierzu @ref{Der MIDI-Block}.
1836
1837 Das Anfangstempo und spätere Tempoänderungen können mit dem
1838 @code{\tempo}-Befehl innerhalb der Notation notiert werden.  Er
1839 bewirkt Tempoänderungen auch in der MIDI-Datei.  Der Befehl setzt
1840 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
1841 auch unterdrückt werden kann, siehe @ref{Metronomangabe}.  Eine
1842 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
1843 unten gezeigt, siehe @ref{Der MIDI-Block}.
1844
1845 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
1846 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
1847 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
1848 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
1849 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
1850 oder @code{\score}-Blocks einfügen:
1851
1852 @example
1853 #(ly:set-option 'midi-extension "midi")
1854 @end example
1855
1856 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
1857
1858 Als Alternative kann man diese Option auch als Kommandozeilenparameter
1859 übergeben:
1860
1861 @example
1862 lilypond … -dmidi-extension=midi lilyDatei.ly
1863 @end example
1864
1865 @unnumberedsubsubsec Instrumentenbezeichnungen
1866
1867 @cindex Instrumentbezeichnungen
1868
1869 @funindex Staff.midiInstrument
1870
1871 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
1872 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
1873 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
1874 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
1875 in der dort definierten Schreibweise notiert werden.
1876
1877 @example
1878 \new Staff @{
1879   \set Staff.midiInstrument = #"glockenspiel"
1880   @var{...Noten...}
1881 @}
1882 @end example
1883
1884 @example
1885 \new Staff \with @{midiInstrument = #"cello"@} @{
1886   @var{...Noten...}
1887 @}
1888 @end example
1889
1890 Wenn die Schreibweise nicht genau einem definierten Instrument aus
1891 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
1892
1893 @snippets
1894
1895 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1896 {changing-midi-output-to-one-channel-per-voice.ly}
1897
1898 @knownissues
1899
1900 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
1901 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
1902 nicht geändert werden kann.
1903
1904 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
1905 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
1906 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
1907
1908
1909 @node Der MIDI-Block
1910 @subsection Der MIDI-Block
1911 @translationof MIDI block
1912
1913 @cindex MIDI-Umgebung
1914
1915 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
1916 vorkommen, wenn MIDI-Ausgabe gewünscht ist.  Sie entspricht der
1917 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut.  Oft wird
1918 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
1919 Kontexte umgeändert werden, neue Kontexte definiert werden oder
1920 neue Werte definiert werden.  Das folgende Beispiel etwa definiert
1921 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
1922 gesetzt wird:
1923
1924 @example
1925 \score @{
1926   @var{...Noten...}
1927   \midi @{
1928     \context @{
1929       \Score
1930       tempoWholesPerMinute = #(ly:make-moment 72 4)
1931     @}
1932   @}
1933 @}
1934 @end example
1935
1936 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert.  Wenn
1937 das Tempo auf diese Weise definiert wird, kann keine punktierte
1938 Note als Einheit angegeben werden.  Wenn sie benötigt wird, muss
1939 man sie in kleinere Einheiten auflösen.  Ein Tempo von 90 punktierten
1940 Viertelnoten pro Minute kann beispielsweise dargestellt werden
1941 als 270 Achtelnoten pro Minute:
1942
1943 @example
1944 tempoWholesPerMinute = #(ly:make-moment 270 8)
1945 @end example
1946
1947 @cindex MIDI-Kontextdefinitionen
1948
1949 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
1950 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
1951 wird.  Klangübersetzungsmodule werden @code{performer}
1952 genannt.  Die Kontexte für die MIDI-Ausgabe sind in der
1953 Datei @file{../ly/performer-init.ly} definiert, siehe
1954 @rlearning{Mehr Information}.  Um beispielsweise
1955 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
1956 entfernen, müssen folgende Zeilen eingefügt werden:
1957
1958 @example
1959 \midi @{
1960   ...
1961   \context @{
1962     \Voice
1963     \remove "Dynamic_performer"
1964   @}
1965 @}
1966 @end example
1967
1968 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
1969 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
1970 @code{\score} beginnt.
1971
1972 @example
1973 \score @{
1974   @{ @dots{}Noten@dots{} @}
1975   \midi @{ @}
1976 @}
1977 @end example
1978
1979
1980 @node Was geht in die MIDI-Ausgabe
1981 @subsection Was geht in die MIDI-Ausgabe
1982 @translationof What goes into the MIDI output?
1983
1984
1985 @unnumberedsubsubsec In MIDI unterstützt
1986
1987 @cindex Tonhöhen in MIDI
1988 @cindex MIDI, Tonhöhen
1989 @cindex Vierteltöne in MIDI
1990 @cindex MIDI, Vierteltöne
1991 @cindex Mikrotöne in MIDI
1992 @cindex MIDI, Mikrotöne
1993 @cindex Akkordsymbole in MIDI
1994 @cindex MIDI, Akkordsymbole
1995 @cindex Rhythmen in MIDI
1996 @cindex MIDI, Rhythmen
1997
1998 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
1999
2000 @itemize
2001 @item Tonhöhen
2002 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
2003 Spieler benötigt, der Tonhöhen verändern kann.)
2004 @item Akkorde, die als Symbole notiert werden
2005 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
2006 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
2007 @item Überbindungen
2008 @item Dynamikzeichen
2009 @item Crescendi, decrescendi zu mehreren Noten
2010 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
2011 @item Gesangstext
2012 @end itemize
2013
2014
2015 @unnumberedsubsubsec In MIDI nicht unterstützt
2016
2017 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen:
2018
2019 @itemize
2020 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
2021 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
2022 @item Staccato und andere Artikulationen und Ornamente
2023 @item Legato- und Phrasierungsbögen
2024 @item Crescendi, decrescendi zu einer einzelnen Note
2025 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
2026 @item Bezifferter Bass
2027 @item Akkorde mit Mikrotönen
2028 @end itemize
2029
2030
2031 @node Wiederholungen im MIDI
2032 @subsection Wiederholungen im MIDI
2033 @translationof Repeats in MIDI
2034
2035 @cindex Wiederholungen in MIDI
2036 @cindex MIDI und Wiederholungen
2037
2038 @funindex \unfoldRepeats
2039
2040 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2041 auch in der MIDI-Ausgabe wiedergegeben werden.  Das wird erreicht, indem
2042 die @code{\unfoldRepeats}-Funktion eingesetzt wird.  Diese Funktion
2043 verändert alle Wiederholungen in ausgeschriebene Noten.
2044
2045 @lilypond[quote,verbatim]
2046 \unfoldRepeats {
2047   \repeat tremolo 8 { c'32 e' }
2048   \repeat percent 2 { c''8 d'' }
2049   \repeat volta 2 { c'4 d' e' f' }
2050   \alternative {
2051     { g' a' a' g' }
2052     { f' e' d' c' }
2053   }
2054 }
2055 \bar "|."
2056 @end lilypond
2057
2058 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2059 wird, ist er notwendig,
2060 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2061 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2062 in der anderen werden die Wiederholungen notiert und als Partitur
2063 gesetzt.  Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2064 aussehen kann:
2065
2066 @example
2067 \score @{
2068   @var{..music..}
2069   \layout @{ .. @}
2070 @}
2071 \score @{
2072   \unfoldRepeats @var{..music..}
2073   \midi @{ .. @}
2074 @}
2075 @end example
2076
2077
2078 @node MIDI-Lautstärke kontrollieren
2079 @subsection MIDI-Lautstärke kontrollieren
2080 @translationof Controlling MIDI dynamics
2081
2082 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2083 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2084 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2085 als auch relative Lautstärken von Dynamikanweisungen und auch
2086 relative Lautstärke von einzelnen Instrumenten einzustellen.
2087
2088
2089 @unnumberedsubsubsec Dynamik-Zeichen
2090
2091 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2092 zur Verfügung stehenden MIDI-Lautstärke notiert.  Die Standardbrüche
2093 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2094 @notation{fffff}.  Diese Anweisung befinden sich in der Datei
2095 @file{../scm/midi.scm}, siehe auch @rlearning{Mehr Information}.
2096 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2097 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2098 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2099 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2100 gesetzt werden.
2101
2102 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2103 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann.  Gleiches gilt
2104 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2105 nicht enthalten sind.  Die Scheme-Funktion, die hier definiert wird,
2106 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2107 Standardanweisungen auf:
2108
2109 @lilypond[verbatim,quote]
2110 #(define (myDynamics dynamic)
2111     (if (equal? dynamic "rfz")
2112       0.9
2113       (default-dynamic-absolute-volume dynamic)))
2114
2115 \score {
2116   \new Staff {
2117     \set Staff.midiInstrument = #"cello"
2118     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2119     \new Voice {
2120       \relative c'' {
2121         a4\pp b c-\rfz
2122       }
2123     }
2124   }
2125   \layout {}
2126   \midi {}
2127 }
2128 @end lilypond
2129
2130 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2131 umdefiniert werden soll, ist es besser, die
2132 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2133 @file{../scm/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2134 zu benutzen.  Das letzte Beispiel dieses Abschnittes zeigt, wie das
2135 gemacht werden kann.
2136
2137
2138 @unnumberedsubsubsec MIDI-Lautstärke
2139
2140 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2141 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2142 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2143 werden.  Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2144 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2145 wenn diese Einstellung von Anfang an Wirkung zeigen soll.  Der Bruch,
2146 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2147 Formel
2148
2149 @example
2150 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2151 @end example
2152
2153 @noindent
2154 errechnet.  Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2155 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2156
2157 @lilypond[verbatim,quote]
2158 \score {
2159   <<
2160     \new Staff {
2161       \key g \major
2162       \time 2/2
2163       \set Staff.midiInstrument = #"flute"
2164       \new Voice \relative c''' {
2165         r2 g\mp g fis~
2166         fis4 g8 fis e2~
2167         e4 d8 cis d2
2168       }
2169     }
2170     \new Staff {
2171       \key g \major
2172       \set Staff.midiInstrument = #"clarinet"
2173       \new Voice \relative c'' {
2174         b1\p a2. b8 a
2175         g2. fis8 e
2176         fis2 r
2177       }
2178     }
2179   >>
2180   \layout {}
2181   \midi {
2182     \context {
2183       \Score
2184       tempoWholesPerMinute = #(ly:make-moment 72 2)
2185       midiMinimumVolume = #0.2
2186       midiMaximumVolume = #0.5
2187     }
2188   }
2189 }
2190 @end lilypond
2191
2192
2193 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2194
2195 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2196 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2197 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2198 werden.  Damit kann man die Qualität der MIDI-Datei
2199 merklich verbessern.
2200
2201 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2202 zur Lautstärke der Flöte verringert.  In jeder Stimme muss
2203 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2204 diese Einstellung korrekt funktioniert.
2205
2206 @lilypond[verbatim,quote]
2207 \score {
2208   <<
2209     \new Staff {
2210       \key g \major
2211       \time 2/2
2212       \set Staff.midiInstrument = #"flute"
2213       \set Staff.midiMinimumVolume = #0.7
2214       \set Staff.midiMaximumVolume = #0.9
2215       \new Voice \relative c''' {
2216         r2 g\mp g fis~
2217         fis4 g8 fis e2~
2218         e4 d8 cis d2
2219       }
2220     }
2221     \new Staff {
2222       \key g \major
2223       \set Staff.midiInstrument = #"clarinet"
2224       \set Staff.midiMinimumVolume = #0.3
2225       \set Staff.midiMaximumVolume = #0.6
2226       \new Voice \relative c'' {
2227         b1\p a2. b8 a
2228         g2. fis8 e
2229         fis2 r
2230       }
2231     }
2232   >>
2233   \layout {}
2234   \midi {
2235     \context {
2236       \Score
2237       tempoWholesPerMinute = #(ly:make-moment 72 2)
2238     }
2239   }
2240 }
2241 @end lilypond
2242
2243
2244 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
2245
2246 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2247 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
2248 Anpassungen für die Lautstärken bestimmter Instrumente vor.
2249 Diese Instrumente und ihre entsprechende Veränderung lassen
2250 sich aus der Tabelle @notation{instrument-equalizer-alist}
2251 in der Datei @file{../scm/midi.scm} entnehmen.
2252
2253 Dieser grundlegende Equalizer kann ersetzt werden, indem die
2254 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
2255 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
2256 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
2257 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
2258 Instruments darstellt.  Die Ersetzung der Standardfunktion wird
2259 auf gleiche Weise vorgenommen, wie es schon für die
2260 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
2261 gezeigt wurde.  Der Standard-Equalizer,
2262 @notation{default-instrument-equalizer} in der Datei
2263 @file{../scm/midi.scm} zeigt, wie solche eine Funktion erstellt werden
2264 kann.
2265
2266 Das folgende Beispiel definiert für die Flöte und Klarinette relative
2267 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
2268
2269 @lilypond[verbatim,quote]
2270 #(define my-instrument-equalizer-alist '())
2271
2272 #(set! my-instrument-equalizer-alist
2273   (append
2274     '(
2275       ("flute" . (0.7 . 0.9))
2276       ("clarinet" . (0.3 . 0.6)))
2277     my-instrument-equalizer-alist))
2278
2279 #(define (my-instrument-equalizer s)
2280   (let ((entry (assoc s my-instrument-equalizer-alist)))
2281     (if entry
2282       (cdr entry))))
2283
2284 \score {
2285   <<
2286     \new Staff {
2287       \key g \major
2288       \time 2/2
2289       \set Score.instrumentEqualizer = #my-instrument-equalizer
2290       \set Staff.midiInstrument = #"flute"
2291       \new Voice \relative c''' {
2292         r2 g\mp g fis~
2293         fis4 g8 fis e2~
2294         e4 d8 cis d2
2295       }
2296     }
2297     \new Staff {
2298       \key g \major
2299       \set Staff.midiInstrument = #"clarinet"
2300       \new Voice \relative c'' {
2301         b1\p a2. b8 a
2302         g2. fis8 e
2303         fis2 r
2304       }
2305     }
2306   >>
2307   \layout { }
2308   \midi {
2309     \context {
2310       \Score
2311       tempoWholesPerMinute = #(ly:make-moment 72 2)
2312     }
2313   }
2314 }
2315 @end lilypond
2316
2317
2318
2319 @node Schlagzeug in MIDI
2320 @subsection Schlagzeug in MIDI
2321 @translationof Percussion in MIDI
2322
2323 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
2324 notiert.  Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
2325 ausgegeben.  Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
2326 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
2327 in einem @code{Staff}-Kontext notiert.  Nur so lässt sich auch hier
2328 eine richtige MIDI-Ausgabe erreichen.
2329
2330 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
2331 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
2332 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
2333 notiert werden.  Es handelt sich
2334 um @code{melodic tom, taiko drum, synth drum} u. A.
2335
2336 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
2337 z. B. Kastagnetten.  Die einfachste Methode, derartige Instrumente
2338 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
2339 kommt.
2340
2341
2342 @knownissues
2343
2344 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
2345 Schlagstock (sidestick) für diesen Zweck eingesetzt.