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