]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/notation/input.itely
Doc: trim leading spaces.
[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.12.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 @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
1668 @end lilypond
1669
1670 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
1671 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
1672 Übersetzung der Datei gespart wird.
1673
1674
1675 @node Alternative Ausgabeformate
1676 @subsection Alternative Ausgabeformate
1677 @translationof Alternative output formats
1678
1679 @cindex scalable vector graphics output
1680 @cindex skalierbare Vektorgraphik-Ausgabe
1681 @cindex SVG-Ausgabe
1682 @cindex encapsulated postscript output
1683 @cindex EPS-Ausgabe
1684 @cindex PNG-Ausgabe
1685
1686 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
1687 Document Forma) und PS (PostScript).  SVG (Scalable Vector
1688 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
1689 Network Graphics) gibt es auch als Ausgabeformate über die
1690 Kommandozeile.  Siehe @rprogram{Optionen von lilypond auf der Kommandozeile}.
1691
1692
1693 @node Die Notationsschriftart verändern
1694 @subsection Die Notationsschriftart verändern
1695 @translationof Replacing the notation font
1696
1697 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
1698 eingesetzt wird und kann unter der Adresse
1699 @example
1700 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
1701 @end example
1702
1703 @noindent
1704 heruntergeladen werden.  Hier einige Takte Noten mit der Gonville-Schriftart:
1705
1706 @c NOTE: these images are a bit big, but that's important
1707 @c       for the font comparison.  -gp
1708 @sourceimage{Gonville_after,,,}
1709
1710 Und hier einige Beispieltakte in der Feta-Schriftart:
1711
1712 @sourceimage{Gonville_before,,,}
1713
1714 @subsubheading Installationsanweisungen für MacOS
1715
1716 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
1717 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
1718 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
1719 siehe @rlearning{Mehr Information}.
1720 Benennen Sie das existierende @code{fonts}-Verzeichnis in
1721 @code{fonts_orig} um und benennen Sie das Verzeichnis
1722 @code{lilyfonts} in @code{fonts}.  Das alte Verzeichnis
1723 @code{fonts_orig} können Sie einfach in @code{fonts}
1724 zurückbenennen, um wieder nach Feta zu wechseln.
1725
1726 @seealso
1727 Handbuch zum Lernen: @rlearning{Mehr Information}.
1728
1729 @knownissues
1730
1731 Gonville kann nicht verwendet werden, um Alte Notation zu setzen.
1732 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
1733 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
1734
1735
1736 @node MIDI-Ausgabe
1737 @section MIDI-Ausgabe
1738 @translationof MIDI output
1739
1740 @cindex Klang
1741 @cindex MIDI
1742
1743 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
1744 Kontrolle und Interaktion mit digitalen Instrumenten.  Eine
1745 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
1746 Bändern/Stimmen.  Es ist keine eigentliche Klangdatei, denn man
1747 benötigt spezielle Programme die die Notenereignisse in Klang
1748 umwandeln können.
1749
1750 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
1751 man sich anhören kann, was man notiert hat.  Das hilft oft sehr gut
1752 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
1753 lassen sich meist sehr gut hören.
1754
1755 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und einen für
1756 globale Einstellungen.  Darum sollte die Quelldatei für eine MIDI-Datei
1757 nicht mehr als 15 Systeme (oder 14 wenn kein Schlagzeug benützt wird)
1758 besitzen.  Jedes weitere System bleibt stumm.
1759
1760
1761 @menu
1762 * MIDI-Dateien erstellen::
1763 * Der MIDI-Block::
1764 * Was geht in die MIDI-Ausgabe::
1765 * Wiederholungen im MIDI::
1766 * MIDI-Lautstärke kontrollieren::
1767 * Schlagzeug in MIDI::
1768 @end menu
1769
1770
1771 @node MIDI-Dateien erstellen
1772 @subsection MIDI-Dateien erstellen
1773 @translationof Creating MIDI files
1774
1775 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
1776 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
1777 werden, etwa so:
1778
1779 @example
1780 \score @{
1781   @var{...Noten...}
1782   \midi @{ @}
1783 @}
1784 @end example
1785
1786 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
1787 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
1788 Wenn auch die Notation gewünscht ist, muss zusätzlich die
1789 @code{\layout}-Umgebung vorhanden sein:
1790
1791 @example
1792 \score @{
1793   @var{...music...}
1794   \midi @{ @}
1795   \layout @{ @}
1796 @}
1797 @end example
1798
1799 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
1800 korrekt in das MIDI-Format übersetzt.  Dynamikzeichen, Crescendo und
1801 Decrescendo werden in den MIDI-Lautstärkekanal übertragen.  Dynamikzeichen
1802 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
1803 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
1804 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
1805 werden.  Siehe hierzu @ref{Der MIDI-Block}.
1806
1807 Das Anfangstempo und spätere Tempoänderungen können mit dem
1808 @code{\tempo}-Befehl innerhalb der Notation notiert werden.  Er
1809 bewirkt Tempoänderungen auch in der MIDI-Datei.  Der Befehl setzt
1810 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
1811 auch unterdrückt werden kann, siehe @ref{Metronomangabe}.  Eine
1812 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
1813 unten gezeigt, siehe @ref{Der MIDI-Block}.
1814
1815 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
1816 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
1817 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
1818 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
1819 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
1820 oder @code{\score}-Blocks einfügen:
1821
1822 @example
1823 #(ly:set-option 'midi-extension "midi")
1824 @end example
1825
1826 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
1827
1828 Als Alternative kann man diese Option auch als Kommandozeilenparameter
1829 übergeben:
1830
1831 @example
1832 lilypond … -dmidi-extension=midi lilyDatei.ly
1833 @end example
1834
1835 @unnumberedsubsubsec Instrumentenbezeichnungen
1836
1837 @cindex Instrumentbezeichnungen
1838
1839 @funindex Staff.midiInstrument
1840
1841 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
1842 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
1843 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
1844 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
1845 in der dort definierten Schreibweise notiert werden.
1846
1847 @example
1848 \new Staff @{
1849   \set Staff.midiInstrument = #"glockenspiel"
1850   @var{...Noten...}
1851 @}
1852 @end example
1853
1854 @example
1855 \new Staff \with @{midiInstrument = #"cello"@} @{
1856   @var{...Noten...}
1857 @}
1858 @end example
1859
1860 Wenn die Schreibweise nicht genau einem definierten Instrument aus
1861 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
1862
1863 @snippets
1864
1865 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1866 {changing-midi-output-to-one-channel-per-voice.ly}
1867
1868 @knownissues
1869
1870 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
1871 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
1872 nicht geändert werden kann.
1873
1874 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
1875 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
1876 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
1877
1878
1879 @node Der MIDI-Block
1880 @subsection Der MIDI-Block
1881 @translationof MIDI block
1882
1883 @cindex MIDI-Umgebung
1884
1885 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
1886 vorkommen, wenn MIDI-Ausgabe gewünscht ist.  Sie entspricht der
1887 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut.  Oft wird
1888 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
1889 Kontexte umgeändert werden, neue Kontexte definiert werden oder
1890 neue Werte definiert werden.  Das folgende Beispiel etwa definiert
1891 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
1892 gesetzt wird:
1893
1894 @example
1895 \score @{
1896   @var{...Noten...}
1897   \midi @{
1898     \context @{
1899       \Score
1900       tempoWholesPerMinute = #(ly:make-moment 72 4)
1901     @}
1902   @}
1903 @}
1904 @end example
1905
1906 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert.  Wenn
1907 das Tempo auf diese Weise definiert wird, kann keine punktierte
1908 Note als Einheit angegeben werden.  Wenn sie benötigt wird, muss
1909 man sie in kleinere Einheiten auflösen.  Ein Tempo von 90 punktierten
1910 Viertelnoten pro Minute kann beispielsweise dargestellt werden
1911 als 270 Achtelnoten pro Minute:
1912
1913 @example
1914 tempoWholesPerMinute = #(ly:make-moment 270 8)
1915 @end example
1916
1917 @cindex MIDI-Kontextdefinitionen
1918
1919 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
1920 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
1921 wird.  Klangübersetzungsmodule werden @code{performer}
1922 genannt.  Die Kontexte für die MIDI-Ausgabe sind in der
1923 Datei @file{../@/ly/@/performer@/-init@/.ly} definiert, siehe
1924 @rlearning{Mehr Information}.  Um beispielsweise
1925 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
1926 entfernen, müssen folgende Zeilen eingefügt werden:
1927
1928 @example
1929 \midi @{
1930   ...
1931   \context @{
1932     \Voice
1933     \remove "Dynamic_performer"
1934   @}
1935 @}
1936 @end example
1937
1938 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
1939 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
1940 @code{\score} beginnt.
1941
1942 @example
1943 \score @{
1944   @{ @dots{}Noten@dots{} @}
1945   \midi @{ @}
1946 @}
1947 @end example
1948
1949
1950 @node Was geht in die MIDI-Ausgabe
1951 @subsection Was geht in die MIDI-Ausgabe
1952 @translationof What goes into the MIDI output?
1953
1954
1955 @unnumberedsubsubsec In MIDI unterstützt
1956
1957 @cindex Tonhöhen in MIDI
1958 @cindex MIDI, Tonhöhen
1959 @cindex Vierteltöne in MIDI
1960 @cindex MIDI, Vierteltöne
1961 @cindex Mikrotöne in MIDI
1962 @cindex MIDI, Mikrotöne
1963 @cindex Akkordsymbole in MIDI
1964 @cindex MIDI, Akkordsymbole
1965 @cindex Rhythmen in MIDI
1966 @cindex MIDI, Rhythmen
1967
1968 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
1969
1970 @itemize
1971 @item Tonhöhen
1972 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
1973 Spieler benötigt, der Tonhöhen verändern kann.)
1974 @item Akkorde, die als Symbole notiert werden
1975 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
1976 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
1977 @item Überbindungen
1978 @item Dynamikzeichen
1979 @item Crescendi, decrescendi zu mehreren Noten
1980 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
1981 @item Gesangstext
1982 @end itemize
1983
1984
1985 @unnumberedsubsubsec In MIDI nicht unterstützt
1986
1987 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen:
1988
1989 @itemize
1990 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
1991 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
1992 @item Staccato und andere Artikulationen und Ornamente
1993 @item Legato- und Phrasierungsbögen
1994 @item Crescendi, decrescendi zu einer einzelnen Note
1995 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
1996 @item Bezifferter Bass
1997 @item Akkorde mit Mikrotönen
1998 @end itemize
1999
2000
2001 @node Wiederholungen im MIDI
2002 @subsection Wiederholungen im MIDI
2003 @translationof Repeats in MIDI
2004
2005 @cindex Wiederholungen in MIDI
2006 @cindex MIDI und Wiederholungen
2007
2008 @funindex \unfoldRepeats
2009
2010 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2011 auch in der MIDI-Ausgabe wiedergegeben werden.  Das wird erreicht, indem
2012 die @code{\unfoldRepeats}-Funktion eingesetzt wird.  Diese Funktion
2013 verändert alle Wiederholungen in ausgeschriebene Noten.
2014
2015 @lilypond[quote,verbatim]
2016 \unfoldRepeats {
2017   \repeat tremolo 8 { c'32 e' }
2018   \repeat percent 2 { c''8 d'' }
2019   \repeat volta 2 { c'4 d' e' f' }
2020   \alternative {
2021     { g' a' a' g' }
2022     { f' e' d' c' }
2023   }
2024 }
2025 \bar "|."
2026 @end lilypond
2027
2028 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2029 wird, ist er notwendig,
2030 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2031 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2032 in der anderen werden die Wiederholungen notiert und als Partitur
2033 gesetzt.  Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2034 aussehen kann:
2035
2036 @example
2037 \score @{
2038   @var{..music..}
2039   \layout @{ .. @}
2040 @}
2041 \score @{
2042   \unfoldRepeats @var{..music..}
2043   \midi @{ .. @}
2044 @}
2045 @end example
2046
2047
2048 @node MIDI-Lautstärke kontrollieren
2049 @subsection MIDI-Lautstärke kontrollieren
2050 @translationof Controlling MIDI dynamics
2051
2052 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2053 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2054 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2055 als auch relative Lautstärken von Dynamikanweisungen und auch
2056 relative Lautstärke von einzelnen Instrumenten einzustellen.
2057
2058
2059 @unnumberedsubsubsec Dynamik-Zeichen
2060
2061 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2062 zur Verfügung stehenden MIDI-Lautstärke notiert.  Die Standardbrüche
2063 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2064 @notation{fffff}.  Diese Anweisung befinden sich in der Datei
2065 @file{../@/scm/@/midi.scm}, siehe auch @rlearning{Mehr Information}.
2066 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2067 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2068 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2069 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2070 gesetzt werden.
2071
2072 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2073 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann.  Gleiches gilt
2074 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2075 nicht enthalten sind.  Die Scheme-Funktion, die hier definiert wird,
2076 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2077 Standardanweisungen auf:
2078
2079 @lilypond[verbatim,quote]
2080 #(define (myDynamics dynamic)
2081     (if (equal? dynamic "rfz")
2082       0.9
2083       (default-dynamic-absolute-volume dynamic)))
2084
2085 \score {
2086   \new Staff {
2087     \set Staff.midiInstrument = #"cello"
2088     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2089     \new Voice {
2090       \relative c'' {
2091         a4\pp b c-\rfz
2092       }
2093     }
2094   }
2095   \layout {}
2096   \midi {}
2097 }
2098 @end lilypond
2099
2100 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2101 umdefiniert werden soll, ist es besser, die
2102 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2103 @file{../@/scm/@/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2104 zu benutzen.  Das letzte Beispiel dieses Abschnittes zeigt, wie das
2105 gemacht werden kann.
2106
2107
2108 @unnumberedsubsubsec MIDI-Lautstärke
2109
2110 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2111 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2112 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2113 werden.  Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2114 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2115 wenn diese Einstellung von Anfang an Wirkung zeigen soll.  Der Bruch,
2116 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2117 Formel
2118
2119 @example
2120 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2121 @end example
2122
2123 @noindent
2124 errechnet.  Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2125 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2126
2127 @lilypond[verbatim,quote]
2128 \score {
2129   <<
2130     \new Staff {
2131       \key g \major
2132       \time 2/2
2133       \set Staff.midiInstrument = #"flute"
2134       \new Voice \relative c''' {
2135         r2 g\mp g fis~
2136         fis4 g8 fis e2~
2137         e4 d8 cis d2
2138       }
2139     }
2140     \new Staff {
2141       \key g \major
2142       \set Staff.midiInstrument = #"clarinet"
2143       \new Voice \relative c'' {
2144         b1\p a2. b8 a
2145         g2. fis8 e
2146         fis2 r
2147       }
2148     }
2149   >>
2150   \layout {}
2151   \midi {
2152     \context {
2153       \Score
2154       tempoWholesPerMinute = #(ly:make-moment 72 2)
2155       midiMinimumVolume = #0.2
2156       midiMaximumVolume = #0.5
2157     }
2158   }
2159 }
2160 @end lilypond
2161
2162
2163 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2164
2165 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2166 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2167 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2168 werden.  Damit kann man die Qualität der MIDI-Datei
2169 merklich verbessern.
2170
2171 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2172 zur Lautstärke der Flöte verringert.  In jeder Stimme muss
2173 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2174 diese Einstellung korrekt funktioniert.
2175
2176 @lilypond[verbatim,quote]
2177 \score {
2178   <<
2179     \new Staff {
2180       \key g \major
2181       \time 2/2
2182       \set Staff.midiInstrument = #"flute"
2183       \set Staff.midiMinimumVolume = #0.7
2184       \set Staff.midiMaximumVolume = #0.9
2185       \new Voice \relative c''' {
2186         r2 g\mp g fis~
2187         fis4 g8 fis e2~
2188         e4 d8 cis d2
2189       }
2190     }
2191     \new Staff {
2192       \key g \major
2193       \set Staff.midiInstrument = #"clarinet"
2194       \set Staff.midiMinimumVolume = #0.3
2195       \set Staff.midiMaximumVolume = #0.6
2196       \new Voice \relative c'' {
2197         b1\p a2. b8 a
2198         g2. fis8 e
2199         fis2 r
2200       }
2201     }
2202   >>
2203   \layout {}
2204   \midi {
2205     \context {
2206       \Score
2207       tempoWholesPerMinute = #(ly:make-moment 72 2)
2208     }
2209   }
2210 }
2211 @end lilypond
2212
2213
2214 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
2215
2216 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2217 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
2218 Anpassungen für die Lautstärken bestimmter Instrumente vor.
2219 Diese Instrumente und ihre entsprechende Veränderung lassen
2220 sich aus der Tabelle @notation{instrument-equalizer-alist}
2221 in der Datei @file{../@/scm/@/midi.scm} entnehmen.
2222
2223 Dieser grundlegende Equalizer kann ersetzt werden, indem die
2224 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
2225 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
2226 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
2227 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
2228 Instruments darstellt.  Die Ersetzung der Standardfunktion wird
2229 auf gleiche Weise vorgenommen, wie es schon für die
2230 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
2231 gezeigt wurde.  Der Standard-Equalizer,
2232 @notation{default-instrument-equalizer} in der Datei
2233 @file{../@/scm/@/midi.scm} zeigt, wie solche eine Funktion erstellt werden
2234 kann.
2235
2236 Das folgende Beispiel definiert für die Flöte und Klarinette relative
2237 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
2238
2239 @lilypond[verbatim,quote]
2240 #(define my-instrument-equalizer-alist '())
2241
2242 #(set! my-instrument-equalizer-alist
2243   (append
2244     '(
2245       ("flute" . (0.7 . 0.9))
2246       ("clarinet" . (0.3 . 0.6)))
2247     my-instrument-equalizer-alist))
2248
2249 #(define (my-instrument-equalizer s)
2250   (let ((entry (assoc s my-instrument-equalizer-alist)))
2251     (if entry
2252       (cdr entry))))
2253
2254 \score {
2255   <<
2256     \new Staff {
2257       \key g \major
2258       \time 2/2
2259       \set Score.instrumentEqualizer = #my-instrument-equalizer
2260       \set Staff.midiInstrument = #"flute"
2261       \new Voice \relative c''' {
2262         r2 g\mp g fis~
2263         fis4 g8 fis e2~
2264         e4 d8 cis d2
2265       }
2266     }
2267     \new Staff {
2268       \key g \major
2269       \set Staff.midiInstrument = #"clarinet"
2270       \new Voice \relative c'' {
2271         b1\p a2. b8 a
2272         g2. fis8 e
2273         fis2 r
2274       }
2275     }
2276   >>
2277   \layout { }
2278   \midi {
2279     \context {
2280       \Score
2281       tempoWholesPerMinute = #(ly:make-moment 72 2)
2282     }
2283   }
2284 }
2285 @end lilypond
2286
2287
2288
2289 @node Schlagzeug in MIDI
2290 @subsection Schlagzeug in MIDI
2291 @translationof Percussion in MIDI
2292
2293 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
2294 notiert.  Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
2295 ausgegeben.  Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
2296 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
2297 in einem @code{Staff}-Kontext notiert.  Nur so lässt sich auch hier
2298 eine richtige MIDI-Ausgabe erreichen.
2299
2300 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
2301 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
2302 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
2303 notiert werden.  Es handelt sich
2304 um @code{melodic tom, taiko drum, synth drum} u. A.
2305
2306 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
2307 z. B. Kastagnetten.  Die einfachste Methode, derartige Instrumente
2308 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
2309 kommt.
2310
2311
2312 @knownissues
2313
2314 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
2315 Schlagstock (sidestick) für diesen Zweck eingesetzt.