]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/notation/input.itely
Thinko in tablature-tremolo.ly regtest.
[lilypond.git] / Documentation / de / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2
3 @ignore
4     Translation of GIT committish: 4f7427e7a314a71bde16559247885544256b8213
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 Beispiele 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 beliebige Anzahl an Ausdrücken
242 auf der obersten Ebene beinhalten, wobei ein Ausdruck 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 derartige 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 obersten 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 Bezeichnung 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 Handbuch 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ündig 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 Seite. (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 Üblicherweise 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'1
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 unbekannt 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'4  % ...
784     \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur"
785     d'4  % ...
786   }
787 }
788
789 \tocItem \markup "zweite Partitur"
790 \score {
791   {
792     e'4 % ...
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 aufgeteilt 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 Kommandozeile mit
1004 Option aufgerufen wird: @code{lilypond --verbose}.  Hiermit wird
1005 neben anderer Information auch eine Liste von 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 Partitur 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 { a4 a a a }
1227   \tag #'b \tag #'both { b4 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 { a4 a a a }
1243 \tag #'B { b4 b b b }
1244 \tag #'C { c4 c c c }
1245 \tag #'D { d4 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 c' {
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.)  Unicode-Tabellen und ein Verzeichnis der Zeichenbezeichnungen
1361 mit einer hexadezimalen Verweiszahl finden sich auf der Internetseite
1362 des Unicode Consortiums: @uref{http://www.unicode.org/}.
1363
1364 Mit @code{\char ##x03BE} und @code{\char #958} wird
1365 beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
1366 Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat.
1367
1368 Alle existierenden
1369 Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
1370 Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
1371 gespeichert werden.  Es muss natürlich auch noch eine Schriftart auf
1372 dem System installiert sein, die die notierten Zeichen darstellen kann.
1373
1374 Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem
1375 hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen,
1376 im Gesangstext und als normaler Text außerhalb der Partitur.
1377
1378 @lilypond[quote,verbatim]
1379 \score {
1380   \relative c'' {
1381     c1 \mark \markup { \char ##x03EE }
1382     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
1383   }
1384   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
1385 }
1386 \markup { "Copyright 2008--2010" \char ##x00A9 }
1387 @end lilypond
1388
1389 @cindex Copyright-Zeichen
1390
1391 Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
1392
1393 @example
1394 \header @{
1395   copyright = \markup @{ \char ##x00A9 "2008" @}
1396 @}
1397 @end example
1398
1399
1400 @node LilyPond-Notation anzeigen
1401 @subsection LilyPond-Notation anzeigen
1402 @translationof Displaying LilyPond notation
1403
1404 @funindex \displayLilyMusic
1405
1406 Ein musikalischer Ausdruck in LilyPond-Notation kann mit der Funktion
1407 @code{\displayLilyMusic} angezeigt werden.  Der Code
1408
1409 @example
1410 @{
1411   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
1412 @}
1413 @end example
1414
1415 @noindent
1416 etwa wird ausgeben:
1417
1418 @example
1419 @{ a,4 cis e fis g @}
1420 @end example
1421
1422 Normalerweise werden diese Zeilen zusammen mit allen anderen
1423 Kompilations-Nachrichten auf der Kommandozeile ausgegeben.
1424 Um sie separat zu speichern und das Ergebnis von @code{\displayLilyMusic}
1425 weiterzubenutzen,
1426 kann die Ausgabe mit folgendem Befehl in eine Datei umgeleitet werden:
1427
1428 @example
1429 lilypond file.ly >display.txt
1430 @end example
1431
1432
1433
1434 @node Ausgabe kontrollieren
1435 @section Ausgabe kontrollieren
1436 @translationof Controlling output
1437
1438 @menu
1439 * Notationsfragmente extrahieren::
1440 * Korrigierte Musik überspringen::
1441 * Alternative Ausgabeformate::
1442 * Die Notationsschriftart verändern::
1443 @end menu
1444
1445
1446 @node Notationsfragmente extrahieren
1447 @subsection Notationsfragmente extrahieren
1448 @translationof Extracting fragments of music
1449
1450 Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
1451 Quelldatei zu erzeugen.  Das kann damit verglichen werden, dass man
1452 mit der Schere bestimmte Regionen ausschneidet.
1453
1454 Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
1455 (engl. to clip = ausschneiden), extra definiert.  Mit folgender
1456 Definition beispielsweise
1457
1458 @verbatim
1459 \layout {
1460   clip-regions
1461   = #(list
1462       (cons
1463        (make-rhythmic-location 5 1 2)
1464        (make-rhythmic-location 7 3 4)))
1465 }
1466 @end verbatim
1467
1468 @noindent
1469 wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
1470 beginnt und im siebten Takt endet.  Die Bedeutung von @code{5 1 2} ist:
1471 nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
1472 in Takt 7.
1473
1474 Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
1475 werden, indem mehrere derartige Paare definiert werden.
1476
1477 Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
1478 Parameter @code{-dclip-systems} aufgerufen werden.  Die Schnipsel
1479 werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
1480 diese Formate auch als Parameter angegeben werden.
1481
1482 Zu mehr Information über Ausgabeformate siehe @rprogram{lilypond aufrufen}.
1483
1484
1485 @node Korrigierte Musik überspringen
1486 @subsection Korrigierte Musik überspringen
1487 @translationof Skipping corrected music
1488
1489
1490 @funindex skipTypesetting
1491 @funindex showFirstLength
1492 @funindex showLastLength
1493
1494 Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
1495 Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
1496 Korrektur.  Um die Korrektur zu beschleunigen, kann eingestellt werden,
1497 dass nur die letzten paar Takte angezeigt werden.  Das erreicht man
1498 mit dem Befehl
1499
1500 @verbatim
1501 showLastLength = R1*5
1502 \score { ... }
1503 @end verbatim
1504
1505 @noindent
1506 in der Quelldatei.  Damit werden nur die letzten fünf Takte (in einem
1507 4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt.  Besonders
1508 bei längeren Stücken ist es meistens sehr viel schneller, nur einen
1509 kleinen Teil des Stückes zu setzen als die gesamte Länge.  Wenn man
1510 am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
1511 werden soll), kann auch die @code{showFirstLength}-Eigenschaft
1512 nützlich sein.
1513
1514 Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
1515 Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
1516 werden.  Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
1517 wird kein Notensatz ausgegeben.
1518
1519 Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
1520 kontrollieren.  Hiermit werden alle Ereignisse, auch Tempo- und
1521 Instrumentenwechsel ausgelassen.  Man muss also sehr genau darauf
1522 achten, dass nichts unerwartetes geschieht.
1523
1524 @lilypond[quote,fragment,ragged-right,verbatim]
1525 \relative c'' {
1526   c8 d
1527   \set Score.skipTypesetting = ##t
1528   e8 e e e e e e e
1529   \set Score.skipTypesetting = ##f
1530   c8 d b bes a g c2
1531 }
1532 @end lilypond
1533
1534 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
1535 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
1536 Übersetzung der Datei gespart wird.
1537
1538
1539 @node Alternative Ausgabeformate
1540 @subsection Alternative Ausgabeformate
1541 @translationof Alternative output formats
1542
1543 @cindex scalable vector graphics output
1544 @cindex skalierbare Vektorgraphik-Ausgabe
1545 @cindex SVG-Ausgabe
1546 @cindex encapsulated postscript output
1547 @cindex EPS-Ausgabe
1548 @cindex PNG-Ausgabe
1549
1550 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
1551 Document Forma) und PS (PostScript).  SVG (Scalable Vector
1552 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
1553 Network Graphics) gibt es auch als Ausgabeformate über die
1554 Kommandozeile.  Siehe @rprogram{Optionen von lilypond auf der Kommandozeile}.
1555
1556
1557 @node Die Notationsschriftart verändern
1558 @subsection Die Notationsschriftart verändern
1559 @translationof Replacing the notation font
1560
1561 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
1562 eingesetzt wird und kann unter der Adresse
1563 @example
1564 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
1565 @end example
1566
1567 @noindent
1568 heruntergeladen werden.  Hier einige Takte Noten mit der Gonville-Schriftart:
1569
1570 @c NOTE: these images are a bit big, but that's important
1571 @c       for the font comparison.  -gp
1572 @sourceimage{Gonville_after,,,}
1573
1574 Und hier einige Beispieltakte in der Feta-Schriftart:
1575
1576 @sourceimage{Gonville_before,,,}
1577
1578 @subsubheading Installationsanweisungen für MacOS
1579
1580 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
1581 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
1582 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
1583 siehe @rlearning{Mehr Information}.
1584 Benennen Sie das existierende @code{fonts}-Verzeichnis in
1585 @code{fonts_orig} um und benennen Sie das Verzeichnis
1586 @code{lilyfonts} in @code{fonts}.  Das alte Verzeichnis
1587 @code{fonts_orig} können Sie einfach in @code{fonts}
1588 zurückbenennen, um wieder nach Feta zu wechseln.
1589
1590 @seealso
1591 Handbuch zum Lernen: @rlearning{Mehr Information}.
1592
1593 @knownissues
1594
1595 Gonville kann nicht verwendet werden, um Alte Notation zu setzen.
1596 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
1597 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
1598
1599
1600 @node MIDI-Ausgabe
1601 @section MIDI-Ausgabe
1602 @translationof MIDI output
1603
1604 @cindex Klang
1605 @cindex MIDI
1606
1607 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
1608 Kontrolle und Interaktion mit digitalen Instrumenten.  Eine
1609 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
1610 Bändern/Stimmen.  Es ist keine eigentliche Klangdatei, denn man
1611 benötigt spezielle Programme die die Notenereignisse in Klang
1612 umwandeln können.
1613
1614 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
1615 man sich anhören kann, was man notiert hat.  Das hilft oft sehr gut
1616 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
1617 lassen sich meist sehr gut hören.
1618
1619 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und einen für
1620 globale Einstellungen.  Darum sollte die Quelldatei für eine MIDI-Datei
1621 nicht mehr als 15 Systeme (oder 14 wenn kein Schlagzeug benützt wird)
1622 besitzen.  Jedes weitere System bleibt stumm.
1623
1624
1625 @menu
1626 * MIDI-Dateien erstellen::
1627 * Der MIDI-Block::
1628 * Was geht in die MIDI-Ausgabe::
1629 * Wiederholungen im MIDI::
1630 * MIDI-Lautstärke kontrollieren::
1631 * Schlagzeug in MIDI::
1632 @end menu
1633
1634
1635 @node MIDI-Dateien erstellen
1636 @subsection MIDI-Dateien erstellen
1637 @translationof Creating MIDI files
1638
1639 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
1640 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
1641 werden, etwa so:
1642
1643 @example
1644 \score @{
1645   @var{...Noten...}
1646   \midi @{ @}
1647 @}
1648 @end example
1649
1650 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
1651 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
1652 Wenn auch die Notation gewünscht ist, muss zusätzlich die
1653 @code{\layout}-Umgebung vorhanden sein:
1654
1655 @example
1656 \score @{
1657   @var{...music...}
1658   \midi @{ @}
1659   \layout @{ @}
1660 @}
1661 @end example
1662
1663 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
1664 korrekt in das MIDI-Format übersetzt.  Dynamikzeichen, Crescendo und
1665 Decrescendo werden in den MIDI-Lautstärkekanal übertragen.  Dynamikzeichen
1666 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
1667 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
1668 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
1669 werden.  Siehe hierzu @ref{Der MIDI-Block}.
1670
1671 Das Anfangstempo und spätere Tempoänderungen können mit dem
1672 @code{\tempo}-Befehl innerhalb der Notation notiert werden.  Er
1673 bewirkt Tempoänderungen auch in der MIDI-Datei.  Der Befehl setzt
1674 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
1675 auch unterdrückt werden kann, siehe @ref{Metronomangabe}.  Eine
1676 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
1677 unten gezeigt, siehe @ref{Der MIDI-Block}.
1678
1679 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
1680 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
1681 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
1682 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
1683 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
1684 oder @code{\score}-Blocks einfügen:
1685
1686 @example
1687 #(ly:set-option 'midi-extension "midi")
1688 @end example
1689
1690 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
1691
1692 Als Alternative kann man diese Option auch als Kommandozeilenparameter
1693 übergeben:
1694
1695 @example
1696 lilypond … -dmidi-extension=midi lilyDatei.ly
1697 @end example
1698
1699 @unnumberedsubsubsec Instrumentenbezeichnungen
1700
1701 @cindex Instrumentbezeichnungen
1702
1703 @funindex Staff.midiInstrument
1704
1705 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
1706 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
1707 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
1708 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
1709 in der dort definierten Schreibweise notiert werden.
1710
1711 @example
1712 \new Staff @{
1713   \set Staff.midiInstrument = #"glockenspiel"
1714   @var{...Noten...}
1715 @}
1716 @end example
1717
1718 @example
1719 \new Staff \with @{midiInstrument = #"cello"@} @{
1720   @var{...Noten...}
1721 @}
1722 @end example
1723
1724 Wenn die Schreibweise nicht genau einem definierten Instrument aus
1725 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
1726
1727 @snippets
1728
1729 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1730 {changing-midi-output-to-one-channel-per-voice.ly}
1731
1732 @knownissues
1733
1734 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
1735 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
1736 nicht geändert werden kann.
1737
1738 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
1739 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
1740 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
1741
1742
1743 @node Der MIDI-Block
1744 @subsection Der MIDI-Block
1745 @translationof MIDI block
1746
1747 @cindex MIDI-Umgebung
1748
1749 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
1750 vorkommen, wenn MIDI-Ausgabe gewünscht ist.  Sie entspricht der
1751 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut.  Oft wird
1752 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
1753 Kontexte umgeändert werden, neue Kontexte definiert werden oder
1754 neue Werte definiert werden.  Das folgende Beispiel etwa definiert
1755 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
1756 gesetzt wird:
1757
1758 @example
1759 \score @{
1760   @var{...Noten...}
1761   \midi @{
1762     \context @{
1763       \Score
1764       tempoWholesPerMinute = #(ly:make-moment 72 4)
1765     @}
1766   @}
1767 @}
1768 @end example
1769
1770 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert.  Wenn
1771 das Tempo auf diese Weise definiert wird, kann keine punktierte
1772 Note als Einheit angegeben werden.  Wenn sie benötigt wird, muss
1773 man sie in kleinere Einheiten auflösen.  Ein Tempo von 90 punktierten
1774 Viertelnoten pro Minute kann beispielsweise dargestellt werden
1775 als 270 Achtelnoten pro Minute:
1776
1777 @example
1778 tempoWholesPerMinute = #(ly:make-moment 270 8)
1779 @end example
1780
1781 @cindex MIDI-Kontextdefinitionen
1782
1783 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
1784 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
1785 wird.  Klangübersetzungsmodule werden @code{performer}
1786 genannt.  Die Kontexte für die MIDI-Ausgabe sind in der
1787 Datei @file{../@/ly/@/performer@/-init@/.ly} definiert, siehe
1788 @rlearning{Mehr Information}.  Um beispielsweise
1789 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
1790 entfernen, müssen folgende Zeilen eingefügt werden:
1791
1792 @example
1793 \midi @{
1794   ...
1795   \context @{
1796     \Voice
1797     \remove "Dynamic_performer"
1798   @}
1799 @}
1800 @end example
1801
1802 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
1803 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
1804 @code{\score} beginnt.  Wenn eine Partitur explizit etwa mit
1805 @code{\new Score} begonnen wird, und sich die MIDI-Umgebung hierin
1806 befindet, wird keine Ausgabe produziert.  Eine Lösung ist es, sowohl
1807 die @code{\new Score}- als auch die @code{\midi}-Umgebungen in eine
1808 @code{\score}-Umgebung einzuschließen.
1809
1810 @example
1811 \score @{
1812   \new Score @{ @dots{}Noten@dots{} @}
1813   \midi @{ @}
1814 @}
1815 @end example
1816
1817
1818 @node Was geht in die MIDI-Ausgabe
1819 @subsection Was geht in die MIDI-Ausgabe
1820 @translationof What goes into the MIDI output?
1821
1822
1823 @unnumberedsubsubsec In MIDI unterstützt
1824
1825 @cindex Tonhöhen in MIDI
1826 @cindex MIDI, Tonhöhen
1827 @cindex Vierteltöne in MIDI
1828 @cindex MIDI, Vierteltöne
1829 @cindex Mikrotöne in MIDI
1830 @cindex MIDI, Mikrotöne
1831 @cindex Akkordsymbole in MIDI
1832 @cindex MIDI, Akkordsymbole
1833 @cindex Rhythmen in MIDI
1834 @cindex MIDI, Rhythmen
1835
1836 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
1837
1838 @itemize
1839 @item Tonhöhen
1840 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
1841 Spieler benötigt, der Tonhöhen verändern kann.)
1842 @item Akkorde, die als Symbole notiert werden
1843 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
1844 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
1845 @item Überbindungen
1846 @item Dynamikzeichen
1847 @item Crescendi, decrescendi zu mehreren Noten
1848 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
1849 @item Gesangstext
1850 @end itemize
1851
1852
1853 @unnumberedsubsubsec In MIDI nicht unterstützt
1854
1855 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen:
1856
1857 @itemize
1858 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
1859 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
1860 @item Staccato und andere Artikulationen und Ornamente
1861 @item Legato- und Phrasierungsbögen
1862 @item Crescendi, decrescendi zu einer einzelnen Note
1863 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
1864 @item Bezifferter Bass
1865 @item Akkorde mit Mikrotönen
1866 @end itemize
1867
1868
1869 @node Wiederholungen im MIDI
1870 @subsection Wiederholungen im MIDI
1871 @translationof Repeats in MIDI
1872
1873 @cindex Wiederholungen in MIDI
1874 @cindex MIDI und Wiederholungen
1875
1876 @funindex \unfoldRepeats
1877
1878 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
1879 auch in der MIDI-Ausgabe wiedergegeben werden.  Das wird erreicht, indem
1880 die @code{\unfoldRepeats}-Funktion eingesetzt wird.  Diese Funktion
1881 verändert alle Wiederholungen in ausgeschriebene Noten.
1882
1883 @lilypond[quote,verbatim]
1884 \unfoldRepeats {
1885   \repeat tremolo 8 { c'32 e' }
1886   \repeat percent 2 { c''8 d'' }
1887   \repeat volta 2 { c'4 d' e' f' }
1888   \alternative {
1889     { g' a' a' g' }
1890     { f' e' d' c' }
1891   }
1892 }
1893 \bar "|."
1894 @end lilypond
1895
1896 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
1897 wird, ist er notwendig,
1898 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
1899 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
1900 in der anderen werden die Wiederholungen notiert und als Partitur
1901 gesetzt.  Das Beispiel gibt einen Hinweis, wie eine derartige Datei
1902 aussehen kann:
1903
1904 @example
1905 \score @{
1906   @var{..music..}
1907   \layout @{ .. @}
1908 @}
1909 \score @{
1910   \unfoldRepeats @var{..music..}
1911   \midi @{ .. @}
1912 @}
1913 @end example
1914
1915
1916 @node MIDI-Lautstärke kontrollieren
1917 @subsection MIDI-Lautstärke kontrollieren
1918 @translationof Controlling MIDI dynamics
1919
1920 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
1921 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
1922 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
1923 als auch relative Lautstärken von Dynamikanweisungen und auch
1924 relative Lautstärke von einzelnen Instrumenten einzustellen.
1925
1926
1927 @unnumberedsubsubsec Dynamik-Zeichen
1928
1929 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
1930 zur Verfügung stehenden MIDI-Lautstärke notiert.  Die Standardbrüche
1931 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
1932 @notation{fffff}.  Diese Anweisung befinden sich in der Datei
1933 @file{../@/scm/@/midi.scm}, siehe auch @rlearning{Mehr Information}.
1934 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
1935 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
1936 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
1937 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
1938 gesetzt werden.
1939
1940 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
1941 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann.  Gleiches gilt
1942 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
1943 nicht enthalten sind.  Die Scheme-Funktion, die hier definiert wird,
1944 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
1945 Standardanweisungen auf:
1946
1947 @lilypond[verbatim,quote]
1948 #(define (myDynamics dynamic)
1949     (if (equal? dynamic "rfz")
1950       0.9
1951       (default-dynamic-absolute-volume dynamic)))
1952
1953 \score {
1954   \new Staff {
1955     \set Staff.midiInstrument = #"cello"
1956     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
1957     \new Voice {
1958       \relative c'' {
1959         a4\pp b c-\rfz
1960       }
1961     }
1962   }
1963   \layout {}
1964   \midi {}
1965 }
1966 @end lilypond
1967
1968 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
1969 umdefiniert werden soll, ist es besser, die
1970 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
1971 @file{../@/scm/@/midi.scm} und die hiermit verknüpfte Tabelle als Modell
1972 zu benutzen.  Das letzte Beispiel dieses Abschnittes zeigt, wie das
1973 gemacht werden kann.
1974
1975
1976 @unnumberedsubsubsec MIDI-Lautstärke
1977
1978 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
1979 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
1980 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
1981 werden.  Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
1982 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
1983 wenn diese Einstellung von Anfang an Wirkung zeigen soll.  Der Bruch,
1984 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
1985 Formel
1986
1987 @example
1988 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
1989 @end example
1990
1991 @noindent
1992 errechnet.  Im folgenden Beispiel wird die generelle MIDI-Lautstärke
1993 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
1994
1995 @lilypond[verbatim,quote]
1996 \score {
1997   <<
1998     \new Staff {
1999       \key g \major
2000       \time 2/2
2001       \set Staff.midiInstrument = #"flute"
2002       \new Voice \relative c''' {
2003         r2 g\mp g fis~
2004         fis4 g8 fis e2~
2005         e4 d8 cis d2
2006       }
2007     }
2008     \new Staff {
2009       \key g \major
2010       \set Staff.midiInstrument = #"clarinet"
2011       \new Voice \relative c'' {
2012         b1\p a2. b8 a
2013         g2. fis8 e
2014         fis2 r
2015       }
2016     }
2017   >>
2018   \layout {}
2019   \midi {
2020     \context {
2021       \Score
2022       tempoWholesPerMinute = #(ly:make-moment 72 2)
2023       midiMinimumVolume = #0.2
2024       midiMaximumVolume = #0.5
2025     }
2026   }
2027 }
2028 @end lilypond
2029
2030
2031 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2032
2033 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2034 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2035 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2036 werden.  Damit kann man die Qualität der MIDI-Datei
2037 merklich verbessern.
2038
2039 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2040 zur Lautstärke der Flöte verringert.  In jeder Stimme muss
2041 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2042 diese Einstellung korrekt funktioniert.
2043
2044 @lilypond[verbatim,quote]
2045 \score {
2046   <<
2047     \new Staff {
2048       \key g \major
2049       \time 2/2
2050       \set Staff.midiInstrument = #"flute"
2051       \set Staff.midiMinimumVolume = #0.7
2052       \set Staff.midiMaximumVolume = #0.9
2053       \new Voice \relative c''' {
2054         r2 g\mp g fis~
2055         fis4 g8 fis e2~
2056         e4 d8 cis d2
2057       }
2058     }
2059     \new Staff {
2060       \key g \major
2061       \set Staff.midiInstrument = #"clarinet"
2062       \set Staff.midiMinimumVolume = #0.3
2063       \set Staff.midiMaximumVolume = #0.6
2064       \new Voice \relative c'' {
2065         b1\p a2. b8 a
2066         g2. fis8 e
2067         fis2 r
2068       }
2069     }
2070   >>
2071   \layout {}
2072   \midi {
2073     \context {
2074       \Score
2075       tempoWholesPerMinute = #(ly:make-moment 72 2)
2076     }
2077   }
2078 }
2079 @end lilypond
2080
2081
2082 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
2083
2084 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2085 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
2086 Anpassungen für die Lautstärken bestimmter Instrumente vor.
2087 Diese Instrumente und ihre entsprechende Veränderung lassen
2088 sich aus der Tabelle @notation{instrument-equalizer-alist}
2089 in der Datei @file{../@/scm/@/midi.scm} entnehmen.
2090
2091 Dieser grundlegende Equalizer kann ersetzt werden, indem die
2092 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
2093 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
2094 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
2095 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
2096 Instruments darstellt.  Die Ersetzung der Standardfunktion wird
2097 auf gleiche Weise vorgenommen, wie es schon für die
2098 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
2099 gezeigt wurde.  Der Standard-Equalizer,
2100 @notation{default-instrument-equalizer} in der Datei
2101 @file{../@/scm/@/midi.scm} zeigt, wie solche eine Funktion erstellt werden
2102 kann.
2103
2104 Das folgende Beispiel definiert für die Flöte und Klarinette relative
2105 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
2106
2107 @lilypond[verbatim,quote]
2108 #(define my-instrument-equalizer-alist '())
2109
2110 #(set! my-instrument-equalizer-alist
2111   (append
2112     '(
2113       ("flute" . (0.7 . 0.9))
2114       ("clarinet" . (0.3 . 0.6)))
2115     my-instrument-equalizer-alist))
2116
2117 #(define (my-instrument-equalizer s)
2118   (let ((entry (assoc s my-instrument-equalizer-alist)))
2119     (if entry
2120       (cdr entry))))
2121
2122 \score {
2123   <<
2124     \new Staff {
2125       \key g \major
2126       \time 2/2
2127       \set Score.instrumentEqualizer = #my-instrument-equalizer
2128       \set Staff.midiInstrument = #"flute"
2129       \new Voice \relative c''' {
2130         r2 g\mp g fis~
2131         fis4 g8 fis e2~
2132         e4 d8 cis d2
2133       }
2134     }
2135     \new Staff {
2136       \key g \major
2137       \set Staff.midiInstrument = #"clarinet"
2138       \new Voice \relative c'' {
2139         b1\p a2. b8 a
2140         g2. fis8 e
2141         fis2 r
2142       }
2143     }
2144   >>
2145   \layout { }
2146   \midi {
2147     \context {
2148       \Score
2149       tempoWholesPerMinute = #(ly:make-moment 72 2)
2150     }
2151   }
2152 }
2153 @end lilypond
2154
2155
2156
2157 @node Schlagzeug in MIDI
2158 @subsection Schlagzeug in MIDI
2159 @translationof Percussion in MIDI
2160
2161 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
2162 notiert.  Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
2163 ausgegeben.  Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
2164 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
2165 in einem @code{Staff}-Kontext notiert.  Nur so lässt sich auch hier
2166 eine richtige MIDI-Ausgabe erreichen.
2167
2168 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
2169 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
2170 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
2171 notiert werden.  Es handelt sich
2172 um @code{melodic tom, taiko drum, synth drum} u. A.
2173
2174 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
2175 z. B. Kastagnetten.  Die einfachste Methode, derartige Instrumente
2176 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
2177 kommt.
2178
2179
2180 @knownissues
2181
2182 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
2183 Schlagstock (sidestick) für diesen Zweck eingesetzt.