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