]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/notation/input.itely
Merge branch 'lilypond/translation' of /home/jcharles/GIT/Lily/.
[lilypond.git] / Documentation / de / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2
3 @ignore
4     Translation of GIT committish: 70aaf0159410169678942abd39eb13c876521437
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 @code{.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 @code{.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 @code{.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 @code{.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 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 Titel
767 @subsection Eigene Titel
768 @translationof Custom 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 @verbatim
833 \paper {
834   bookTitleMarkup = \markup {
835    \fill-line {
836      \fromproperty #'header:title
837      \fromproperty #'header:composer
838    }
839   }
840 }
841 @end verbatim
842
843
844 @node Verweis auf die Seitenzahlen
845 @subsection Verweis auf die Seitenzahlen
846 @translationof Reference to page numbers
847
848 Eine bestimmte Stelle der Partitur kann mit einem @code{\label}-Befehl
849 markiert werden, sowohl auf oberster Ebene als auch innerhalb eines
850 musikalischen Ausdrucks.  Auf diese Marke kann dann verwiesen werden,
851 um die Seitenzahl zu erhalten, auf der die Marke vorkommt.  Der
852 Verweis wird mit dem Befehl @code{\page-ref} gefordert (innerhalb
853 von @code{\markup}).
854
855 @c KEEP LY
856 @lilypond[verbatim,line-width=11.0\cm]
857 \header { tagline = ##f }
858 \book {
859   \label #'ErstePartitur
860   \score {
861     {
862       c'1
863       \pageBreak \mark A \label #'ZeichenA
864       c'1
865     }
866   }
867
868   \markup { Die erste Partitur fängt auf
869             Seite \page-ref #'ErstePartitur "0" "?" an.}
870   \markup { Zeichen A befindet sich auf Seite
871             \concat { \page-ref #'ZeichenA "0" "?" . } }
872 }
873 @end lilypond
874
875 Der @code{\page-ref}-Textbeschriftungsbefehl braucht drei Argumente:
876
877 @enumerate
878
879 @item die Marke, ein Scheme-Symbol, etwa @code{#'ErstePartitur},
880 @item eine Beschriftung, die als Platzhalter benutzt wird, um die Breite des Verweisen zu schätzen,
881 @item eine Beschriftung, die anstelle der Seitenzahl gesetzt wird, wenn die Marke unbekannt ist.
882 @end enumerate
883
884 Der Grund, warum ein Platzhalter benötigt wird, ist dass zu dem Zeitpunkt,
885 an dem die Textbeschriftungen ausgewertet werden, noch keine Seitenumbrüche
886 vorgenommen wurden und die Seitenzahlen deshalb noch nicht bekannt sind.
887 Um hier ein Problem zu vermeiden, wird die eigentliche Auswertung der
888 Textbeschriftung erst später ausgeführt, die Größe des Textes muss aber
889 schon vorher bekannt sein.  Die Größe wird mithilfe des Platzhalters
890 bestimmt.  Wenn eine Partitur zwischen 10 und 99 Seiten hat, kann man
891 "00" schreiben, also eine zweistellige Zahl.
892
893 @code{\label}
894 @code{\page-ref}
895
896 @predefined
897 @funindex \label,
898 @funindex \page-ref.
899 @endpredefined
900
901
902 @node Inhaltsverzeichnis
903 @subsection Inhaltsverzeichnis
904 @translationof Table of contents
905
906 Ein Inhaltsverzeichnis kann eingefügt werden mit dem Befehl
907 @code{\markuplines \table-of-contents}.  Die Elemente, die im
908 Inhaltsverzeichnis aufgelistet werden sollen, werden mit dem
909 @code{\tocItem}-Befehl markiert, welches sowohl auf höchster
910 Ebene als auch in einem musikalischen Ausdruck verwendet werden
911 kann.
912
913 @verbatim
914 \markuplines \table-of-contents
915 \pageBreak
916
917 \tocItem \markup "Erste Partitur"
918 \score {
919   {
920     c'4  % ...
921     \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur"
922     d'4  % ...
923   }
924 }
925
926 \tocItem \markup "zweite Partitur"
927 \score {
928   {
929     e'4 % ...
930   }
931 }
932 @end verbatim
933
934 Die Beschriftungen, die benutzt werden um das Inhaltsverzeichnis
935 zu formatieren, sind in der @code{\paper}-Umgebung definiert.
936 Die Standardformatierungselemente sind @code{tocTitleMarkup}
937 um die Überschrift zu formatieren und @code{tocItemMarkup} um
938 die einzelnen Inhaltselemente zu formatieren, bestehend aus
939 dem Titelelement und einer Seitenzahl.  Die Variablen können
940 durch den Benutzer geändert werden:
941
942 @verbatim
943 \paper {
944   %% Übersetzung der Inhaltsverzeichnisüberschrift nach französisch:
945   tocTitleMarkup = \markup \huge \column {
946     \fill-line { \null "Table des matières" \null }
947     \hspace #1
948   }
949   %% hier größere Schriftarten
950   tocItemMarkup = \markup \large \fill-line {
951     \fromproperty #'toc:text \fromproperty #'toc:page
952   }
953 }
954 @end verbatim
955
956 Die Inhaltsverzeichniselemente Text und Seitenzahl werden
957 in der Definition von @code{tocItemMarkup} aufgerufen mit
958 @code{#'toc:text} und @code{#'toc:page}.
959
960 Neue Befehle und Beschriftungen können auch definiert werden,
961 um eigene Inhaltsverzeichnisse zu gestalten:
962
963 @itemize
964
965 @item zuerst muss eine neue Beschriftungsvariable in der
966 @code{\paper}-Umgebung definiert werden
967
968 @item dann muss die musikalische Funktion definiert werden, die
969 ein Element zum Inhaltsverzeichnis hinzufügt, indem die neue
970 Variable benutzt wird.
971
972 @end itemize
973
974 Das folgende Beispiel definiert einen neuen Stil um Akt-Bezeichnungen
975 einer Oper in das Inhaltsverzeichnis aufzunehmen:
976
977 @verbatim
978 \paper {
979   tocActMarkup = \markup \large \column {
980     \hspace #1
981     \fill-line { \null \italic \fromproperty #'toc:text \null }
982     \hspace #1
983   }
984 }
985
986 tocAct =
987 #(define-music-function (parser location text) (markup?)
988    (add-toc-item! 'tocActMarkup text))
989 @end verbatim
990
991 @lilypond[line-width=11.0\cm]
992 \header { tagline = ##f }
993 \paper {
994   tocActMarkup = \markup \large \column {
995     \hspace #1
996     \fill-line { \null \italic \fromproperty #'toc:text \null }
997     \hspace #1
998   }
999 }
1000
1001 tocAct =
1002 #(define-music-function (parser location text) (markup?)
1003    (add-toc-item! 'tocActMarkup text))
1004
1005 \book {
1006   \markuplines \table-of-contents
1007   \tocAct \markup { Atto Primo }
1008   \tocItem \markup { Coro. Viva il nostro Alcide }
1009   \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1010   \tocAct \markup { Atto Secondo }
1011   \tocItem \markup { Sinfonia }
1012   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1013   \markup \null
1014 }
1015 @end lilypond
1016
1017
1018 @seealso
1019 Installierte Dateien: @file{../@/ly/@/toc@/-init@/.ly}.
1020
1021 @funindex \table-of-contents
1022 @funindex \tocItem
1023
1024 @predefined
1025 @code{\table-of-contents},
1026 @code{\tocItem}.
1027 @endpredefined
1028
1029
1030 @node Arbeiten an Eingabe-Dateien
1031 @section Arbeiten an Eingabe-Dateien
1032 @translationof Working with input files
1033
1034 @menu
1035 * LilyPond-Dateien einfügen::
1036 * Verschiedene Editionen aus einer Quelldatei::
1037 * Zeichenkodierung::
1038 * LilyPond-Notation anzeigen::
1039 @end menu
1040
1041
1042 @node LilyPond-Dateien einfügen
1043 @subsection LilyPond-Dateien einfügen
1044 @translationof Including LilyPond files
1045
1046 @funindex \include
1047 @cindex einfügen  von Dateien
1048 @cindex Dateien einfügen
1049
1050 Ein größeres Projekt kann in einzelne Dateien aufgeteilt werden.
1051 Um eine andere Datei einzubinden, kann der Befehl
1052
1053 @example
1054 \include "andereDatei.ly"
1055 @end example
1056
1057 @noindent
1058 benutzt werden.
1059
1060 Die Zeile @code{\include "andereDatei.ly"} benimmt sich genauso,
1061 also ob der Inhalt der Datei @code{andereDatei.ly} komplett in die
1062 Hauptdatei eingefügt werden würde.  So kann man für ein größeres
1063 Projekt die einzelnen Stimmen der Instrumente getrennt notieren
1064 und sie dann in einer Partitur-Datei benutzen.  Meistens werden
1065 in den eingefügten Dateien einige Variablen definiert, die dann
1066 auch in der Hauptdatei eingesetzt werden können.  Mit Marken (Tags)
1067 gekennzeichnete Abschnitte können eingesetzt werden, um die
1068 entsprechenden Noten etc. an verschiedenen Stellen in der Datei
1069 zur Verfügung zu stellen. Siehe auch @ref{Verschiedene Editionen aus einer Quelldatei}.
1070
1071 Auf Dateien im aktuellen Verzeichnis kann einfach mit dem Dateinamen
1072 nach dem @code{\include}-Befehl verwiesen werden.  Dateien an anderen
1073 Stellen können eingebunden werden, indem entweder ein vollständiger
1074 Pfad oder ein relativer Pfad zu der Datei angegeben wird.  Hierbei
1075 sollten die für UNIX typischen Schrägstriche (/) und nicht die
1076 rückwärtsgeneigten von Windows (\) verwendet werden, um die Verzeichnisse
1077 zu trennen.  Wenn etwa die Datei @file{kram.ly} ein Verzeichnis
1078 höher liegt als das aktuelle Verzeichnis, sollte der Befehl so
1079 aussehen:
1080
1081 @example
1082 \include "../kram.ly"
1083 @end example
1084
1085 @noindent
1086 Wenn die Orchesterstimmen andererseits in einem Unterordner mit
1087 der Bezeichnung @code{stimmen} liegen, sieht er folgendermaßen
1088 aus:
1089
1090 @example
1091 \include "stimmen/VI.ly"
1092 \include "stimmen/VII.ly"
1093 ... etc
1094 @end example
1095
1096 Dateien, die eingebunden werden sollen, können selber auch wiederum
1097 ein @code{\include} enthalten.  Diese Einbindung zweiter Ebene
1098 werden erst interpretiert, wenn sie sich in der Hauptdatei befinden,
1099 sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
1100 sondern relativ zur Hauptdatei gesetzt werden müssen.  Dieses Verhalten
1101 kann jedoch auch verändert werden, indem man lilypond die Option
1102 @code{-drelative-includes} auf der Kommandozeile zuweist (oder indem
1103 man den Befehl @code{#(ly:set-option 'relative-includes #t)} an den
1104 Beginn der Quelldatei schreibt).  Mit @code{relative-includes} wird
1105 der Pfad jedes @code{\include}-Befehls als relativ zu der Datei angenommen,
1106 in der sich der Befehl befindet.  Dieses Verhalten wird empfohlen und wird
1107 in zukünftigen Versionen von LilyPond den Standard darstellen.
1108
1109 Dateien können auch aus einem Verzeichnis eingebunden werden,
1110 dass im Suchpfad von LilyPond liegt.  Hierzu muss auf der
1111 Kommandozeile das entsprechende Verzeichnis angegeben werden
1112 und die Dateien, die eingebunden werden, müssen nur mit ihrem Namen
1113 notiert sein.  Wenn etwa die Datei @file{Haupt.ly} kompiliert
1114 werden soll, die Dateien aus dem Unterverzeichnis @file{stimmen}
1115 einbindet, müssen sie sich im Verzeichnis von @file{Haupt.ly}
1116 befinden und dann LilyPond folgendermaßen aufrufen:
1117
1118 @example
1119 lilypond --include=stimmen Haupt.ly
1120 @end example
1121
1122 @noindent
1123 In @file{Haupt.ly} steht:
1124
1125 @example
1126 \include "VI.ly"
1127 \include "VII.ly"
1128 ... usw.
1129 @end example
1130
1131 Dateien, die in vielen Partituren verwendet werden sollen, können
1132 im LilyPond-Verzeichnis @file{../ly} gespeichert werden.  (Die
1133 Stelle, an der dieses Verzeichnis sich befindet, hängt vom Betriebssystem
1134 ab, siehe hierzu @rlearning{Mehr Information}).  Dateien
1135 in diesem Verzeichnis können einfach mit ihrem Namen eingefügt werden.
1136 So werden auch die Sprachdateien wie etwa @file{deutsch.ly} eingefügt.
1137
1138 LilyPond lädt eine Anzahl an Dateien, wenn das Programm aufgerufen wird.
1139 Diese Dateien sind für den Benutzer nicht ersichtlich, aber die Dateien
1140 können identifiziert werden, indem LilyPond auf der Kommandozeile mit
1141 Option aufgerufen wird: @code{lilypond --verbose}.  Hiermit wird
1142 neben anderer Information auch eine Liste von Pfaden und Dateien
1143 aufgeführt, die LilyPond benutzt.  Die wichtigeren Dateien werden
1144 im Abschnitt @rlearning{Mehr Information} besprochen.
1145 Diese Dateien können verändert werden, aber Änderungen gehen verloren,
1146 wenn eine neue LilyPond-Version installiert wird.
1147
1148 Eine einfache Beispiele, die die Benutzung von @code{\include} demonstrieren,
1149 sind dargestellt in
1150 @rlearning{Partituren und Stimmen}.
1151
1152 @seealso
1153 Handbuch zum Lernen:
1154 @rlearning{Mehr Information},
1155 @rlearning{Partituren und Stimmen}.
1156
1157 @knownissues
1158
1159 Wenn eine Datei eingebunden wird, deren Name einer Datei aus
1160 dem Installationsverzeichnis von LilyPond entspricht, wird die
1161 installierte Datei anstelle der eigenen verwendet.
1162
1163
1164 @node Verschiedene Editionen aus einer Quelldatei
1165 @subsection Verschiedene Editionen aus einer Quelldatei
1166 @translationof Different editions from one source
1167
1168 Es gibt verschiedene Funktionen, die es möglich machen, unterschiedliche
1169 Versionen einer Partitur aus der gleichen Quelldatei zu produzieren.
1170 Variablen werden am besten eingesetzt, wenn es darum geht, längere
1171 Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf
1172 verschiedene Weise zu kombinieren.  Tag-Marken dagegen werden am
1173 besten eingesetzt, wenn eine von mehreren kurzen alternativen
1174 Notenabschnitten ausgewählt werden soll.  Egal welche Methode am
1175 Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn
1176 die eigentlichen Noten und die Struktur der Partitur voneinander
1177 getrennt notiert werden -- so kann die Struktur geändert werden,
1178 ohne dass man Änderungen an den Noten vornehmen muss.
1179
1180 @menu
1181 * Variablen benutzen::
1182 * Marken benutzen::
1183 @end menu
1184
1185 @node Variablen benutzen
1186 @unnumberedsubsubsec Variablen benutzen
1187 @translationof Using variables
1188
1189 @cindex Variablen, Benutzung
1190
1191 Wenn Notenabschnitt in Variablen definiert werden, können sie
1192 an unterschiedlichen Stellen in der Partitur eingesetzt werden,
1193 siehe auch @rlearning{Stücke durch Bezeichner organisieren}.  Zum
1194 Beispiel enthält eine Vokalpartitur für ein @notation{a cappella}
1195 Stück oft einen Klavierauszug, der das Einüben einfacher macht.
1196 Der Klavierauszug enthält die gleichen Noten, sodass man sie nur
1197 einmal notieren muss.  Noten aus zwei Variablen können auf einem
1198 System kombiniert werden, siehe @ref{Automatische Kombination von Stimmen}.
1199 Hier ein Beispiel:
1200
1201 @lilypond[verbatim,quote]
1202 sopranoMusic = \relative c'' { a4 b c b8( a) }
1203 altoMusic = \relative g' { e4 e e f }
1204 tenorMusic = \relative c' { c4 b e d8( c) }
1205 bassMusic = \relative c' { a4 gis a d, }
1206 allLyrics = \lyricmode {King of glo -- ry }
1207 <<
1208   \new Staff = "Soprano" \sopranoMusic
1209   \new Lyrics \allLyrics
1210   \new Staff = "Alto" \altoMusic
1211   \new Lyrics \allLyrics
1212   \new Staff = "Tenor" {
1213     \clef "treble_8"
1214     \tenorMusic
1215   }
1216   \new Lyrics \allLyrics
1217   \new Staff = "Bass" {
1218     \clef "bass"
1219     \bassMusic
1220   }
1221   \new Lyrics \allLyrics
1222   \new PianoStaff <<
1223     \new Staff = "RH" {
1224       \set Staff.printPartCombineTexts = ##f
1225       \partcombine
1226       \sopranoMusic
1227       \altoMusic
1228     }
1229     \new Staff = "LH" {
1230       \set Staff.printPartCombineTexts = ##f
1231       \clef "bass"
1232       \partcombine
1233       \tenorMusic
1234       \bassMusic
1235     }
1236   >>
1237 >>
1238 @end lilypond
1239
1240 Unterschiedliche Partituren, die entweder nur den Chor oder das
1241 Klavier zeigen, können produziert werden, indem die Struktur
1242 verändert wird; die Noten müssen dazu nicht verändert werden.
1243
1244 Für längere Partituren können Variablen in eigene Dateien notiert
1245 werden, die dann eingebunden werden, siehe @ref{LilyPond-Dateien einfügen}.
1246
1247
1248 @node Marken benutzen
1249 @unnumberedsubsubsec Marken benutzen
1250 @translationof Using tags
1251
1252 @cindex Tag
1253 @cindex Marke
1254 @cindex markierte Noten entfernen
1255 @cindex markierte Noten behalten
1256
1257 @funindex \tag
1258 @funindex \keepWithTag
1259 @funindex \removeWithTag
1260 @funindex tag
1261 @funindex keepWithTag
1262 @funindex removeWithTag
1263
1264 Der @code{\tag #'@var{TeilA}}-Befehl markiert einen musikalischen
1265 Ausdruck mit der Bezeichnung @var{TeilA}.  Ausdrücke, die auf diese
1266 Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt
1267 bzw. ausgefiltert werden.  Das geschieht mit den Befehlen
1268 @code{\keepWithTag #'@var{Bezeichnung}} bzw. @code{\removeWithTag #'@var{Bezeichnung}}.
1269 Die Wirkung dieser Filter auf die markierten Notenabschnitte ist
1270 wie folgt:
1271
1272 @multitable @columnfractions .5 .5
1273
1274 @headitem Filter
1275   @tab Resultat
1276
1277 @item
1278 Markierte Noten mit vorgesetztem @code{\keepWithTag #'@var{Bezeichnung}}
1279   @tab Unmarkierte Noten und Noten mit der Marke @var{Bezeichnung} werden
1280   gesetzt, Noten mit einer anderen Marke werden nicht angezeigt.
1281
1282 @item
1283 Markierte Noten mit vorgesetztem @code{\removeWithTag #'@var{Bezeichnung}}
1284   @tab Unmarkierte Noten und Noten mit einer anderen Marke als
1285   @var{Bezeichnung} wird angezeigt, Noten markiert mit @var{Bezeichnung}
1286   werden nicht angezeigt.
1287
1288 @item
1289 Markierte Noten, weder mit vorgesetztem @code{\keepWithTag} noch
1290 @code{\removeWithTag}
1291   @tab Alle markierten und unmarkierten Noten werden angezeigt.
1292
1293 @end multitable
1294
1295 Die Argumente der Befehle @code{\tag}, @code{\keepWithTag} und
1296 @code{\removeWithTag} sollten ein Symbol sein (wie etwa
1297 @code{#'score} oder @code{#'part}), gefolgt von einem musikalischen
1298 Ausdruck.
1299
1300 Im folgenden Beispiel erscheinen zwei Versionen der Noten, eine
1301 zeigt Triller in normaler Notation, die andere zeigt sie ausgeschrieben:
1302
1303 @lilypond[verbatim,quote]
1304 music = \relative g' {
1305   g8. c32 d
1306   \tag #'trills { d8.\trill }
1307   \tag #'expand { \repeat unfold 3 { e32 d } }
1308   c32 d
1309  }
1310
1311 \score {
1312   \keepWithTag #'trills \music
1313 }
1314 \score {
1315   \keepWithTag #'expand \music
1316 }
1317 @end lilypond
1318
1319 @noindent
1320 Entsprechend können auch Abschnitte ausgeschlossen werden; das
1321 erfordert manchmal weniger Schreibarbeit:
1322
1323 @lilypond[verbatim,quote]
1324 music = \relative g' {
1325   g8. c32 d
1326   \tag #'trills { d8.\trill }
1327   \tag #'expand {\repeat unfold 3 { e32 d } }
1328   c32 d
1329  }
1330
1331 \score {
1332   \removeWithTag #'expand
1333   \music
1334 }
1335 \score {
1336   \removeWithTag #'trills
1337   \music
1338 }
1339 @end lilypond
1340
1341 Marken können auch auf Artikulationen, Text usw angewendet werden,
1342 indem man ihnen
1343
1344 @example
1345 -\tag #'@var{your-tag}
1346 @end example
1347
1348 @noindent
1349 voranstellt (jedoch nach der Note, an die sie gebunden sind).  Mit
1350 diesem Code etwa könnte man entweder Fingersatz oder aber einen
1351 Text ausgeben:
1352
1353 @example
1354 c1-\tag #'finger ^4
1355 c1-\tag #'warn ^"Achtung!"
1356 @end example
1357
1358 Mehrfache Marken können mithilfe von mehreren @code{\tag}-Befehlen
1359 notiert werden:
1360
1361 @lilypond[quote,verbatim]
1362 music = \relative c'' {
1363   \tag #'a \tag #'both { a4 a a a }
1364   \tag #'b \tag #'both { b4 b b b }
1365 }
1366 <<
1367 \keepWithTag #'a \music
1368 \keepWithTag #'b \music
1369 \keepWithTag #'both \music
1370 >>
1371 @end lilypond
1372
1373 Mehrfache @code{\removeWithTag}-Filter können auf einen
1374 musikalischen Ausdruck angewendet werden, um mehrere unterschiedliche
1375 markierte Abschnitte aus dem Druckbild zu entfernen.
1376
1377 @lilypond[verbatim,quote]
1378 music = \relative c'' {
1379 \tag #'A { a4 a a a }
1380 \tag #'B { b4 b b b }
1381 \tag #'C { c4 c c c }
1382 \tag #'D { d4 d d d }
1383 }
1384 {
1385 \removeWithTag #'B
1386 \removeWithTag #'C
1387 \music
1388 }
1389 @end lilypond
1390
1391 Zwei oder mehr @code{\keepWithTag}-Filter in einem musikalischen
1392 Ausdruck bewirken, dass @emph{alle} markierten Abschnitte entfernt
1393 werden, weil der erste Befehl alle markierten Abschnitt außer dem
1394 im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen
1395 eben genannten zusätzlich entfernt.
1396
1397
1398 @seealso
1399 Handbuch zum Lernen:
1400 @rlearning{Stücke durch Bezeichner organisieren}.
1401
1402 Notationsreferenz:
1403 @ref{Automatische Kombination von Stimmen},
1404 @ref{LilyPond-Dateien einfügen}.
1405
1406
1407 @ignore
1408 @c This warning is more general than this placement implies.
1409 @c Rests are not merged whether or not they come from tagged sections.
1410 @c Should be deleted?  -td
1411
1412 @knownissues
1413
1414 Multiple rests are not merged if you create a score with more
1415 than one tagged section at the same place.
1416
1417 @end ignore
1418
1419
1420 @node Zeichenkodierung
1421 @subsection Zeichenkodierung
1422 @translationof Text encoding
1423
1424 @cindex Unicode
1425 @cindex UTF-8
1426 @cindex Nicht-ASCII-Zeichen
1427
1428 LilyPond benutzt alle Zeichen, die durch das Unicode-Konsortium
1429 und ISO/IEC 10646 definiert sind.  Hiermit wird den Zeichen
1430 fast aller Schriftsysteme der Welt ein eindeutiger Name und ein
1431 Code-Punkt zugewiesen, mit dem sie identifizierbar sind.  Unicode
1432 kann mit mehreren Zeichenkodierungen verwirklicht werden.  LilyPond
1433 benutzt die UTF-8-Kodierung (UTF = Unicode Transformation Format),
1434 in der die normalen Zeichen des lateinischen Alphabets mit einem
1435 Byte dargestellt werden, während alle anderen Zeichen zwischen
1436 zwei und vier Byte Länge haben.
1437
1438 Das Aussehen des Zeichens wird bestimmt durch die gerade benutzte
1439 Schriftart (engl. font).  In einer Schriftartdatei werden die
1440 Nummern der Unicode-Zeichen einem bestimmten Glyphen zugeordnet.
1441 LilyPond verwendet die Pango-Bibliothek um mehrsprachige Texte
1442 und komplexe Skripte korrekt zu setzen.
1443
1444 LilyPond verändert die Kodierung der Eingabedatei nicht.  Das heißt,
1445 dass jeder Text -- Überschriften, Gesangstext, Spielanweisungen etc. --
1446 der nicht nur aus ASCII-Zeichen besteht, in UTF-8 kodiert sein
1447 musst.  Am einfachsten geht das, indem man einen Texteditor
1448 einsetzt, der mit Unicode-Zeichen umgehen kann.  Die meisten
1449 modernen weit verbreiteten Editoren besitzen heute UTF-8-Unterstützung,
1450 wie etwa vim, Emacs, jEdit oder GEdit.  Alle MS Windows-Systeme
1451 nach NT benutzen Unicode intern, sodass sogar Notepad Dateien
1452 in UTF-8 lesen und speichern kann.  Ein Editor mit mehr
1453 Funktionen unter Windows ist BabelPad oder Notepad++.
1454
1455 Wenn eine LilyPond-Eingabedatei nicht-ASCII-Zeichen enthält
1456 und nicht in UTF-8 gespeichert ist, gibt es folgende Fehlermeldung:
1457
1458 @example
1459 FT_Get_Glyph_Name () error: invalid argument
1460 @end example
1461
1462 Heir ein Beispiel mit Kyrilliza, hebräischem und portugiesischem Text:
1463
1464 @lilypond[quote]
1465 %c No verbatim here as the code does not display correctly in PDF
1466 % Cyrillic
1467 bulgarian = \lyricmode {
1468   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
1469 }
1470
1471 % Hebrew
1472 hebrew = \lyricmode {
1473   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
1474 }
1475
1476 % Portuguese
1477 portuguese = \lyricmode {
1478   à vo -- cê uma can -- ção legal
1479 }
1480
1481 \relative c' {
1482   c2 d e f g f e
1483 }
1484 \addlyrics { \bulgarian }
1485 \addlyrics { \hebrew }
1486 \addlyrics { \portuguese }
1487 @end lilypond
1488
1489 Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
1490 bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
1491 der Befehl @code{\char ##xhhhh} oder @code{\char #dddd} innerhalb einer
1492 @code{\markup}-Umgebung benutzt werden.  Hierbei bedeutet @code{hhhh} die
1493 hexadezimale Zahl und @code{ddd} die entsprechende dezimale Zahl
1494 für das erforderliche Zeichen.  Nullen zu Beginn können ausgelassen werden,
1495 aber normalerweise werden alle vier Zeichen der hexadezimalen Notation
1496 notiert. (Achten Sie darauf, dass Sie @emph{nicht} UTF-8-Codepunkte
1497 einsetzen, weil UTF-8 zusätzliche Bits enthält, die die Nummer der Oktets bezeichnet.)  Unicode-Tabellen und ein Verzeichnis der Zeichenbezeichnungen
1498 mit einer hexadezimalen Verweiszahl finden sich auf der Internetseite
1499 des Unicode Consortiums: @uref{http://www.unicode.org/}.
1500
1501 Mit @code{\char ##x03BE} und @code{\char #958} wird
1502 beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
1503 Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat.
1504
1505 Alle existierenden
1506 Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
1507 Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
1508 gespeichert werden.  Es muss natürlich auch noch eine Schriftart auf
1509 dem System installiert sein, die die notierten Zeichen darstellen kann.
1510
1511 Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem
1512 hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen,
1513 im Gesangstext und als normaler Text außerhalb der Partitur.
1514
1515 @lilypond[quote,verbatim]
1516 \score {
1517   \relative c'' {
1518     c1 \mark \markup { \char ##x03EE }
1519     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
1520   }
1521   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
1522 }
1523 \markup { "Copyright 2008--2010" \char ##x00A9 }
1524 @end lilypond
1525
1526 @cindex Copyright-Zeichen
1527
1528 Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
1529
1530 @example
1531 \header @{
1532   copyright = \markup @{ \char ##x00A9 "2008" @}
1533 @}
1534 @end example
1535
1536
1537 @node LilyPond-Notation anzeigen
1538 @subsection LilyPond-Notation anzeigen
1539 @translationof Displaying LilyPond notation
1540
1541 @funindex \displayLilyMusic
1542
1543 Ein musikalischer Ausdruck in LilyPond-Notation kann mit der Funktion
1544 @code{\displayLilyMusic} angezeigt werden.  Der Code
1545
1546 @example
1547 @{
1548   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
1549 @}
1550 @end example
1551
1552 @noindent
1553 etwa wird ausgeben:
1554
1555 @example
1556 @{ a,4 cis e fis g @}
1557 @end example
1558
1559 Normalerweise werden diese Zeilen zusammen mit allen anderen
1560 Kompilations-Nachrichten auf der Kommandozeile ausgegeben.
1561 Um sie separat zu speichern und das Ergebnis von @code{\displayLilyMusic}
1562 weiterzubenutzen,
1563 kann die Ausgabe mit folgendem Befehl in eine Datei umgeleitet werden:
1564
1565 @example
1566 lilypond file.ly >display.txt
1567 @end example
1568
1569
1570
1571 @node Ausgabe kontrollieren
1572 @section Ausgabe kontrollieren
1573 @translationof Controlling output
1574
1575 @menu
1576 * Notationsfragmente extrahieren::
1577 * Korrigierte Musik überspringen::
1578 * Alternative Ausgabeformate::
1579 * Die Notationsschriftart verändern::
1580 @end menu
1581
1582
1583 @node Notationsfragmente extrahieren
1584 @subsection Notationsfragmente extrahieren
1585 @translationof Extracting fragments of music
1586
1587 Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
1588 Quelldatei zu erzeugen.  Das kann damit verglichen werden, dass man
1589 mit der Schere bestimmte Regionen ausschneidet.
1590
1591 Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
1592 (engl. to clip = ausschneiden), extra definiert.  Mit folgender
1593 Definition beispielsweise
1594
1595 @verbatim
1596 \layout {
1597   clip-regions
1598   = #(list
1599       (cons
1600        (make-rhythmic-location 5 1 2)
1601        (make-rhythmic-location 7 3 4)))
1602 }
1603 @end verbatim
1604
1605 @noindent
1606 wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
1607 beginnt und im siebten Takt endet.  Die Bedeutung von @code{5 1 2} ist:
1608 nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
1609 in Takt 7.
1610
1611 Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
1612 werden, indem mehrere derartige Paare definiert werden.
1613
1614 Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
1615 Parameter @code{-dclip-systems} aufgerufen werden.  Die Schnipsel
1616 werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
1617 diese Formate auch als Parameter angegeben werden.
1618
1619 Zu mehr Information über Ausgabeformate siehe @rprogram{lilypond aufrufen}.
1620
1621
1622 @node Korrigierte Musik überspringen
1623 @subsection Korrigierte Musik überspringen
1624 @translationof Skipping corrected music
1625
1626
1627 @funindex skipTypesetting
1628 @funindex showFirstLength
1629 @funindex showLastLength
1630
1631 Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
1632 Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
1633 Korrektur.  Um die Korrektur zu beschleunigen, kann eingestellt werden,
1634 dass nur die letzten paar Takte angezeigt werden.  Das erreicht man
1635 mit dem Befehl
1636
1637 @verbatim
1638 showLastLength = R1*5
1639 \score { ... }
1640 @end verbatim
1641
1642 @noindent
1643 in der Quelldatei.  Damit werden nur die letzten fünf Takte (in einem
1644 4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt.  Besonders
1645 bei längeren Stücken ist es meistens sehr viel schneller, nur einen
1646 kleinen Teil des Stückes zu setzen als die gesamte Länge.  Wenn man
1647 am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
1648 werden soll), kann auch die @code{showFirstLength}-Eigenschaft
1649 nützlich sein.
1650
1651 Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
1652 Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
1653 werden.  Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
1654 wird kein Notensatz ausgegeben.
1655
1656 Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
1657 kontrollieren.  Hiermit werden alle Ereignisse, auch Tempo- und
1658 Instrumentenwechsel ausgelassen.  Man muss also sehr genau darauf
1659 achten, dass nichts unerwartetes geschieht.
1660
1661 @lilypond[quote,relative=2,ragged-right,verbatim]
1662 c8 d
1663 \set Score.skipTypesetting = ##t
1664 e8 e e e e e e e
1665 \set Score.skipTypesetting = ##f
1666 c8 d b bes a g c2
1667 @end lilypond
1668
1669 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
1670 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
1671 Übersetzung der Datei gespart wird.
1672
1673
1674 @node Alternative Ausgabeformate
1675 @subsection Alternative Ausgabeformate
1676 @translationof Alternative output formats
1677
1678 @cindex scalable vector graphics output
1679 @cindex skalierbare Vektorgraphik-Ausgabe
1680 @cindex SVG-Ausgabe
1681 @cindex encapsulated postscript output
1682 @cindex EPS-Ausgabe
1683 @cindex PNG-Ausgabe
1684
1685 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
1686 Document Forma) und PS (PostScript).  SVG (Scalable Vector
1687 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
1688 Network Graphics) gibt es auch als Ausgabeformate über die
1689 Kommandozeile.  Siehe @rprogram{Optionen von lilypond auf der Kommandozeile}.
1690
1691
1692 @node Die Notationsschriftart verändern
1693 @subsection Die Notationsschriftart verändern
1694 @translationof Replacing the notation font
1695
1696 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
1697 eingesetzt wird und kann unter der Adresse
1698 @example
1699 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
1700 @end example
1701
1702 @noindent
1703 heruntergeladen werden.  Hier einige Takte Noten mit der Gonville-Schriftart:
1704
1705 @c NOTE: these images are a bit big, but that's important
1706 @c       for the font comparison.  -gp
1707 @sourceimage{Gonville_after,,,}
1708
1709 Und hier einige Beispieltakte in der Feta-Schriftart:
1710
1711 @sourceimage{Gonville_before,,,}
1712
1713 @subsubheading Installationsanweisungen für MacOS
1714
1715 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
1716 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
1717 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
1718 siehe @rlearning{Mehr Information}.
1719 Benennen Sie das existierende @code{fonts}-Verzeichnis in
1720 @code{fonts_orig} um und benennen Sie das Verzeichnis
1721 @code{lilyfonts} in @code{fonts}.  Das alte Verzeichnis
1722 @code{fonts_orig} können Sie einfach in @code{fonts}
1723 zurückbenennen, um wieder nach Feta zu wechseln.
1724
1725 @seealso
1726 Handbuch zum Lernen: @rlearning{Mehr Information}.
1727
1728 @knownissues
1729
1730 Gonville kann nicht verwendet werden, um Alte Notation zu setzen.
1731 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
1732 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
1733
1734
1735 @node MIDI-Ausgabe
1736 @section MIDI-Ausgabe
1737 @translationof MIDI output
1738
1739 @cindex Klang
1740 @cindex MIDI
1741
1742 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
1743 Kontrolle und Interaktion mit digitalen Instrumenten.  Eine
1744 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
1745 Bändern/Stimmen.  Es ist keine eigentliche Klangdatei, denn man
1746 benötigt spezielle Programme die die Notenereignisse in Klang
1747 umwandeln können.
1748
1749 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
1750 man sich anhören kann, was man notiert hat.  Das hilft oft sehr gut
1751 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
1752 lassen sich meist sehr gut hören.
1753
1754 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und einen für
1755 globale Einstellungen.  Darum sollte die Quelldatei für eine MIDI-Datei
1756 nicht mehr als 15 Systeme (oder 14 wenn kein Schlagzeug benützt wird)
1757 besitzen.  Jedes weitere System bleibt stumm.
1758
1759
1760 @menu
1761 * MIDI-Dateien erstellen::
1762 * Der MIDI-Block::
1763 * Was geht in die MIDI-Ausgabe::
1764 * Wiederholungen im MIDI::
1765 * MIDI-Lautstärke kontrollieren::
1766 * Schlagzeug in MIDI::
1767 @end menu
1768
1769
1770 @node MIDI-Dateien erstellen
1771 @subsection MIDI-Dateien erstellen
1772 @translationof Creating MIDI files
1773
1774 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
1775 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
1776 werden, etwa so:
1777
1778 @example
1779 \score @{
1780   @var{...Noten...}
1781   \midi @{ @}
1782 @}
1783 @end example
1784
1785 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
1786 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
1787 Wenn auch die Notation gewünscht ist, muss zusätzlich die
1788 @code{\layout}-Umgebung vorhanden sein:
1789
1790 @example
1791 \score @{
1792   @var{...music...}
1793   \midi @{ @}
1794   \layout @{ @}
1795 @}
1796 @end example
1797
1798 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
1799 korrekt in das MIDI-Format übersetzt.  Dynamikzeichen, Crescendo und
1800 Decrescendo werden in den MIDI-Lautstärkekanal übertragen.  Dynamikzeichen
1801 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
1802 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
1803 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
1804 werden.  Siehe hierzu @ref{Der MIDI-Block}.
1805
1806 Das Anfangstempo und spätere Tempoänderungen können mit dem
1807 @code{\tempo}-Befehl innerhalb der Notation notiert werden.  Er
1808 bewirkt Tempoänderungen auch in der MIDI-Datei.  Der Befehl setzt
1809 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
1810 auch unterdrückt werden kann, siehe @ref{Metronomangabe}.  Eine
1811 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
1812 unten gezeigt, siehe @ref{Der MIDI-Block}.
1813
1814 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
1815 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
1816 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
1817 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
1818 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
1819 oder @code{\score}-Blocks einfügen:
1820
1821 @example
1822 #(ly:set-option 'midi-extension "midi")
1823 @end example
1824
1825 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
1826
1827 Als Alternative kann man diese Option auch als Kommandozeilenparameter
1828 übergeben:
1829
1830 @example
1831 lilypond … -dmidi-extension=midi lilyDatei.ly
1832 @end example
1833
1834 @unnumberedsubsubsec Instrumentenbezeichnungen
1835
1836 @cindex Instrumentbezeichnungen
1837
1838 @funindex Staff.midiInstrument
1839
1840 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
1841 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
1842 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
1843 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
1844 in der dort definierten Schreibweise notiert werden.
1845
1846 @example
1847 \new Staff @{
1848   \set Staff.midiInstrument = #"glockenspiel"
1849   @var{...Noten...}
1850 @}
1851 @end example
1852
1853 @example
1854 \new Staff \with @{midiInstrument = #"cello"@} @{
1855   @var{...Noten...}
1856 @}
1857 @end example
1858
1859 Wenn die Schreibweise nicht genau einem definierten Instrument aus
1860 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
1861
1862 @snippets
1863
1864 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1865 {changing-midi-output-to-one-channel-per-voice.ly}
1866
1867 @knownissues
1868
1869 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
1870 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
1871 nicht geändert werden kann.
1872
1873 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
1874 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
1875 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
1876
1877
1878 @node Der MIDI-Block
1879 @subsection Der MIDI-Block
1880 @translationof MIDI block
1881
1882 @cindex MIDI-Umgebung
1883
1884 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
1885 vorkommen, wenn MIDI-Ausgabe gewünscht ist.  Sie entspricht der
1886 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut.  Oft wird
1887 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
1888 Kontexte umgeändert werden, neue Kontexte definiert werden oder
1889 neue Werte definiert werden.  Das folgende Beispiel etwa definiert
1890 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
1891 gesetzt wird:
1892
1893 @example
1894 \score @{
1895   @var{...Noten...}
1896   \midi @{
1897     \context @{
1898       \Score
1899       tempoWholesPerMinute = #(ly:make-moment 72 4)
1900     @}
1901   @}
1902 @}
1903 @end example
1904
1905 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert.  Wenn
1906 das Tempo auf diese Weise definiert wird, kann keine punktierte
1907 Note als Einheit angegeben werden.  Wenn sie benötigt wird, muss
1908 man sie in kleinere Einheiten auflösen.  Ein Tempo von 90 punktierten
1909 Viertelnoten pro Minute kann beispielsweise dargestellt werden
1910 als 270 Achtelnoten pro Minute:
1911
1912 @example
1913 tempoWholesPerMinute = #(ly:make-moment 270 8)
1914 @end example
1915
1916 @cindex MIDI-Kontextdefinitionen
1917
1918 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
1919 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
1920 wird.  Klangübersetzungsmodule werden @code{performer}
1921 genannt.  Die Kontexte für die MIDI-Ausgabe sind in der
1922 Datei @file{../@/ly/@/performer@/-init@/.ly} definiert, siehe
1923 @rlearning{Mehr Information}.  Um beispielsweise
1924 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
1925 entfernen, müssen folgende Zeilen eingefügt werden:
1926
1927 @example
1928 \midi @{
1929   ...
1930   \context @{
1931     \Voice
1932     \remove "Dynamic_performer"
1933   @}
1934 @}
1935 @end example
1936
1937 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
1938 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
1939 @code{\score} beginnt.
1940
1941 @example
1942 \score @{
1943   @{ @dots{}Noten@dots{} @}
1944   \midi @{ @}
1945 @}
1946 @end example
1947
1948
1949 @node Was geht in die MIDI-Ausgabe
1950 @subsection Was geht in die MIDI-Ausgabe
1951 @translationof What goes into the MIDI output?
1952
1953
1954 @unnumberedsubsubsec In MIDI unterstützt
1955
1956 @cindex Tonhöhen in MIDI
1957 @cindex MIDI, Tonhöhen
1958 @cindex Vierteltöne in MIDI
1959 @cindex MIDI, Vierteltöne
1960 @cindex Mikrotöne in MIDI
1961 @cindex MIDI, Mikrotöne
1962 @cindex Akkordsymbole in MIDI
1963 @cindex MIDI, Akkordsymbole
1964 @cindex Rhythmen in MIDI
1965 @cindex MIDI, Rhythmen
1966
1967 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
1968
1969 @itemize
1970 @item Tonhöhen
1971 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
1972 Spieler benötigt, der Tonhöhen verändern kann.)
1973 @item Akkorde, die als Symbole notiert werden
1974 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
1975 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
1976 @item Überbindungen
1977 @item Dynamikzeichen
1978 @item Crescendi, decrescendi zu mehreren Noten
1979 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
1980 @item Gesangstext
1981 @end itemize
1982
1983
1984 @unnumberedsubsubsec In MIDI nicht unterstützt
1985
1986 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen:
1987
1988 @itemize
1989 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
1990 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
1991 @item Staccato und andere Artikulationen und Ornamente
1992 @item Legato- und Phrasierungsbögen
1993 @item Crescendi, decrescendi zu einer einzelnen Note
1994 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
1995 @item Bezifferter Bass
1996 @item Akkorde mit Mikrotönen
1997 @end itemize
1998
1999
2000 @node Wiederholungen im MIDI
2001 @subsection Wiederholungen im MIDI
2002 @translationof Repeats in MIDI
2003
2004 @cindex Wiederholungen in MIDI
2005 @cindex MIDI und Wiederholungen
2006
2007 @funindex \unfoldRepeats
2008
2009 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2010 auch in der MIDI-Ausgabe wiedergegeben werden.  Das wird erreicht, indem
2011 die @code{\unfoldRepeats}-Funktion eingesetzt wird.  Diese Funktion
2012 verändert alle Wiederholungen in ausgeschriebene Noten.
2013
2014 @lilypond[quote,verbatim]
2015 \unfoldRepeats {
2016   \repeat tremolo 8 { c'32 e' }
2017   \repeat percent 2 { c''8 d'' }
2018   \repeat volta 2 { c'4 d' e' f' }
2019   \alternative {
2020     { g' a' a' g' }
2021     { f' e' d' c' }
2022   }
2023 }
2024 \bar "|."
2025 @end lilypond
2026
2027 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2028 wird, ist er notwendig,
2029 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2030 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2031 in der anderen werden die Wiederholungen notiert und als Partitur
2032 gesetzt.  Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2033 aussehen kann:
2034
2035 @example
2036 \score @{
2037   @var{..music..}
2038   \layout @{ .. @}
2039 @}
2040 \score @{
2041   \unfoldRepeats @var{..music..}
2042   \midi @{ .. @}
2043 @}
2044 @end example
2045
2046
2047 @node MIDI-Lautstärke kontrollieren
2048 @subsection MIDI-Lautstärke kontrollieren
2049 @translationof Controlling MIDI dynamics
2050
2051 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2052 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2053 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2054 als auch relative Lautstärken von Dynamikanweisungen und auch
2055 relative Lautstärke von einzelnen Instrumenten einzustellen.
2056
2057
2058 @unnumberedsubsubsec Dynamik-Zeichen
2059
2060 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2061 zur Verfügung stehenden MIDI-Lautstärke notiert.  Die Standardbrüche
2062 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2063 @notation{fffff}.  Diese Anweisung befinden sich in der Datei
2064 @file{../@/scm/@/midi.scm}, siehe auch @rlearning{Mehr Information}.
2065 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2066 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2067 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2068 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2069 gesetzt werden.
2070
2071 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2072 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann.  Gleiches gilt
2073 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2074 nicht enthalten sind.  Die Scheme-Funktion, die hier definiert wird,
2075 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2076 Standardanweisungen auf:
2077
2078 @lilypond[verbatim,quote]
2079 #(define (myDynamics dynamic)
2080     (if (equal? dynamic "rfz")
2081       0.9
2082       (default-dynamic-absolute-volume dynamic)))
2083
2084 \score {
2085   \new Staff {
2086     \set Staff.midiInstrument = #"cello"
2087     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2088     \new Voice {
2089       \relative c'' {
2090         a4\pp b c-\rfz
2091       }
2092     }
2093   }
2094   \layout {}
2095   \midi {}
2096 }
2097 @end lilypond
2098
2099 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2100 umdefiniert werden soll, ist es besser, die
2101 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2102 @file{../@/scm/@/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2103 zu benutzen.  Das letzte Beispiel dieses Abschnittes zeigt, wie das
2104 gemacht werden kann.
2105
2106
2107 @unnumberedsubsubsec MIDI-Lautstärke
2108
2109 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2110 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2111 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2112 werden.  Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2113 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2114 wenn diese Einstellung von Anfang an Wirkung zeigen soll.  Der Bruch,
2115 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2116 Formel
2117
2118 @example
2119 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2120 @end example
2121
2122 @noindent
2123 errechnet.  Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2124 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2125
2126 @lilypond[verbatim,quote]
2127 \score {
2128   <<
2129     \new Staff {
2130       \key g \major
2131       \time 2/2
2132       \set Staff.midiInstrument = #"flute"
2133       \new Voice \relative c''' {
2134         r2 g\mp g fis~
2135         fis4 g8 fis e2~
2136         e4 d8 cis d2
2137       }
2138     }
2139     \new Staff {
2140       \key g \major
2141       \set Staff.midiInstrument = #"clarinet"
2142       \new Voice \relative c'' {
2143         b1\p a2. b8 a
2144         g2. fis8 e
2145         fis2 r
2146       }
2147     }
2148   >>
2149   \layout {}
2150   \midi {
2151     \context {
2152       \Score
2153       tempoWholesPerMinute = #(ly:make-moment 72 2)
2154       midiMinimumVolume = #0.2
2155       midiMaximumVolume = #0.5
2156     }
2157   }
2158 }
2159 @end lilypond
2160
2161
2162 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2163
2164 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2165 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2166 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2167 werden.  Damit kann man die Qualität der MIDI-Datei
2168 merklich verbessern.
2169
2170 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2171 zur Lautstärke der Flöte verringert.  In jeder Stimme muss
2172 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2173 diese Einstellung korrekt funktioniert.
2174
2175 @lilypond[verbatim,quote]
2176 \score {
2177   <<
2178     \new Staff {
2179       \key g \major
2180       \time 2/2
2181       \set Staff.midiInstrument = #"flute"
2182       \set Staff.midiMinimumVolume = #0.7
2183       \set Staff.midiMaximumVolume = #0.9
2184       \new Voice \relative c''' {
2185         r2 g\mp g fis~
2186         fis4 g8 fis e2~
2187         e4 d8 cis d2
2188       }
2189     }
2190     \new Staff {
2191       \key g \major
2192       \set Staff.midiInstrument = #"clarinet"
2193       \set Staff.midiMinimumVolume = #0.3
2194       \set Staff.midiMaximumVolume = #0.6
2195       \new Voice \relative c'' {
2196         b1\p a2. b8 a
2197         g2. fis8 e
2198         fis2 r
2199       }
2200     }
2201   >>
2202   \layout {}
2203   \midi {
2204     \context {
2205       \Score
2206       tempoWholesPerMinute = #(ly:make-moment 72 2)
2207     }
2208   }
2209 }
2210 @end lilypond
2211
2212
2213 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
2214
2215 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2216 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
2217 Anpassungen für die Lautstärken bestimmter Instrumente vor.
2218 Diese Instrumente und ihre entsprechende Veränderung lassen
2219 sich aus der Tabelle @notation{instrument-equalizer-alist}
2220 in der Datei @file{../@/scm/@/midi.scm} entnehmen.
2221
2222 Dieser grundlegende Equalizer kann ersetzt werden, indem die
2223 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
2224 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
2225 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
2226 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
2227 Instruments darstellt.  Die Ersetzung der Standardfunktion wird
2228 auf gleiche Weise vorgenommen, wie es schon für die
2229 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
2230 gezeigt wurde.  Der Standard-Equalizer,
2231 @notation{default-instrument-equalizer} in der Datei
2232 @file{../@/scm/@/midi.scm} zeigt, wie solche eine Funktion erstellt werden
2233 kann.
2234
2235 Das folgende Beispiel definiert für die Flöte und Klarinette relative
2236 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
2237
2238 @lilypond[verbatim,quote]
2239 #(define my-instrument-equalizer-alist '())
2240
2241 #(set! my-instrument-equalizer-alist
2242   (append
2243     '(
2244       ("flute" . (0.7 . 0.9))
2245       ("clarinet" . (0.3 . 0.6)))
2246     my-instrument-equalizer-alist))
2247
2248 #(define (my-instrument-equalizer s)
2249   (let ((entry (assoc s my-instrument-equalizer-alist)))
2250     (if entry
2251       (cdr entry))))
2252
2253 \score {
2254   <<
2255     \new Staff {
2256       \key g \major
2257       \time 2/2
2258       \set Score.instrumentEqualizer = #my-instrument-equalizer
2259       \set Staff.midiInstrument = #"flute"
2260       \new Voice \relative c''' {
2261         r2 g\mp g fis~
2262         fis4 g8 fis e2~
2263         e4 d8 cis d2
2264       }
2265     }
2266     \new Staff {
2267       \key g \major
2268       \set Staff.midiInstrument = #"clarinet"
2269       \new Voice \relative c'' {
2270         b1\p a2. b8 a
2271         g2. fis8 e
2272         fis2 r
2273       }
2274     }
2275   >>
2276   \layout { }
2277   \midi {
2278     \context {
2279       \Score
2280       tempoWholesPerMinute = #(ly:make-moment 72 2)
2281     }
2282   }
2283 }
2284 @end lilypond
2285
2286
2287
2288 @node Schlagzeug in MIDI
2289 @subsection Schlagzeug in MIDI
2290 @translationof Percussion in MIDI
2291
2292 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
2293 notiert.  Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
2294 ausgegeben.  Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
2295 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
2296 in einem @code{Staff}-Kontext notiert.  Nur so lässt sich auch hier
2297 eine richtige MIDI-Ausgabe erreichen.
2298
2299 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
2300 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
2301 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
2302 notiert werden.  Es handelt sich
2303 um @code{melodic tom, taiko drum, synth drum} u. A.
2304
2305 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
2306 z. B. Kastagnetten.  Die einfachste Methode, derartige Instrumente
2307 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
2308 kommt.
2309
2310
2311 @knownissues
2312
2313 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
2314 Schlagstock (sidestick) für diesen Zweck eingesetzt.