1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: cs -*-
4 Translation of GIT committish: a463d80d4be008ce05b12de86fc21f2b7c1c120f
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.
12 @c Translators: Pavel Fric
15 @chapter Základní pojmy
16 @translationof Fundamental concepts
18 Poté co ve cvičení bylo ukázáno, jak lze z jednoduchého textového souboru
19 vytvořit překrásně formátované hudební noty, jsou v této kapitole
20 představeny koncepty a techniky, jak se dají tvořit i složitější
24 * Jak pracují vstupní soubory LilyPondu::
25 * Hlasy obsahují noty::
26 * Souvislosti a rytci::
27 * Rozšíření příkladů::
30 @node Jak pracují vstupní soubory LilyPondu
31 @section Jak pracují vstupní soubory LilyPondu
32 @translationof How LilyPond input files work
34 Vstupní formát pro LilyPond měl poměrně volnou podobu, takže
35 zkušení uživatele tu mají hodně volnosti v ovlivnění stavby jejich
36 zdrojových souborů. Pro nováčky ale tato ohebnost může být zprvu
37 matoucí. V této kapitole by proto z toho důvodu měla být představena
38 část z těchto staveb. Mnohé ale bude pro zjednodušení
39 vynecháno. Na úplný popis vstupního formátu se podívejte
40 na @ruser{stavbu souboru}.
42 Většinu příkladů v této příručce představují malé úryvky, jako
49 Jak je snad známo, nedá se takový úryvek v této podobě
50 přeložit. Tyto příklady jsou tedy jen zkrácenou formou
51 skutečných příkladů. Přinejmenším se musí dodatečně uzavřít ve
60 Většina příkladů rovněž používá příkaz @code{\relative c'}.
61 Ten pro překlad souborů není nezbytný, ale ve většině případů
62 tak notová sazba vypadá zřídka, když se tento příkaz
65 @lilypond[quote,fragment,ragged-right,verbatim]
71 Úplné vymezení vstupního formátu se nachází
72 v kapitole @ruser{Stavba souboru}.
75 * Uvedení do stavby souboru v LilyPondu::
76 * Notový zápis je jedním (jediným) složeným hudebním výrazem::
77 * Naskládání hudebních výrazů do sebe::
78 * O ne-naskládatelnosti závorek a ligatur::
81 @node Uvedení do stavby souboru v LilyPondu
82 @subsection Uvedení do stavby souboru v LilyPondu
83 @translationof Introduction to the LilyPond file structure
85 @cindex Vstupní formát
86 @cindex Stavba souboru
87 @cindex Stavba, soubor
89 Základní příklad vstupního souboru pro LilyPond zní:
92 \version @w{"@version{}"}
97 @var{...složený hudební výraz...} % Celé noty přijdou sem!
104 Na základě pružnosti LilyPond je mnoho obměn tohoto schématu,
105 ale tento příklad slouží jako jednoduchý výchozí bod.
114 Až dosud ještě žádný z příkladů příkaz @code{\score@{@}}
115 nepoužil, neboť Lilypond takové dodatečné příkazy automaticky
116 vkládá v případě potřeby, když má vstupní soubor jednoduchou
119 Podívejme se na jeden takový jednoduchý příklad:
128 Na pozadí k tomu přichází ještě několik rovin: LilyPondovský kód
129 v hořejší podobě je ve skutečnosti zestručněním. I když by se
130 takové soubory daly napsat a také správně zapsat, znamená
131 úplný kód, který je zde míněn, vlastně:
149 Jinými slovy: Když vstupní soubor obsahuje nějaký jednoduchý výraz,
150 LilyPond bude soubor vykládat tak, jakoby byl onen výraz zadán uvnitř
151 výše ukázaných příkazů. Tato nutná stavba je vytvořena automaticky
152 v paměti při vyvolání LilyPondu,
153 aniž by si uživatel něčeho z toho všiml.
155 @cindex Skrytá prostředí
156 @cindex Prostředí, skrytá
158 @strong{Slovo varování je však vysloveno!} Mnohé z příkladů
159 v dokumentaci k LilyPondu vědomě vynechávají příklady @code{\new Staff}
160 a @code{\new Voice} k vytvoření notové osnovy a hlasu (obojí je v
161 LilyPondu tak zvané prostředí),
162 aby byla LilyPondem v paměti vytvořena skrytě.
163 Pro jednoduché dokumenty to obecně pracuje velmi dobře, u
164 složitějších notových zápisů z toho ale mohou povstat neočekávané
165 výsledky, částečně dokonce neočekávané prázdné notové osnovy. Jak
166 otevřeně vytvářet odpovídající prostředí v takovém případě,
167 se podívejte na @ref{Souvislosti a rytci,,souvislosti a rytce}.
169 @warning{Když se zadává více jak dvojice notových řádků,
170 doporučuje se vytvořit notové osnovy a hlasy vždy otevřeně
171 pomocí @code{\new Staff} a @code{\new Voice}.}
173 V této chvíli se ale chceme vrátit k našemu prvnímu příkladu a
174 blíže se podívat jen na příkaz @code{\score}.
176 Notový zápis (@code{\score}) musí vždy začínat nějakým hudebním
177 výrazem. To je koneckonců každá hudba, počínaje jednotlivou
178 notou až po rostoucí notový zápis s mnoha notovými osnovami
179 (zde označeno pomocí @code{GrandStaff}):
184 @var{...zde celý notový zápis...}
190 Protože se vše nachází uvnitř složených závorek @code{@{ ... @}},
191 zachází se s tím jako s jediným hudebním výrazem.
194 Jak již bylo řečeno předtím, může blok @code{\score} obsahovat i jiné věci, jako například
217 Jak je vidět, jsou ty tři příkazy @code{\header}, @code{\layout} a
218 @code{\midi} zvláštní povahy: V protikladu k mnoha jiným příkazům,
219 které také začínají zpětným lomítkem @code{\}, @emph{nejsou} hudebním výrazem
220 a také nejsou částí nějakého hudebního výrazu. Z toho důvodu mohou být umístěny
221 jak dovnitř bloku @code{\score} tak mimo
222 něj. Ve skutečnosti jsou tyto příkazy většinou umisťovány mimo blok
223 @code{\score}, například se příkaz @code{\header} nachází
224 velice často nad prostředím @code{\score}, jak ukazuje příklad na
225 začátku tohoto oddílu. Pracuje to právě tak dobře.
227 Dvěma dosud neviděnými příkazy jsou
228 @code{\layout @{ @}} a @code{\midi @{@}}. Když se objeví v nějakém
229 souboru, vede to k tomu, že Lilypond vytvoří tisknutelný soubor PDF
230 popřípadě soubor MIDI. Přesněji jsou popsány v uživatelské příručce -
231 doporučení k notovému zápisu -- @ruser{Rozvržení notového zápisu} und
232 @ruser{Vytváření souborů MIDI}.
234 @cindex Notové zápisy, více
235 @cindex Prostředí book, skryté
236 @cindex Skryté prostředí book
240 Váš LilyPondovský kód může obsahovat více bloků @code{\score}.
241 Každý z nich je vykládán jako samostatný notový zápis, ovšem
242 všechny jsou umístěny v tomtéž výstupním souboru.
243 Příkaz @code{\book} není otevřeně nezbytný -- je vytvořen
244 skrytě. Když však má být vytvořen pro každý blok @code{\score} v
245 souboru @file{.ly} vlastní výstupní soubor,
246 potom se musí každý z těchto bloků zapsat do vlastního bloku @code{\book}:
247 Každý blok @code{\book} pak vytváří vlastní výstupní soubor.
251 Každý blok @code{\book} vytváří vlastní výstupní soubor (např. soubor
252 PDF). Pokud jste otevřeně žádný takový blok nezadali,
253 LilyPond celý obsah souboru zapíše dovnitř jednoho jediného
254 skrytého bloku @code{\book}.
256 Každý blok @code{\score} popiseje jeden samostatný hudební kus
257 uvnitř bloku @code{\book}.
259 @cindex Prostředí Layout, umístění
260 @cindex Umístění prostředí layout
262 Každý blok @code{\layout} ovlivňuje @code{\score} nebo
263 @code{\book}, ve kterém se vyskytuje. Tak působí například blok
264 @code{\layout} uvnitř bloku @code{\score} jen na tento jeden
265 blok a celý jeho obsah, blok @code{\layout} mimo
266 blok @code{\score} (a proto uvnitř skrytě vytvořeného
267 otevřeně zadaného bloku @code{\book}) však na
268 všechny bloky @code{\score} uvnitř tohoto bloku @code{\book}.
270 Více podrobností se nachází v části @ruser{Více notových zápisů v knize}.
273 @cindex Identifikátor
275 Dobrou možností pro zjednodušení jsou vlastní vymezené proměnné,
276 jak je to také ukázáno v @ref{Pořádání kousků pomocí proměnných}.
277 Všechny předlohy používají tuto možnost:
280 melodie = \relative c' @{
289 Když LilyPond zpracovává tento soubor, bere obsah
290 z @code{melodie} (vše po rovnítku) a vkládá to,
291 kdykoli vidí @code{\melodie}. Názvy jsou
292 volně volitelné, proměnná se právě tak dobře může
293 jmenovat @code{melodie}, @code{GLOBAL}, @code{praváRukaKlavír},
294 nebo @code{cokoliDalšího}.
295 Jako název proměnné se dá použít skoro jakýkoli oblíbený název,
296 musí se v něm ovšem vyskytovat jen písmena (takže žádná čísla, podtržítka,
297 zvláštní znaky, atd.) a nesmí znít jako příkaz pro LilyPond. Pro více
298 informací se podívejte na
299 @ref{Úspora psaní na stroji pomocí proměnných a funkcí,,úsporu psaní na stroji pomocí proměnných a funkcí}. Přesně jsou
300 tato omezení popsána v části @ruser{Stavba souboru}.
304 Úplné vymezení vstupního souboru se nachází v
305 @ruser{Stavba souboru}.
308 @node Notový zápis je jedním (jediným) složeným hudebním výrazem
309 @subsection Notový zápis je jedním (jediným) složeným hudebním výrazem
310 @translationof Score is a (single) compound musical expression
317 @cindex Složený hudební výraz
318 @cindex Hudební výraz, složený
321 V předchozí kapitole, @ref{Uvedení do stavby souboru v LilyPondu},
322 byla popsána obecná stavba jednoho LilyPondovského zdrojového
323 souboru. Ale zjevně jsme vypustili nejdůležitější
324 otázku, totiž jak se zjistí, co se má napsat
327 Ve skutečnosti to ale není vůbec žádným tajemstvím. Tento
331 @emph{Notový zápis začíná vždy @code{\score}, který je následován
332 jedním hudebním výrazem.}
336 Možná byste si měl ještě jednou zběžně přečíst, abyste pochopil, co jsou to hudební výrazy,
337 @ref{Vysvětlení hudebních výrazů,,vysvětlení hudebních výrazů}. V této
338 kapitole bylo ukázáno, jak se velké hudební výrazy
339 skládají z malých částí. Noty mohou být spojeny s akordy
340 atd. Nyní ale jdeme v jiném směru a pozorujeme,
341 jak se dá rozložit velký hudební výraz. Kvůli zjednodušení
342 v našem příkladu použijeme jen jednoho zpěváka a
343 klavír. Nepotřebujeme žádnou skupinu
344 osnov (@code{StaffGroup}), která jednoduše způsobeje jen to,
345 že osnovy jsou spojeny závorkami, seskupuje je; ty tedy budou
346 odstraněny. @emph{Potřebujeme} ale osnovy pro zpěváka a klavír.
352 \new Staff = "Zpěvák" <<
354 \new PianoStaff = "Klavír" <<
362 Zde byly osnovy pojmenovány: @qq{Zpěvák} a
363 @qq{Klavír}. To v tomto případě není přímo nutné,
364 ale je dobré zvyknout si na tento způsob psaní, aby se hned
365 poznalo, o kterou osnovu se jedná.
367 K zapamatování: @code{<<} a @code{>>} jsou noty vysázeny
368 zároveň. To způsobuje, že se hlasová část a klavírní osnova objevují
369 v notovém zápisu nad sebou. Konstrukce @code{<< ... >>} pro zpěvákovu osnovu
370 v příkladu výše není nutná, protože zde se mají vkládat noty jen
371 jednoho hlasu, ale @code{<< ... >>}
372 namísto závorek jsou nezbytné, hned jak se má vkládat
373 více než jeden hlas, tedy dva a více současných výrazů, nebo jeden notový hlas a text
374 písně. V našem případě se má zapsat jeden hlas s textem písně,
375 takže jsou potřeba špičaté závorky. Noty přidáme teprve později,
376 pro teď tedy přidáme nějaké noty a text. Pokud si nevzpomínáte,
377 jak se text písně zapisuje, přečtěte si ještě
378 jednou o @code{\addlyrics} v @ref{Zápis jednoduchých písní,,zápisu jednoduchých písní}.
381 @lilypond[verbatim,quote,ragged-right]
384 \new Staff = "Zpěvák" <<
385 \new Voice = "Zpěvní hlas" { c'1 }
388 \new PianoStaff = "Klavír" <<
389 \new Staff = "nahoře" { }
390 \new Staff = "dole" { }
397 Nyní máme mnohem více podrobností. Máme osnovu (angl. staff)
398 pro jednoho zpěváka, ve které se zase nachází jeden hlas
399 (angl. voice). @code{Voice} znamená pro LilyPond hlas (jak
400 zazpívaný tak zahraný; prostě soubor not, nikoli nutně zpívaných zpěvákem
401 -- například housle hrají jeden hlas) a případně dodatečný text. Dodatečně
402 se zapíší dvě notové osnovy pro klavír příkazem @code{\new
403 PianoStaff}. @code{PianoStaff} označuje prostředí klavíru (procházející
404 taktové čáry a složené závorky na začátku), v němž se potom opět
405 zřizují dvě vlastní osnovy ("nahoře" pro pravou ruku a
406 "dole" pro levou), i když spodní osnova musí ještě dostat
409 Nyní bychom do tohoto prostředí mohli začít vkládat noty. Uvnitř
410 složených závorek vedle @code{\new Voice = "Zpěvní hlas"}
411 bychom mohli zapisovat
420 Ale když se soubor píše takto přímo, začne být
421 část @code{\score} velmi dlouhá a je dosti obtížné porozumět tomu,
422 jak vše souvisí. Z toho důvodu se nabízí použití identifikátorů
423 (nebo jinak také proměnných). Byly vysvětleny na začátku předchozí
424 části, jak si zajisté vzpomínáte? Abychom zajistili,
425 že obsah proměnné @code{text} je vykládán jako text písně,
426 interpretiert wird, uvedeme jej @code{\lyricmode}. Tak jako
427 @code{\addlyrics}, je tímto vstupní režim přepnut na
428 text písně. Bez tohoto příkazu by se LilyPond pokoušel vykládat obsah
429 proměnné jako noty a přitom by docházelo k vytváření
430 množství chyb. (Kromě toho je dostupných ještě několik dalších
431 zadávacích režimů, podívejte se na @ruser{Vstupní režimy}.)
433 Takže nyní máme, když přidáme několik not a basový klíč
434 pro levou ruku, následující příklad:
437 @lilypond[verbatim,quote,ragged-right]
438 melodie = \relative c'' { r4 d8\noBeam g, c4 r }
439 text = \lyricmode { And God said, }
440 nahoře = \relative c'' { <g d g,>2~ <g d g,> }
441 dole = \relative c { b2 e }
445 \new Staff = "Zpěvák" <<
446 \new Voice = "Zpěvní hlas" { \melodie }
449 \new PianoStaff = "Klavír" <<
450 \new Staff = "nahoře" { \upper }
451 \new Staff = "dole" {
461 Při zapisování (nebo při čtení) prostředí @code{\score}
462 by se mělo postupovat pomalu a pečlivě. Nejlepší je začít s největšími
463 útvary, a pak vymezit v nich obsažené menší útvary. Také pomáhá velice
464 dbát na přesné odsazení, aby každý řádek, jenž přísluší k
465 téže úrovni, skutečně vodorovně začínal na tom
470 Doporučení k notovému zápisu: @ruser{Stavba notového zápisu}.
473 @node Naskládání hudebních výrazů do sebe
474 @subsection Naskládání hudebních výrazů do sebe
475 @translationof Nesting music expressions
477 @cindex Notové osnovy, dočasné
479 @cindex Dočasné notové osnovy
481 Notové osnovy (prostředí @q{Staff}) není bezpodmínečně potřeba
482 vytvořit hned na začátku -- mohou být uvedeny i kdykoli
483 později. To je obzvláště užitečné při vytváření oddílů
484 @rglosnamed{ossia,Ossias}. Zde následuje krátký příklad toho,
485 jak je možné vytvořit dodatečnou dočasnou notovou osnovu
486 jen pro dobu trvání tří not:
488 @lilypond[verbatim,quote,ragged-right]
505 Jak je vidět, velikost notového klíče je tatáž, jaká se vyskytuje
506 i při změně klíče -- o něco menší, než
507 jakou má klíč na začátku notové osnovy. Toto je obvyklé u
508 notových klíčů, které jsou zapsány uvnitř notové osnovy.
510 @cindex Notová osnova, umístění
511 @cindex Umístění notové osnovy
513 Oddíl ossia může být zapsán i mimo hlavní notovou
516 @lilypond[verbatim,quote,ragged-right]
517 \new Staff = "main" {
524 alignAboveContext = #"main"
532 Tento příklad používá příkaz @code{\with}, který bude později
533 gvysvětlen ještě přesněji. Jím lze měnit výchozí chování jedné
534 notové osnovy: Zde se jednoduše říká, že nová notová osnova
535 se má umístit nad již jsoucí osnovu s názvem
536 @qq{main} namísto výchozího umístění, které je
541 Ossia jsou často tisknuta bez notového klíče a bez taktového označení,
542 většinou také o něco menší, než jiné osnovy. Toto je přirozeně možné
543 i v LilyPondu, vyžaduje to ale příkazy, jež dosud ještě nebyly
544 představeny. Podívejte se na @ref{Velikost předmětů,,velikosti předmětů}
545 a @ruser{Osnovy ossia}.
548 @node O ne-naskládatelnosti závorek a ligatur
549 @subsection O ne-naskládatelnosti závorek a ligatur
550 @translationof On the un-nestedness of brackets and ties
552 @cindex Závorky, naskládání
553 @cindex Naskládání závorek
556 Již jste při psaní vstupního souboru pro LilyPond poznali
557 četné různé druhy závorek a staveb na způsob závorek. Tyto
558 se řídí různými pravidly, která mohou zpočátku působit
559 matoucím dojmem. Předtím než budou představena přesná pravidla,
560 pojďme si tyto různé druhy závorek a staveb na způsob závorek
563 @c attempt to force this onto a new page
565 @multitable @columnfractions .3 .7
566 @headitem Druh závorek
568 @item @code{@{ .. @}}
569 @tab Uzavírá postupnou část hudby
571 @tab Uzavírá noty jednoho akkordu
572 @item @code{<< .. >>}
573 @tab Uzavírá souběžné hudební výrazy
575 @tab Označuje začátek a konec obloučku
576 @item @code{\( .. \)}
577 @tab Označuje začátek a konec frázovacího obloučku
579 @tab Označuje začátek a konec ručně vytvořeného trámce
582 Dodatečně by snad měly být ještě dále zmíněny některé další
583 konstrukce, které noty ať už jakkoli spojují:
584 ligatury (označované vlnovkou @code{~}),
585 trioly (psané jako @code{\times x/y @{..@}}) und
586 ozdoby (poznamenávané jako @code{\grace@{..@}}).
588 Mimo LilyPond vyžaduje běžné používání závorek,
589 aby byly jejich odpovídající druhy správně seskládány,
590 jako je tomu například tady @code{<< [ @{ ( .. ) @} ] >>}. Uzavírající
591 závorky přitom přicházejí v obráceném pořadí k
592 otevírajícím závorkám. Toto je také v LilyPondu
593 @strong{nutnost} pro ony tři druhy závorek, jež byly v hořejší
594 tabulce popsány slovem @q{uzavírá} -- musí být správně
596 Nicméně zbývající stavby na způsob závorek (v tabulce popsány
597 slovem @q{označuje}), ligatury a trioly
598 bezpodmínečně s jinými závorkami nebo stavbami na způsob závorek
599 seskládány být čistě @strong{nemusí}. Vlastně také ani nejsou nějakými
600 závorkami v tom smyslu, že by něco svíraly, nýbrž mnohem více
601 jsou ukazateli, na kterém místě určitý hudební předmět
604 Tak tedy může například takový frázovací oblouček začínat před
605 ručně vloženým trámcem, a přece končit již před jeho koncem.
606 Toto sice může z hudebního pohledu dávat málo smyslu, ale v LilyPondu
609 @lilypond[quote,verbatim,ragged-right,relative=2]
610 { g8\( a b[ c b\) a] g4 }
613 Im Allgemeinen können die verschiedenen Klammerarten,
614 Klammer-artigen Konstruktionen, Haltebögen,
615 Triolen und Vorschlagnoten beliebig kombiniert werden.
616 Das folgende Beispiel zeigt einen Balken, der in eine Triole reicht
617 (Zeile 1), eine Bindebogen, der ebenfalls in eine Triole
618 reicht (Zeile 2), einen Balken und einen Bindeboden in eine Triole,
619 ein Haltebogen, der über zwei Triolen läuft, sowie einen
620 Phrasierungsbogen, der in einer Triole beginnt (Zeilen 3 und 4).
622 @lilypond[quote,verbatim,ragged-right]
624 r16[ g \times 2/3 { r16 e'8] }
625 g16( a \times 2/3 { b16 d) e' }
626 g8[( a \times 2/3 { b8 d') e'~] } |
627 \times 4/5 { e'32\( a b d' e' } a'4.\)
632 @node Hlasy obsahují noty
633 @section Hlasy obsahují noty
634 @translationof Voices contain music
636 Sänger brauchen Stimmen zum Singen, und LilyPond braucht sie auch:
637 in der Tat sind alle Noten für alle Instrumente in einer Partitur
638 innerhalb von Stimmen gesetzt. Die Stimme ist das grundlegendste Prinzip
643 * Přímé začátky hlasů::
648 @subsection Slyším hlasy
649 @translationof I'm hearing Voices
653 @cindex mehrere Stimmen
654 @cindex Stimmen, mehrere
655 @cindex Voice context
656 @cindex context, Voice
657 @cindex Kontext, Stimme
658 @cindex Stimmenkontext
659 @cindex gleichzeitige Noten
660 @cindex Stimmen versus Akkorde
661 @cindex Akkorde versus Stimmen
662 @cindex Noten gleichzeitig
664 Die grundlegendsten und innersten Ebenen ein einer LilyPond-Partitur
665 werden @qq{Voice context} (Stimmenkontext) oder auch nur @qq{Voice}
666 (Stimme) genannt. Stimmen werden in anderen Notationsprogrammen
667 manchmal auch als @qq{layer} (Ebene) bezeichnet.
669 Tatsächlich ist die Stimmenebene die einzige, die wirklich Noten
670 enthalten kann. Wenn kein Stimmenkontext explizit erstellt wird,
671 wird er automatisch erstellt, wie am Anfang dieses Kapitels
672 gezeigt. Manche Instrumente wie etwa die Oboe können nur eine
673 Note gleichzeitig spielen. Noten für solche Instrumente sind
674 monophon und brauchen nur eine einzige Stimme. Instrumente, die
675 mehrere Noten gleichzeitig spielen können, wie das Klavier, brauchen
676 dagegen oft mehrere Stimmen, um die verschiedenen gleichzeitig
677 erklingenden Noten mit oft unterschiedlichen Rhythmen darstellen
680 Eine einzelne Stimme kann natürlich auch vielen Noten in einem Akkord
681 enthalten -- wann also braucht man dann mehrere Stimmen? Schauen wir
682 uns zuerst dieses Beispiel mit vier Akkorden an:
684 @lilypond[quote,verbatim,ragged-right,relative=1]
686 <d g>4 <d fis> <d a'> <d g>
689 Das kann ausgedrückt werden, indem man die einfachen spitzen Klammern
690 @code{< ... >} benützt, um Akkorde anzuzeigen. Hierfür braucht man
691 nur eine Stimme. Aber gesetzt der Fall das Fis sollte eigentlich
692 eine Achtelnote sein, gefolgt von einer Achtelnote G (als Durchgangsnote
693 hin zum A)? Hier haben wir also zwei Noten, die zur gleichen Zeit
694 beginnen, aber unterschiedliche Dauern haben: die Viertelnote D und die
695 Achtelnote Fis. Wie können sie notiert werden? Als Akkord kann man sie
696 nicht schreiben, weil alle Noten in einem Akkord die gleiche Länge besitzen
697 müssen. Sie können auch nicht als aufeinanderfolgende Noten geschrieben
698 werden, denn sie beginnen ja zur selben Zeit. In diesem Fall also brauchen
701 Wie aber wird das in der LilyPond-Syntax ausgedrückt?
706 Die einfachste Art, Fragmente mit mehr als einer Stimme auf einem System
707 zu notieren, ist, die Stimmen nacheinander (jeweils mit den Klammern
708 @code{@{ ... @}}) zu schreiben und dann mit den spitzen Klammern
709 (@code{<<...>>}) simultan zu kombinieren. Die beiden Fragmente müssen
710 zusätzlich noch mit zwei Backslash-Zeichen (@code{\\}) voneinander
711 getrennt werden, damit sie als zwei unterschiedliche Stimmen erkannt
712 werden. Ohne diese Trenner würden sie als eine einzige Stimme notiert
713 werden. Diese Technik ist besonders dann angebracht, wenn es sich bei
714 den Noten um hauptsächlich homophone Musik handelt, in der hier und da
715 polyphone Stellen vorkommen.
717 So sieht es aus, wenn die Akkorde in zwei Stimmen aufgeteilt werden
718 und zur Durchgangsnote noch ein Bogen hinzugefügt wird:
720 @lilypond[quote,verbatim,ragged-right,relative=2]
722 % Voice "1" Voice "2"
723 << { g4 fis8( g) a4 g } \\ { d4 d d d } >>
726 Beachte, dass die Hälse der zweiten Stimme nun nach unten zeigen.
728 Hier ein anderes Beispiel:
730 @lilypond[quote,verbatim,ragged-right,relative=2]
732 % Voice "1" Voice "2"
733 << { r4 g g4. a8 } \\ { d,2 d4 g } >>
734 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >>
735 << { a2. r4 } \\ { fis2. s4 } >>
738 Es ist nicht notwendig, für jeden Takt eine eigene
739 @code{<< \\ >>}-Konstruktion zu benutzen. Bei Musik mit nur wenigen
740 Noten pro Takt kann es die Quelldatei besser lesbar machen, aber
741 wenn in einem Takt viele Noten vorkommen, kann man die gesamten Stimmen
742 separat schreiben, wie hier:
744 @lilypond[quote,verbatim,ragged-right,relative=2]
759 Dieses Beispiel hat nur zwei Stimmen, aber die gleiche Konstruktion kann
760 angewendet werden, wenn man drei oder mehr Stimmen hat, indem man weitere
761 Backslash-Trenner hinzufügt.
763 Die Stimmenkontexte tragen die Namen @code{"1"}, @code{"2"} usw. In jedem
764 dieser Kontexte wird die vertikale Ausrichtung von Hälsen, Bögen, Dynamik-Zeichen
765 usw. entsprechend ausgerichtet.
767 @lilypond[quote,verbatim]
768 \new Staff \relative c' {
771 % Voice "1" Voice "2" Voice "3"
772 << { g4 f e } \\ { r8 e4 d c8~ } >> |
773 << { d2 e } \\ { c8 b16 a b8 g~ g2 } \\ { s4 b c2 } >> |
777 Diese Stimmen sind alle getrennt von der Hauptstimme, die die Noten
778 außerhalb der @code{<< .. >>}-Konstruktion beinhaltet. Lassen wir es
779 uns die @emph{simultane Konstruktion} nennen. Bindebögen und Legatobögen
780 können nur Noten in der selben Stimmen miteinander verbinden und können
781 also somit nicht aus der simultanen Konstruktion hinausreichen. Umgekehrt
782 gilt, dass parallele Stimmen aus eigenen simultanen Konstruktionen auf
783 dem gleichen Notensystem die gleiche Stimme sind. Auch andere, mit dem
784 Stimmenkontext verknüpfte Eigenschaften erstrecken sich auf alle
785 simultanen Konstrukte. Hier das gleiche Beispiel, aber mit unterschiedlichen Farben für die Notenköpfe der unterschiedlichen Stimmen.
786 Beachten Sie, dass Änderungen in einer Stimme sich nicht auf die anderen
787 Stimmen erstrecken, aber sie sind weiterhin in der selben Stimme vorhanden,
788 auch noch später im Stück. Beachten Sie auch, dass übergebundene Noten
789 über die gleiche Stimme in zwei Konstrukten verteilt werden können, wie
790 hier an der blauen Dreieckstimme gezeigt.
792 @lilypond[quote,verbatim]
793 \new Staff \relative c' {
812 { c8 b16 a b8 g~ g2 }
822 @funindex \voiceOneStyle
823 @funindex \voiceTwoStyle
824 @funindex \voiceThreeStyle
825 @funindex \voiceFourStyle
826 @funindex \voiceNeutralStyle
828 Die Befehle @code{\voiceXXXStyle} sind vor allem dazu da, um in
829 pädagogischen Dokumenten wie diesem hier angewandt zu werden.
830 Sie verändern die Farbe des Notenkopfes, des Halses und des Balkens, und
831 zusätzlich die Form des Notenkopfes, damit die einzelnen Stimmen
832 einfach auseinander gehalten werden können. Die erste Stimme ist als
833 rote Raute definiert, die zweite Stimme als blaue Dreiecke, die dritte
834 Stimme als grüne Kreise mit Kreuz und die vierte Stimme (die hier nicht
835 benutzt wird) hat dunkelrote Kreuze. @code{\voiceNeutralStyle} (hier auch
836 nicht benutzt) macht diese Änderungen rückgängig. Später soll gezeigt
837 werden, wie Befehle wie diese vom Benutzer selber erstellt werden
838 können. Siehe auch @ref{Sichtbarkeit und Farbe von Objekten} und
839 @ref{Variablen für Optimierungen einsetzen}.
841 @cindex Polyphonie und relativer Notationsmodus
842 @cindex relativer Notationsmodus und Polyphonie
844 Polyphonie ändert nicht die Verhältnisse der Noten innerhalb eines
845 @code{\relative}-Blocks. Jede Note wird weiterhin relativ zu
846 der vorherigen Note errechnet, oder relativ zur ersten Note des vorigen
847 Akkords. So ist etwa hier
850 \relative c' @{ NoteA << < NoteB NoteC > \\ NoteD >> NoteE @}
854 @code{NoteB} bezüglich @code{NoteA} @*
855 @code{NoteC} bezüglich @code{NoteB}, nicht @code{noteA}; @*
856 @code{NoteD} bezüglich @code{NoteB}, nicht @code{NoteA} oder
858 @code{NoteE} bezüglich @code{NoteD}, nicht @code{NoteA} errechnet.
860 Eine andere Möglichkeit ist, den @code{\relative}-Befehl vor jede
861 Stimme zu stellen. Das bietet sich an, wenn die Stimmen weit voneinander
865 \relative c' @{ NoteA ... @}
867 \relative c'' @{ < NoteB NoteC > ... @}
869 \relative g' @{ NoteD ... @}
871 \relative c' @{ NoteE ... @}
874 Zum Schluss wollen wir die Stimmen in einem etwas komplizierteren Stück
875 analysieren. Hier die Noten der ersten zwei Takte von Chopins
876 @notation{Deux Nocturnes}, Op. 32. Dieses Beispiel soll später in diesem
877 und dem nächsten Kapitel benutzt werden, um verschiedene Techniken,
878 Notation zu erstellen, zu demonstrieren. Ignorieren Sie deshalb an diesem
879 Punkt alles in folgendem Code, das Ihnen seltsam vorkommt, und konzentrieren
880 Sie sich auf die Noten und die Stimmen. Die komplizierten Dinge werden
881 in späteren Abschnitten erklärt werden.
883 @c The following should appear as music without code
884 @lilypond[quote,ragged-right]
885 \new Staff \relative c'' {
894 % Ignore these for now - they are explained in Ch 4
895 \once \override NoteColumn #'force-hshift = #0
897 \once \override NoteColumn #'force-hshift = #0.5
905 Die Richtung der Hälse wird oft benutzt, um anzuzeigen, dass zwei
906 gleichzeitige Melodien sich fortsetzen. Hier zeigen die Hälse aller
907 oberen Noten nach oben und die Hälse aller unteren Noten nach unten.
908 Das ist der erste Anhaltspunkt, dass mehr als eine Stimme benötigt
911 Aber die wirkliche Notwendigkeit für mehrere Stimmen tritt erst
912 dann auf, wenn unterschiedliche Noten gleichzeitig erklingen, aber
913 unterschiedliche Dauern besitzen. Schauen Sie sich die Noten
914 auf dem dritten Schlag im ersten Takt an. Das As ist eine punktierte
915 Viertel, das F ist eine Viertel und das Des eine Halbe. Sie können
916 nicht als Akkord geschrieben werden, denn alle Noten in einem Akkord
917 besitzen die gleiche Dauer. Sie können aber auch nicht nacheinander
918 geschrieben werden, denn sie beginnen auf der gleichen Taktzeit. Dieser
919 Taktabschnitt benötigt drei Stimmen, und normalerweise schreibt man
920 drei Stimmen für den ganzen Takt, wie im Beispiel unten zu sehen ist;
921 hier sind unterschiedliche Köpfe und Farben für die verschiedenen Stimmen
922 eingesetzt. Noch einmal: der Quellcode für dieses Beispiel wird später
923 erklärt werden, deshalb ignorieren Sie alles, was Sie hier nicht
926 @c The following should appear as music without code
927 @c The three voice styles should be defined in -init
928 @lilypond[quote,ragged-right]
929 \new Staff \relative c'' {
940 \\ % No Voice three (we want stems down)
943 % Ignore these for now - they are explained in Ch 4
944 \once \override NoteColumn #'force-hshift = #0
946 \once \override NoteColumn #'force-hshift = #0.5
954 Versuchen wir also, diese Musik selber zu notieren. Wie wir sehen
955 werden, beinhaltet das einige Schwierigkeiten. Fangen wir an, wie
956 wir es gelernt haben, indem wir mit der @code{<< \\ >>}-Konstruktion
957 die drei Stimmen des ersten Taktes notieren:
959 @lilypond[quote,verbatim,ragged-right]
960 \new Staff \relative c'' {
963 { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des }
969 @cindex Hals nach unten
970 @cindex Hals nach oben
971 @cindex Notenhals, Richtung
972 @cindex Richtung des Notenhalses
973 @cindex Notenhalsrichtung
974 @cindex Stimmen und Notenhalsrichtung
975 @cindex Notenhalsrichtung in Stimmen
977 Die Richtung des Notenhalses wird automatisch zugewiesen; die ungeraden
978 Stimmen tragen Hälse nach oben, die gerade Hälse nach unten. Die Hälse
979 für die Stimmen 1 und 2 stimmen, aber die Hälse in der dritten Stimme
980 sollen in diesem Beispiel eigentlich nach unten zeigen. Wir können das
981 korrigieren, indem wir die dritte Stimme einfach auslassen und die
982 Noten in die vierte Stimme verschieben. Das wird einfach vorgenommen,
983 indem noch ein Paar @code{\\}-Stimmen hinzugefügt wird.
986 @lilypond[quote,verbatim,ragged-right]
987 \new Staff \relative c'' {
993 \\ % Stimme drei auslassen
1002 Wie zu sehen ist, ändert das die Richtung der Hälse, aber zeigt ein
1003 anderes Problem auf, auf das man manchmal bei mehreren Stimmen stößt:
1004 Die Hälse einer Stimme können mit den Hälsen anderer Stimmen kollidieren.
1005 LilyPond erlaubt Noten in verschiedenen Stimmen sich auf der gleichen
1006 vertikalen Position zu befinden, wenn die Hälse in entgegengesetzte
1007 Richtungen zeigen, und positioniert die dritte und vierte Stimme dann
1008 so, dass Zusammenstöße möglichst vermieden werden. Das funktioniert
1009 gewöhnlich recht gut, aber in diesem Beispiel sind die Noten der untersten
1010 Stimme eindeutig standardmäßig schlecht positioniert. LilyPond bietet
1011 verschiedene Möglichkeiten, die horizontale Position von Noten
1012 anzupassen. Wir sind aber noch nicht so weit, dass wir diese Funktionen
1013 anwenden könnten. Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in
1014 @ref{Überlappende Notation in Ordnung bringen}.
1018 Notationsreferenz: @ruser{Mehrere Stimmen}.
1021 @node Přímé začátky hlasů
1022 @subsection Přímé začátky hlasů
1023 @translationof Explicitly instantiating voices
1029 @funindex \voiceThree
1030 @funindex voiceThree
1031 @funindex \voiceFour
1035 @funindex \new Voice
1036 @cindex Voice context, erstellen von
1037 @cindex Stimmenkontexte, erstellen von
1039 Voice-Kontexte können auch manuell innerhalb
1040 eines @code{<< >>}-Abschnittes initiiert werden. Mit den Befehlen
1041 @code{\voiceOne} bis hin zu @code{\voiceFour} kann jeder Stimme
1042 entsprechendes Verhalten von vertikaler Verschiebung und Richtung
1043 von Hälsen und anderen Objekten hinzugefügt werden. In längeren
1044 Partituren können die Stimmen damit besser auseinander gehalten
1047 Die @code{<< \\ >>}-Konstruktion, die wir im vorigen Abschnitt
1053 << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
1063 \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
1064 \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
1068 Beide würden folgendes Notenbild erzeugen:
1070 @c The following example should not display the code
1071 @lilypond[ragged-right,quote]
1073 \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
1074 \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
1078 @cindex Stimmen, mehrere zu einer zusammenführen
1079 @cindex eine Stimme wiederherstellen
1081 Der @code{\voiceXXX}-Befehl setzt die Richtung von Hälsen,
1082 Bögen, Artikulationszeichen, Text, Punktierungen und Fingersätzen.
1083 @code{\voiceOne} und @code{\voiceThree} lassen diese Objekte
1084 nach oben zeigen, @code{\voiceTwo} und @code{\voiceFour}
1085 dagegen lassen sie abwärts zeigen. Diese Befehle erzeugen eine
1086 horizontale Verschiebung, wenn es erforderlich ist, um Zusammenstöße
1087 zu vermeiden. Der Befehl
1088 @code{\oneVoice} stellt wieder auf das normale Verhalten um.
1090 Schauen wir uns in einigen einfachen Beispielen an, was genau
1091 die Befehle @code{\oneVoice}, @code{\voiceOne} und @code{voiceTwo}
1092 mit Text, Bögen und Dynamikbezeichnung anstellen:
1094 @lilypond[quote,ragged-right,verbatim]
1096 % Default behavior or behavior after \oneVoice
1097 c4 d8~ d e4( f | g4 a) b-> c |
1101 @lilypond[quote,ragged-right,verbatim]
1104 c4 d8~ d e4( f | g4 a) b-> c |
1106 c,4 d8~ d e4( f | g4 a) b-> c |
1110 @lilypond[quote,ragged-right,verbatim]
1113 c4 d8~ d e4( f | g4 a) b-> c |
1115 c,4 d8~ d e4( f | g4 a) b-> c |
1119 Schauen wir und nun drei unterschiedliche Arten an, den gleichen
1120 Abschnitt polyphoner Musik zu notieren, jede Art mit ihren
1121 Vorteilen in unterschiedlichen Situationen. Wir benutzen dabei
1122 das Beispiel vom vorherigen Abschnitt.
1124 Ein Ausdruck, der direkt innerhalb einer @code{<< >>}-Umgebung
1125 auftritt, gehört der Hauptstimme an. Das ist nützlich, wenn zusätzliche
1126 Stimme auftreten, während die Hauptstimme sich fortsetzt. Hier also
1127 eine bessere Version des Beispiels aus dem vorigen Abschnitt. Die
1128 farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in
1129 einem einzigen Stimmen (@code{voice})-Kontext befindet. Somit kann ein
1130 Phrasierungsbogen ober sie gesetzt werden.
1132 @lilypond[quote,ragged-right,verbatim]
1133 \new Staff \relative c' {
1135 % The following notes are monophonic
1137 % Start simultaneous section of three voices
1139 % Continue the main voice in parallel
1140 { g4 f e | d2 e) | }
1141 % Initiate second voice
1143 % Set stems, etc., down
1145 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
1147 % Initiate third voice
1149 % Set stems, etc, up
1157 @cindex Verschachteln von musikalischen Ausdrücken
1158 @cindex Verschachteln von gleichzeitigen Ausdrücken
1159 @cindex Ausdrücke, Verschachteln von
1160 @cindex Stimmen, temporär
1161 @cindex Stimmen, Verschachteln von
1162 @cindex Verschachteln von Stimmen
1163 @cindex temporäre Stimmen
1165 Tiefer verschachtelte polyphone Konstrukte sind möglich, und
1166 wenn eine Stimme nur kurz auftaucht, kann das der bessere Weg
1167 sein, Noten zu setzen:
1169 @lilypond[quote,ragged-right,verbatim]
1170 \new Staff \relative c' {
1173 { g4 f e | d2 e2) | }
1178 { c8 b16 a b8 g~ g2 | }
1189 @cindex Platzhalternoten
1190 @cindex unsichtbare Noten
1191 @cindex Noten verstecken
1193 Diese Methode, neue Stimmen kurzzeitig zu verschachteln, bietet sich
1194 an, wenn nur sehr kleine Abschnitte polyphonisch gesetzt sind. Wenn
1195 aber die ganze Partitur polyphon ist, ist es meistens klarer, direkt
1196 unterschiedliche Stimmen über die gesamte Partitur hinweg einzusetzen.
1197 Hierbei kann man mit unsichtbaren Noten dann die Stellen überspringen,
1198 an denen die Stimme nicht auftaucht, wie etwa hier:
1200 @lilypond[quote,ragged-right,verbatim]
1201 \new Staff \relative c' <<
1202 % Initiate first voice
1205 c16^( d e f g4 f e | d2 e) |
1207 % Initiate second voice
1209 % Set stems, etc, down
1211 s4 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
1213 % Initiate third voice
1215 % Set stems, etc, up
1222 @subsubheading Notenkolumnen
1224 @cindex Notenkolumne
1225 @cindex Notenkollision
1226 @cindex Zusammenstöße von Noten
1227 @cindex Kollisionen von Noten
1228 @cindex Vertikale Position
1229 @cindex shift-Befehle
1230 @cindex Verschieben von Noten
1234 @funindex \shiftOnnn
1240 Dicht notierte Noten in einem Akkord, oder Noten auf der gleichen
1241 Taktzeit aber in unterschiedlichen Stimmen, werden in zwei, manchmal
1242 auch mehreren Kolumnen gesetzt, um die Noten am Überschneiden zu
1243 hindern. Wir bezeichnen sie als Notenkolumnen. Jede Stimme hat
1244 eine eigene Kolumne, und ein stimmenabhängiger Verschiebunsbefehl (engl.
1245 shift) wird eingesetzt, wenn eine Kollision auftreten könnte.
1246 Das zeigt das Beispiel oben. Im zweiten Takt wird das C der zweiten
1247 Stimme nach rechts verschoben, relativ gesehen zum D der ersten Stimme,
1248 und im letzten Akkord wird das C der dritten Stimme auch nach
1249 rechts verschoben im Verhältnis zu den anderen Stimmen.
1251 Die Befehle @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} und
1252 @code{\shiftOff} bestimmen den Grad, zu dem Noten und Akkorde
1253 verschoben werden sollen, wenn sich sonst eine Kollision nicht
1254 vermeiden ließe. Die Standardeinstellung ist, dass die äußeren
1255 Stimmen (also normalerweise Stimme 1 und 2) @code{\shiftOff}
1256 eingestellt haben, während für die inneren Stimmen (3 und 4)
1257 @code{\shiftOn} eingeschaltet ist. Wenn eine Verschiebung
1258 auftritt, werden Stimmen 1 und 3 nach rechts und Stimmen 2 und 4
1259 nach links verschoben.
1261 @code{\shiftOnn} und @code{\shiftOnnn} definieren weitere
1262 Verschiebungsebenen, die man kurzzeitig anwählen kann, um
1263 Zusammenstöße in komplexen Situationen aufzulösen, siehe auch
1264 @ref{Beispiele aus dem Leben}.
1266 Eine Notenkolumne kann nur eine Note (oder einen Akkord) von
1267 einer Stimme mit Hälsen nach oben und eine Note (oder einen
1268 Akkord) von einer Stimme mit Hälsen nach unten tragen. Wenn
1269 Noten von zwei Stimmen mit den Hälsen in die gleiche Richtung
1270 an der selben Stelle auftreten und in beiden Stimmen ist
1271 keine Verschiebung oder die gleiche Verschiebungsebene
1272 definiert, wird die Fehlermeldung
1273 @qq{zu viele kollidierende Notenspalten werden ignoriert}
1278 Notationsreferenz: @ruser{Mehrere Stimmen}.
1282 @subsection Hlasy a zpěvy
1283 @translationof Voices and vocals
1285 Die Notation von Vokalmusik ihre eigene Schwierigkeit, nämlich
1286 die Kombination von zwei Ausdrücken: den Noten und dem Text.
1287 Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt.
1290 @funindex \new Lyrics
1294 @cindex Lyrics context, erstellen
1295 @cindex Gesangtext, Verbindung mit Noten
1297 Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet,
1298 mit dem einfache Partituren gut erstellt werden können.
1299 Diese Methode ist jedoch recht eingeschränkt. Wenn der Notensatz
1300 komplexer wird, muss der Gesangstext mit einem neuen
1301 @code{Lyrics}-Kontext begonnen werden (mit dem Befehl
1302 @code{\new Lyrics}) und durch den Befehl @code{\lyricsto@{@}}
1303 mit einer bestimmten Stimme verknüpft werden, indem die
1304 Bezeichnung der Stimme benutzt wird.
1306 @lilypond[quote,verbatim]
1308 \new Voice = "one" {
1312 c4 b8. a16 | g4. f8 | e4 d | c2 |
1315 \new Lyrics \lyricsto "one" {
1316 No more let | sins and | sor -- rows | grow. |
1321 Beachten Sie, dass der Notentext nur mit einem @code{Voice}-Kontext
1322 verknüpft werden kann, nicht mit einem @code{Staff}-Kontext.
1323 In diesem Fall also müssen Sie ein System (@code{Staff}) und
1324 eine Stimme (@code{Voice}) explizit erstellen, damit alles
1327 @cindex Gesangstext und Balken
1328 @cindex Text und Balken
1329 @cindex Balken und Text
1330 @funindex \autoBeamOff
1331 @funindex autoBeamOff
1333 Die automatischen Balken, die LilyPond in der Standardeinstellung
1334 setzt, eignen sich sehr gut für instrumentale Musik, aber nicht
1335 so gut für Musik mit Text, wo man entweder gar keine Balken
1336 benutzt oder sie einsetzt, um Melismen zu verdeutlichen.
1337 Im Beispiel oben wird deshalb der Befehl @code{\autoBeamOff}
1338 eingesetzt um die automatischen Balken (engl. beam) auszuschalten.
1340 @funindex \new ChoirStaff
1341 @funindex \lyricmode
1342 @funindex ChoirStaff
1344 @cindex Vokalpartitur, Aufbau
1345 @cindex Chorpartitur, Aufbau
1347 Wir wollen das frühere Beispiel von @notation{Judas Maccabæus}
1348 benutzen, um diese flexiblere Technik für Gesangstexte
1349 zu illustrieren. Das Beispiel wurde so umgeformt, dass jetzt
1350 Variablen eingesetzt werden, um den Text und die Noten
1351 von der Partiturstruktur zu trennen. Es wurde zusätzlich
1352 eine Chorpartiturklammer hinzugefügt. Der Gesangtext muss mit
1353 @code{\lyricmode} eingegeben werden, damit er als Text und
1354 nicht als Noten interpretiert werden kann.
1356 @lilypond[quote,verbatim]
1357 global = { \key f \major \time 6/8 \partial 8 }
1359 SopOneMusic = \relative c'' {
1360 c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ c4
1362 SopOneLyrics = \lyricmode {
1363 Let | flee -- cy flocks the | hills a -- dorn, __
1365 SopTwoMusic = \relative c' {
1366 r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1368 SopTwoLyrics = \lyricmode {
1369 Let | flee -- cy flocks the | hills a -- dorn,
1375 \new Voice = "SopOne" {
1379 \new Lyrics \lyricsto "SopOne" {
1384 \new Voice = "SopTwo" {
1388 \new Lyrics \lyricsto "SopTwo" {
1396 Dies ist die Grundstruktur für alle Chorpartituren. Mehr
1397 Systeme können hinzugefügt werden, wenn sie gebraucht werden, mehr
1398 Stimmen können zu jedem System hinzugefügt werden, mehr
1399 Strophen können zum Text hinzugefügt werden, und schließlich
1400 können die Variablen schnell in eine eigene Datei verschoben
1401 werden, wenn sie zu lang werden sollten.
1403 @cindex Choralnotation
1404 @cindex Hymnus-Notation
1405 @cindex SATB-Partitur
1406 @cindex mehrere Strophen
1407 @cindex Strophen, mehrere
1408 @cindex Choral mit mehreren Strophen
1410 Hier ein Beispiel der ersten Zeile eines Chorals mit vier
1411 Strophen für gemischten Chor. In diesem Fall ist der Text
1412 für alle vier Stimmen identisch. Beachten Sie, wie die
1413 Variablen eingesetzt werden, um Inhalt (Noten und Text) und Form
1414 (die Partitur) voneinander zu trennen. Eine Variable wurde
1415 eingesetzt, um die Elemente, die auf beiden Systemen auftauchen,
1416 aufzunehmen, nämlich Taktart und Tonart. Solch eine
1417 Variable wird oft auch mit @qq{global} bezeichnet.
1419 @lilypond[quote,verbatim]
1420 keyTime = { \key c \major \time 4/4 \partial 4 }
1422 SopMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
1423 AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
1424 TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1425 BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
1428 \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1430 \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1432 \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1434 \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1440 \new Voice = "Sop" { \voiceOne \keyTime \SopMusic }
1441 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1442 \new Lyrics \lyricsto "Sop" { \VerseOne }
1443 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1444 \new Lyrics \lyricsto "Sop" { \VerseThree }
1445 \new Lyrics \lyricsto "Sop" { \VerseFour }
1449 \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1450 \new Voice = "Bass" { \voiceTwo \BassMusic }
1458 Notation Reference: @ruser{Notation von Gesang}.
1461 @node Souvislosti a rytci
1462 @section Souvislosti a rytci
1463 @translationof Contexts and engravers
1465 Souvislosti a rytci (@qq{Stempel}) sind in den vorherigen
1466 Abschnitten schon aufgetaucht; hier wollen wir uns ihnen
1467 nun etwas ausführlicher widmen, denn sie sind sehr
1468 wichtig, um Feineinstellungen in der LilyPond-Notenausgabe
1469 vornehmen zu können.
1472 * Vysvětlení souvislostí::
1473 * Vytvoření souvislostí::
1474 * Vysvětlení rytců::
1475 * Změna souvisejících vlastností::
1476 * Přidání a odstranění rytců::
1479 @node Vysvětlení souvislostí
1480 @subsection Vysvětlení souvislostí
1481 @translationof Contexts explained
1483 @cindex Kontexte erklärt
1485 Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe
1487 die im Quellcode gar nicht explizit vorkommen. Vergleichen Sie
1488 etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
1490 @lilypond[quote,verbatim,relative=2]
1491 cis4 cis2. | a4 a2. |
1494 Der Quellcode ist sehr kurz und knapp, während in der
1495 Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und
1496 eine Taktart hinzugefügt wurden. Während LilyPond
1497 den Eingabetext @emph{interpretiert}, wird die
1498 musikalische Information von rechts nach links gelesen,
1499 in etwa, wie man eine Partitur von links nach
1500 rechts liest. Während das Programm den Code liest,
1501 merkt es sich, wo sich Taktgrenzen befinden und
1502 für welche Tonhöhen Versetzungszeichen gesetzt werden
1503 müssen. Diese Information muss auf mehreren Ebenen
1504 gehandhabt werden, denn Versetzungszeichen etwa
1505 beziehen sich nur auf ein System, Taktlinien dagegen
1506 üblicherweise auf die gesamte Partitur.
1508 Innerhalb von LilyPond sind diese Regeln und
1509 Informationshappen in @emph{Kontexten} (engl.
1510 contexts) gruppiert. Der @code{Voice} (Stimmen)-Kontext
1511 wurde schon vorgestellt. Daneben
1512 gibt es noch die @code{Staff} (Notensystem-) und
1513 @code{Score} (Partitur)-Kontexte. Kontexte sind
1514 hierarchisch geschichtet um die hierarchische
1515 Struktur einer Partitur zu spiegeln. Ein @code{Staff}-Kontext
1516 kann zum Beispiel viele @code{Voice}-Kontexte beinhalten,
1517 und ein @code{Score}-Kontext kann viele
1518 @code{Staff}-Kontexte beinhalten.
1521 @sourceimage{context-example,5cm,,}
1524 Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln
1525 zu erzwingen, bestimmte Notationsobjekte zu erstellen und
1526 verbundene Elemente zu ordnen. Der @code{Voice}-Kontext
1527 zum Beispiel kann eine Vorzeichenregel einführen und der
1528 @code{Staff}-Kontext hält diese Regel dann aufrecht, um
1529 einzuordnen, ob ein Versetzungszeichen gesetzt werden
1532 Ein anderes Beispiel: die Synchronisation der Taktlinien ist
1533 standardmäßig im @code{Score}-Kontext verankert. Manchmal sollen
1534 die Systeme einer Partitur aber unterschiedliche Taktarten
1535 enthalten, etwa in einer polymetrischen Partitur mit
1536 4/4- und 3/4-Takt. In diesem Fall müssen also die Standardeinstellungen
1537 der @code{Score}- und @code{Staff}-Kontexte verändert werden.
1539 In einfachen Partituren werden die Kontexte implizit erstellt,
1540 und es kann sein, dass Sie sich dessen gar nicht bewusst sind.
1541 Für etwas größere Projekte, etwa mit vielen Systemen, müssen
1542 die Kontexte aber explizit erstellt werden, um sicher zu gehen,
1543 dass man auch wirklich die erwünschte Zahl an Systemen in der
1544 richtigen Reihenfolge erhält. Wenn Stücke mit spezialisierter
1545 Notation gesetzt werden sollen, ist es üblich, die existierenden
1546 Kontexte zu verändern oder gar gänzlich neue zu definieren.
1548 Zusätzlich zu den @code{Score,} @code{Staff} und
1549 @code{Voice}-Kontexten gibt es noch Kontexte, die zwischen
1550 der Partitur- und Systemebene liegen und Gruppen von Systemen
1551 kontrollieren. Das sind beispielsweise der
1552 @code{PianoStaff} und @code{ChoirStaff}-Kontext. Es gibt zusätzlich
1553 alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte
1554 für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw.
1556 Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren
1558 Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben
1559 begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich
1561 @code{GregorianTranscriptionStaff}.
1565 Notationreferenz: @ruser{Vysvětlení souvislostí}.
1568 @node Vytvoření souvislostí
1569 @subsection Vytvoření souvislostí
1570 @translationof Creating contexts
1574 @cindex Neue Kontexte
1575 @cindex Erstellen von Kontexten
1576 @cindex Kontexte, Erstellen
1578 In einer Eingabedatei enthält eine @code{Score}-Umgebung (einen
1580 dem Befehl @code{\score} eingeleitet wird, nur einen einzigen
1581 musikalischen Ausdruck und mit ihm verknüpft eine Ausgabedefinition
1582 (entweder eine @code{\layout}- oder eine @code{\midi}-Umgebung).
1583 Üblicherweise wird der @code{Score}-Kontext automatisch von
1584 LilyPond erstellt, wenn der musikalische Ausdruck interpretiert
1587 Wenn nur ein System vorhanden ist, kann man es ruhig
1588 LilyPond überlassen, auch die @code{Voice}- und @code{Staff}-Kontexte
1589 zu erstellen, aber für komplexere Partituren ist es notwendig,
1590 sie mit einem Befehl zu erstellen. Der einfachste Befehl
1591 hierzu ist @code{\new}. Er wird dem musikalischen Ausdruck
1592 vorangestellt, etwa so:
1595 \new @var{Typ} @var{musikalischer Ausdruck}
1599 wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
1600 @code{Voice}) ist. Dieser Befehl erstellt einen neuen Kontext und
1601 beginnt, den @var{muskalischen Ausdruck} innerhalb dieses
1602 Kontexts auszuwerten.
1604 @warning{Der @bs{}@code{new Score}-Befehl sollte nicht benutzt werden,
1605 weil der Partitur-(Score)-Kontext der obersten Ebene
1606 normalerweise automatisch erstellt wird, wenn der musikalische Ausdruck
1607 innerhalb der @code{\score}-Umgebung interpretiert wird. Standard-Werte
1608 von Kontexteigenschaften, die für einen bestimmten @code{Score} gelten
1609 sollen, können innerhalb der @bs{}@code{layout}-Umgebung definiert werden.
1610 Siehe @ref{Změna souvisejících vlastností,,změnu souvisejících vlastností}.}
1612 Wir haben schon viele explizite Beispiel gesehen, in denen
1613 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
1614 um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt
1615 werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:
1617 @lilypond[quote,verbatim,ragged-right]
1618 \score { % start of single compound music expression
1619 << % start of simultaneous staves section
1621 \new Staff { % create RH staff
1624 \new Voice { % create voice for RH notes
1625 \relative c'' { % start of RH notes
1631 \new Staff << % create LH staff; needs two simultaneous voices
1634 \new Voice { % create LH voice one
1636 \relative g { % start of LH voice one notes
1637 g8 <bes d> ees, <g c>
1638 g8 <bes d> ees, <g c>
1639 } % end of LH voice one notes
1640 } % end of LH voice one
1641 \new Voice { % create LH voice two
1643 \relative g { % start of LH voice two notes
1646 } % end of LH voice two notes
1647 } % end of LH voice two
1648 >> % end of LH staff
1649 >> % end of simultaneous staves section
1650 } % end of single compound music expression
1653 (Beachten Sie, dass wir hier alle Zeilen, die eine neue
1654 Umgebung entweder mit einer geschweiften Klammer (@code{@{})
1655 oder doppelten spitzen Klammern (@code{<<}) öffnen, mit
1656 jeweils zwei Leerzeichen, und die entsprechenden
1657 schließenden Klammern mit der gleichen Anzahl Leerzeichen
1658 eingerückt werden. Dies ist nicht erforderlich, es wird aber
1659 zu einem großen Teil die nicht passenden Klammerpaar-Fehler
1660 eliminieren und ist darum sehr empfohlen. Es macht es
1661 möglich, die Struktur einer Partitur auf einen Blick zu
1662 verstehen, und alle nicht passenden Klammern
1663 erschließen sich schnell. Beachten Sie auch, dass das
1664 untere Notensystem mit eckigen Klammern erstellt wird,
1665 denn innerhalb dieses Systems brauchen wir zwei Stimmen,
1666 um die Noten darzustellen. Das obere System braucht
1667 nur einen einzigen musikalischen Ausdruck und ist deshalb
1668 von geschweiften Klammern umschlossen.)
1670 @cindex Kontexte, Benennung
1671 @cindex Benennung von Kontexten
1673 Der @code{\new}-Befehl kann einem Kontext auch einen
1674 Namen zur Identifikation geben, um ihn von anderen Kontexten des
1675 selben Typs zu unterscheiden:
1678 \new @var{Typ} = @var{Name} @var{musikalischer Ausdruck}
1681 Beachten Sie den Unterschied zwischen der Bezeichnung des
1682 Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem
1683 Namen, der aus beliebigen Buchstaben bestehen kann
1684 und vom Benutzer frei erfunden werden kann. Zahlen und
1685 Leerzeichen können auch benutzt werden, in dem Fall
1686 muss der Name aber von doppelten Anführungszeichen
1687 umgeben werden, also etwa
1688 @code{\new Staff = "Mein System 1" @var{musikalischer Ausdruck}}.
1690 benutzt, um später auf genau diesen spezifischen Kontext
1691 zu verweisen. Dieses Vorgehen wurde schon in dem Abschnitt
1692 zu Gesangstexten angewandt, siehe @ref{Hlasy a zpěvy,,hlasy a zpěvy}.
1696 Notationsreferenz: @ruser{Vytvoření souvislostí}.
1699 @node Vysvětlení rytců
1700 @subsection Vysvětlení rytců
1701 @translationof Engravers explained
1704 @cindex Stempel (Engraver)
1706 Jedes Zeichen des fertigen Notensatzes von LilyPond wird
1707 von einem @code{Engraver} (Stempel) produziert. Es gibt
1708 also einen Engraver, der die Systeme erstellt, einen, der die
1709 Notenköpfe ausgibt, einen für die Hälse, einen für die
1710 Balken usw. Insgesamt gibt es über 120 Engraver! Zum
1711 Glück braucht man für die meisten Partituren nur ein
1712 paar Engraver, und für einfache Partituren muss man eigentlich
1713 überhaupt nichts über sie wissen.
1715 Engraver leben und wirken aus den Kontexten heraus. Engraver
1716 wie der @code{Metronome_mark_engraver}, dessen Aktion
1717 und Ausgabe sich auf die gesamte Partitur bezieht, wirken
1718 in der obersten Kontextebene -- dem @code{Score}-Kontext.
1720 Der @code{Clef_engraver} (Schlüssel-Stempel) und der
1721 @code{Key_engraver} (Vorzeichen-Stempel) finden sich in
1722 jedem @code{Staff}-Kontext, denn unterschiedliche Systeme
1723 könnten unterschiedliche Tonarten und Notenschlüssel
1726 Der @code{Note_heads_engraver} (Notenkopf-Stempel) und der
1727 @code{Stem_engraver} (Hals-Stempel) befinden sich in jedem
1728 @code{Voice}-Kontext, der untersten Kontextebene.
1730 Jeder Engraver bearbeitet die bestimmten Objekte, die mit
1731 seiner Funktion assoziiert sind, und verwaltet die Eigenschaften
1732 dieser Funktion. Diese Eigenschaften, wie etwa die Eigenschaften,
1733 die mit Kontexten assoziiert sind, können verändert werden,
1734 um die Wirkungsweise des Engravers oder das Erscheinungsbild
1735 der von ihm produzierten Elemente in der Partitur zu ändern.
1737 Alle Engraver haben zusammengesetzte Bezeichnung, die aus
1738 den (englischen) Wörtern ihrer Funktionsweise bestehen. Nur
1739 das erste Wort hat einen Großbuchstaben, und die restlichen
1740 Wörter werden mit einem Unterstrich angefügt. Ein
1741 @code{Staff_symbol_engraver} verantwortet also die Erstellung
1742 der Notenlinien, ein @code{Clef_engraver} entscheidet über die
1743 Art der Notenschlüssel und setzt die entsprechenden Symbole; damit
1744 wird gleichzeitig die Referenztonhöhe auf dem Notensystem festgelegt.
1746 Hier die meistgebräuchlichen Engraver mit ihrer Funktion.
1747 Sie werden sehen, dass es mit etwas Englischkenntnissen
1748 einfach ist, die Funktion eines Engravers von seiner Bezeichnung
1751 @multitable @columnfractions .3 .7
1754 @item Accidental_engraver
1755 @tab Erstellt Versetzungszeichen, vorgeschlagene und Warnversetzungszeichen.
1757 @tab Erstellt Balken.
1759 @tab Erstellt Notenschlüssel.
1760 @item Completion_heads_engraver
1761 @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen.
1762 @c The old Dynamic_engraver is deprecated. -jm
1763 @item New_dynamic_engraver
1764 @tab Erstellt Dynamik-Klammern und Dynamik-Texte.
1765 @item Forbid_line_break_engraver
1766 @tab Verbietet Zeilenumbrüche, solange ein musikalisches Element aktiv ist.
1768 @tab Erstellt die Vorzeichen.
1769 @item Metronome_mark_engraver
1770 @tab Erstellt Metronom-Bezeichnungen.
1771 @item Note_heads_engraver
1772 @tab Erstellt Notenköpfe.
1774 @tab Erstellt Pausen.
1775 @item Staff_symbol_engraver
1776 @tab Ersetllt die (standardmäßig) fünf Notenlinien des Systems.
1778 @tab Erstellt die Notenhälse und Tremolos mit einem Hals.
1779 @item Time_signature_engraver
1780 @tab Erstellt die Taktartbezeichnung.
1785 Es soll später gezeigt werden, wie die LilyPond-Ausgabe
1786 verändert werden kann, indem die Wirkungsweise der
1787 Engraver beeinflusst wird.
1791 Referenz der Interna: @rinternals{Engravers and Performers}.
1794 @node Změna souvisejících vlastností
1795 @subsection Změna souvisejících vlastností
1796 @translationof Modifying context properties
1798 @cindex Kontext-Eigenschaften, Verändern
1799 @cindex Eigenschaften von Kontexten
1800 @cindex Verändern von Kontext-Eigenschaften
1806 Kontexte sind dafür verantwortlich, die Werte bestimmter
1807 Kontext-@emph{Eigenschaften} zu speichern. Viele davon
1808 können verändert werden, um die Interpretation der
1809 Eingabe zu beeinflussen und die Ausgabe zu verändern.
1810 Kontexte werden mit dem @code{\set}-Befehl geändert.
1814 \set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert}
1818 verwendet, wobei @var{KontextBezeichnung} üblicherweise
1820 @code{Staff} oder @code{Voice} ist. Der erste Teil kann auch
1821 ausgelassen werden; in diesem Fall wird der aktuelle
1822 Kontext (üblicherweise @code{Voice}) eingesetzt.
1824 Die Bezeichnung von Kontexten-Eigenschaften besteht
1825 aus zwei Wörtern, die ohne Unterstrich oder Bindestrich
1826 verbunden sind. Alle außer dem ersten werden am Anfang
1827 groß geschrieben. Hier einige Beispiele der gebräuchlichsten
1828 Kontext-Eigenschaften. Es gibt sehr viel mehr.
1830 @c attempt to force this onto a new page
1832 @multitable @columnfractions .25 .15 .45 .15
1833 @headitem eigenschaftsBezeichnung
1838 @tab boolescher Wert
1839 @tab Wenn wahr, werden zusätzliche Auflösungszeichen vor Versetzungszeichen gesetzt.
1840 @tab @code{#t}, @code{#f}
1841 @item currentBarNumber
1843 @tab Setzt die aktuelle Taktnummer.
1846 @tab boolescher Wert
1847 @tab Wenn wahr, werden Legatobögen über und unter die Noten gesetzt.
1848 @tab @code{#t}, @code{#f}
1849 @item instrumentName
1851 @tab Setzt die Instrumentenbezeichnung am Anfang eines Systems.
1852 @tab @code{"Cello I"}
1855 @tab Vergrößert oder verkleinert die Schriftgröße.
1859 @tab Setzt den Text zu Beginn einer Strophe.
1864 Ein boolescher Wert ist entweder wahr (@code{#t})
1865 oder falsch (@code{#f}),
1866 ein Integer eine positive ganze Zahl, ein Real (reelle Zahl) eine positive
1867 oder negative Dezimalzahl, und Text wird in doppelte
1868 Anführungszeichen (Shift+2) eingeschlossen. Beachten Sie
1869 das Vorkommen des Rautenzeichens
1870 (@code{#}) an unterschiedlichen Stellen: als Teil eines
1871 booleschen Wertes vor dem @code{t} oder @code{f}, aber
1872 auch vor einem @emph{Wert} in der
1873 @code{\set}-Befehlskette. Wenn ein boolescher Wert
1874 eingegeben werden soll, braucht man also zwei
1875 Rautenzeichen, z. B. @code{##t}.
1877 @cindex Eigenschaften in Kontexten
1878 @cindex Veränderung von Eigenschaften in Kontexten
1880 Bevor eine Eigenschaft geändert werden kann, muss man wissen,
1881 in welchem Kontext sie sich befindet. Manchmal versteht das
1882 sich von selbst, aber in einigen Fällen kann es zunächst
1883 unverständlich erscheinen. Wenn der falsche Kontext angegeben
1884 wird, wird keine Fehlermeldung produziert, aber die
1885 Veränderung wird einfach nicht ausgeführt.
1886 @code{instrumentName} befindet sich offensichtlich innerhalb
1887 von einem @code{Staff}-Kontext, denn das Notensystem soll
1888 benannt werden. In dem folgenden Beispiel erhält das erste
1889 System korrekt die Instrumentenbezeichnung, das zweite aber
1890 nicht, weil der Kontext ausgelassen wurde.
1892 @lilypond[quote,verbatim,ragged-right]
1894 \new Staff \relative c'' {
1895 \set Staff.instrumentName = #"Soprano"
1898 \new Staff \relative c' {
1899 \set instrumentName = #"Alto" % Wrong!
1905 Denken Sie daran, dass der Standardkontext @code{Voice} ist; in dem
1906 zweiten @code{\set}-Befehl wird also die Eigenschaft @code{instrumentName}
1907 im @code{Voice}-Kontext auf @qq{Alto}, gesetzt, aber weil LilyPond diese
1908 Eigenschaft nicht im @code{Voice}-Kontext vermutet, passiert einfach
1909 gar nichts. Das ist kein Fehler, und darum wird auch keine Fehlermeldung
1912 Ebenso gibt es keine Fehlermeldung, wenn die Kontext-Bezeichnung
1913 falsch geschrieben wird und die Änderung also nicht ausgeführt werden
1914 kann. Tatsächlich kann eine beliebige (ausgedachte) Kontextbezeichnung
1915 mit dem @code{\set}-Befehl eingesetzt werden, genauso wie die, die
1916 wirklich existieren. Aber wenn LilyPond diese Bezeichnung nicht
1917 zuordnen kann, bewirkt der Befehl einfach gar nichts. Manche Editoren,
1918 die Unterstützung für LilyPond-Befehle mitbringen, markieren existierende
1919 Kontextbezeichnungen mit einem Punkt, wenn man mit der Maus darüber
1920 fährt (wie etwa JEdit mit dem LilyPondTool), oder markieren
1921 unbekannte Bezeichnungen anders (wie ConTEXT). Wenn Sie keinen
1922 Editor mit LilyPond-Unterstützung einsetzen, wird empfohlen, die
1923 Bezeichnungen in der Interna-Referenz zu überprüfen: siehe
1924 @rinternals{Tunable context properties}, oder
1925 @rinternals{Contexts}.
1927 Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie
1928 in einem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften
1929 können in mehr als einem Kontext benutzt werden. Als Beispiel mag die
1930 @code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen
1931 setzt. Die Standardeinstellung ist ##t (wahr) in allen Systemen.
1932 Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch)
1933 gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus. Wird
1934 sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das
1935 auf alle darin enthaltenen Systeme aus.
1937 Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System
1940 @lilypond[quote,verbatim,ragged-right]
1942 \new Staff \relative c'' {
1945 \new Staff \relative c'' {
1946 \set Staff.extraNatural = ##f
1953 während das dazu dient, sie in allen Systemen auszuschalten:
1955 @lilypond[quote,verbatim,ragged-right]
1957 \new Staff \relative c'' {
1960 \new Staff \relative c'' {
1961 \set Score.extraNatural = ##f
1967 Ein anderes Beispiel ist die Eigenschaft @code{clefOctavation}:
1968 wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort
1969 der Wert der Oktavierung in allen aktuellen Systemen und wird
1970 auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt.
1972 Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft
1973 effektiv wieder von dem Kontext: in den meisten Fällen wird der
1974 Kontext auf ihre Standardeinstellungen zurückgesetzt.
1975 Normalerweise wird aber @code{\unset} nicht benötigt,
1976 denn ein neues @code{\set} erledigt alles, was man braucht.
1978 Die @code{\set}- und @code{\unset}-Befehle könne überall im
1979 Eingabequelltext erscheinen und werden aktiv von dem Moment, an
1980 dem sie auftreten bis zum Ende der Partitur oder bis die Eigenschaft
1981 mit @code{\set} oder @code{\unset} neu gesetzt wird. Versuchen
1982 wir als Beispiel, die Schriftgröße mehrmals zu ändern, was sich unter anderem
1983 auf die Notenköpfe auswirkt. Die Änderung bezieht sich immer auf den Standard,
1984 nicht vom letzten gesetzten Wert.
1986 @lilypond[quote,verbatim,ragged-right,relative=1]
1988 % make note heads smaller
1991 % make note heads larger
1992 \set fontSize = #2.5
1994 % return to default size
1999 Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
2000 Eigenschaften ändern lassen. Beachten Sie, dass Integer und
2001 Zahlen immer mit einem Rautenzeichen beginnen, während
2002 die Werte wahr und falsch (mit @code{##t} und @code{##f}
2003 notiert) immer mit zwei Rauten beginnen. Eine Eigenschaft, die
2004 aus Text besteht, muss in doppelte Anführungsstriche gesetzt werden,
2005 auch wenn wir später sehen werden, dass Text auf eine sehr viel
2006 allgemeinere und mächtigere Art mit dem @code{\markup}-Befehl
2007 eingegeben werden kann.
2009 @subsubheading Kontexteigenschaften mit @code{\with} setzen
2013 @cindex Kontexteigenschaft, setzen mit \with
2015 Die Standardwerte von Kontexteigenschaften können zu dem Zeitpunkt
2016 definiert werden, an welchem der Kontext erstellt wird. Manchmal
2017 ist das eine saubere Weise, eine Eigenschaft zu bestimmen, die für
2018 die gesamte Partitur erhalten bleichen soll. Wenn ein Kontext mit
2019 einem @code{\new}-Befehl erstellt wird, können in einer
2020 direkt folgenden @code{\with @{ .. @}}-Umgebung die Eigenschaften
2021 bestimmt werden. Wenn also die zusätzlichen
2022 Auflösungszeichen für eine ganze Partitur gelten sollen, könnte
2026 \new Staff \with @{ extraNatural = ##f @}
2032 @lilypond[quote,verbatim,ragged-right]
2038 \new Staff \with { extraNatural = ##f } {
2046 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
2047 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
2048 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden,
2049 wie sie vorher in der @code{\with}-Umgebung definiert wurden.
2051 @cindex Schriftgröße, Standardeinstellung
2052 @cindex fontSize (Schriftgröße), Standardeinstellung
2054 Wenn also die @code{fontSize}-Eigenschaft in einer @code{\with}-Umgebung
2055 definiert wird, wird der Standardwert für die Schriftgröße
2056 festgelegt. Wenn dieser Wert später mit @code{\set} verändert
2057 wird, kann dieser neue Standardwert mit dem Befehl
2058 @code{\unset fontSize} wieder erreicht werden.
2060 @subsubheading Kontexteigenschaften mit @code{\context} setzen
2062 @cindex Kontexteigenschaften, mit \context setzen
2063 @cindex Eigenschaften von Kontexten, mit \context setzen
2067 Die Werte von Kontext-Eigenschaften können in @emph{allen} Kontexten
2068 eines bestimmten Typs (etwa alle @code{Staff}-Kontexte)
2069 gleichzeitig mit einem Befehl gesetzt werden. Der Kontext wird
2070 spezifiziert, indem seine Bezeichnung benutzt wird, also etwa
2071 @code{Staff}, mit einem Backslash davor: @code{\Staff}. Der Befehl
2072 für die Eigenschaft ist der gleiche, wie er auch in der
2073 @code{\with}-Konstruktion benutzt wird, wie oben gezeigt. Er wird in
2074 eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
2075 von einer @code{\layout}-Umgebung steht. Jede @code{\context}-Umgebung
2076 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
2077 aktuellen Partitur befinden (d. h. innerhalb einer @code{\score}-
2078 oder @code{\book}-Umgebung). Hier ist ein Beispiel, wie man diese
2081 @lilypond[verbatim,quote]
2097 Wenn die Veränderung der Eigenschaft sich auf alle Systeme einer
2098 @code{score}-Umgebung beziehen soll:
2100 @lilypond[quote,verbatim]
2116 \Score extraNatural = ##f
2123 Kontext-Eigenschaften, die auf diese Weise gesetzt werden, können für
2124 bestimmten Kontexte überschrieben werden, indem die
2125 @code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
2126 innerhalb der aktuellen Noten.
2131 @ruser{Die Standardeinstellungen von Kontexten ändern},
2132 @ruser{Der set-Befehl}.
2134 Referenz der Interna:
2135 @rinternals{Contexts},
2136 @rinternals{Tunable context properties}.
2139 @node Přidání a odstranění rytců
2140 @subsection Přidání a odstranění rytců
2141 @translationof Adding and removing engravers
2143 @cindex Engraver, Hinzufügen von
2144 @cindex Engraver, Entfernen von
2145 @cindex Hinzufügen von Engravern
2146 @cindex Entfernen von Engravern
2153 Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern
2154 (Stempeln) beinhaltet, von denen ein jeder einen bestimmten
2155 Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien,
2156 Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus
2157 einem Kontext entfernt wird, kann er seine Objekte nicht
2158 länger produzieren. Das ist eine eher grobe Methode, die
2159 Notenausgabe zu beeinflussen, aber es kann von großem
2163 @subsubheading Einen einzelnen Kontext verändern
2165 Um einen Engraver von einem einzelnen Kontext zu entfernen,
2166 wir der @code{\with}-Befehl eingesetzt, direkt hinter
2167 den Befehl zur Kontext-Erstellung geschrieben, wie
2168 in dem vorigen Abschnitt gezeigt.
2170 Als ein Beispiel wollen wir das Beispiel aus dem letzten
2171 Abschnitt produzieren, aber die Notenlinien entfernen. Erinnern
2172 Sie sich, dass die Notenlinien vom @code{Staff_symbol_engraver}
2175 @lilypond[quote,verbatim,ragged-right]
2177 \remove Staff_symbol_engraver
2181 \set fontSize = #-4 % make note heads smaller
2183 \set fontSize = #2.5 % make note heads larger
2185 \unset fontSize % return to default size
2190 @cindex Ambitus-Engraver
2192 Engraver können auch zu einem bestimmten
2193 Kontext hinzugefügt werden. Dies geschieht
2196 @code{\consists @var{Engraver_bezeichnung}}
2199 welcher auch wieder innerhalb der @code{\with}-Umgebung
2200 gesetzt wird. Einige Chorpartituren zeigen einen
2201 Ambitus direkt zu Beginn der ersten Notenzeile, um
2202 den Stimmumfang des Stückes anzuzeigen, siehe auch
2203 @rglos{ambitus}. Der Ambitus wird vom
2204 @code{Ambitus_engraver} erstellt, der normalerweise
2205 in keinem Kontext enthalten ist. Wenn wir
2206 ihn zum @code{Voice}-Kontext hinzufügen, errechnet
2207 er automatisch den Stimmumfang für diese einzelne Stimme
2210 @lilypond[quote,verbatim,ragged-right]
2213 \consists Ambitus_engraver
2230 wenn wir den Ambitus-Engraver allerdings zum
2231 @code{Staff}-Kontext hinzufügen, wird der Stimmumfang aller
2232 Stimmen in diesem Notensystem errechnet:
2234 @lilypond[quote,verbatim,ragged-right]
2236 \consists Ambitus_engraver
2255 @subsubheading Alle Kontexte des gleichen Typs verändern
2259 Die vorigen Beispiele zeigen, wie man Engraver in einem
2260 bestimmten Kontext hinzufügen oder entfernen kann. Es ist
2261 auch möglich, Engraver in jedem Kontext eines bestimmten
2262 Typs hinzuzufügen oder zu entfernen. Dazu werden die
2263 Befehle in dem entsprechenden Kontext in einer
2264 @code{\layout}-Umgebung gesetzt. Wenn wir also z. B.
2265 den Ambitus für jedes Notensystem in einer Partitur
2266 mit vier Systemen anzeigen wollen, könnte das so aussehen:
2268 @lilypond[quote,verbatim,ragged-right]
2297 \consists Ambitus_engraver
2304 Die Werte der Kontext-Eigenschaften können auch für
2305 alle Kontexte eines bestimmten Typs auf die gleiche
2306 Weise geändert werden, indem der @code{\set}-Befehl in
2307 einer @code{\context}-Umgebung angewendet wird.
2311 Notationsreferenz: @ruser{Umgebungs-Plugins verändern},
2312 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2315 Die @code{Stem_engraver} und @code{Beam_engraver} fügen ihre
2316 Objekte an Notenköpfe an. Wenn der @code{Note_heads_engraver}
2317 entfernt wird, werden keine Notenköpfe erstellt und demzufolge auch keine
2318 Hälse oder Bögen dargestellt.
2321 @node Rozšíření příkladů
2322 @section Rozšíření příkladů
2323 @translationof Extending the templates
2325 Sie haben sich durch die Übung gearbeitet, Sie
2326 wissen jetzt, wie Sie Notensatz produzieren, und Sie
2327 haben die grundlegenden Konzepte verstanden. Aber wie
2328 erhalten Sie genau die Systeme, die Sie brauchen? Es
2329 gibt eine ganze Anzahl an fertigen Vorlagen
2330 (siehe @ref{Vorlagen}), mit denen Sie beginnen
2331 können. Aber was, wenn Sie nicht genau das finden,
2332 was Sie brauchen? Lesen Sie weiter.
2335 * Soprán a violoncello::
2336 * Čtyřhlasý notový zápis SATB::
2337 * Vytvoření notového zápisu od základu::
2338 * Úspora psaní na stroji pomocí proměnných a funkcí::
2339 * Notové zápisy a hlasy::
2343 @node Soprán a violoncello
2344 @subsection Soprán a violoncello
2345 @translationof Soprano and cello
2347 @cindex Template, Verändern von
2348 @cindex Vorlage, Verändern von
2349 @cindex Veränderung von Vorlagen
2351 Beginnen Sie mit der Vorlage, die Ihren Vorstellungen
2352 am nächsten kommt. Nehmen wir einmal an, Sie wollen
2353 ein Stück für Soprán a violoncello schreiben. In diesem
2354 Fall könnten Sie mit der Vorlage @qq{Noten und Text}
2355 (für die Sopran-Stimme) beginnen.
2358 \version @w{"@version{}"}
2359 melody = \relative c' @{
2366 text = \lyricmode @{
2372 \new Voice = "one" @{
2376 \new Lyrics \lyricsto "one" \text
2383 Jetzt wollen wir die Cello-Stimme hinzufügen. Schauen wir uns das
2384 Beispiel @qq{Nur Noten} an:
2387 \version @w{"@version{}"}
2389 melody = \relative c' @{
2403 Wir brauchen den @code{\version}-Befehl nicht zweimal. Wir
2404 brauchen aber den @code{melody}-Abschnitt. Wir wollen
2405 keine zwei @code{\score} (Partitur)-Abschnitte -- mit zwei
2406 @code{\score}-Abschnitten würden wir zwei Stimmen
2407 getrennt voneinander erhalten. In diesem Fall wollen wir
2408 sie aber zusammen, als Duett. Schließlich brauchen wir
2409 innerhalb des @code{\score}-Abschnittes nur einmal die
2410 Befehle @code{\layout} und @code{\midi}.
2412 Wenn wir jetzt einfach zwei @code{melody}-Abschnitte in
2413 unsere Datei kopieren würden, hätten wir zwei @code{melody}-Variable.
2414 Das würde zu keinem Fehler führen, aber die zweite von ihnen
2415 würde für beide Melodien eingesetzt werden. Wir müssen
2416 ihnen also andere Bezeichnungen zuweisen, um sie voneinander
2417 zu unterscheiden. Nennen wir die Abschnitte also @code{SopranNoten}
2418 für den Sopran und @code{CelloNoten} für die Cellostimme. Wenn
2419 wir schon dabei sind, können wir @code{text}auch nach
2420 @code{SoprText} umbenennen. Denken Sie daran, beide
2421 Vorkommen der Bezeichnung zu ändern: einmal die Definition
2422 gleich am Anfang (@code{melody = \relative c' @{ }) und
2423 dann auch noch die Benutzung der Variable innerhalb des
2424 @code{\score}-Abschnittes.
2426 Gleichzeitig können wir auch noch das Notensystem für das
2427 Cello ändern -- das Cello hat normalerweise einen Bassschlüssel.
2428 Wir ändern auch die Noten etwas ab.
2431 \version @w{"@version{}"}
2433 SopranNoten = \relative c' @{
2440 SoprText = \lyricmode @{
2444 CelloNoten = \relative c @{
2453 \new Voice = "eins" @{
2457 \new Lyrics \lyricsto "eins" \Soprantext
2464 Das sieht schon vielversprechend aus, aber die Cello-Stimme
2465 erscheint noch nicht im Notensatz -- wir haben vergessen,
2466 sie in den @code{\score}-Abschnitt einzufügen. Wenn die
2467 Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
2471 \new Staff \CelloNoten
2475 unter dem Befehl für den Sopran hinzufügen. Wir brauchen auch
2476 die spitzen Klammern (@code{<<} und @code{>>}) um die
2477 Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
2478 ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
2479 zwei @code{Staff}-Instanzen). Der @code{\score}-Abschnitt
2482 @c Indentation in this example is deliberately poor
2487 \new Voice = "eins" @{
2491 \new Lyrics \lyricsto "eins" \SoprText
2493 \new Staff \CelloNoten
2501 Das sieht etwas unschön aus, vor allem die Einrückung stimmt
2502 nicht mehr. Das können wir aber schnell in Ordnung bringen.
2503 Hier also die gesamte Vorlage für Soprán a violoncello:
2505 @lilypond[quote,verbatim,ragged-right,addversion]
2506 sopranoMusic = \relative c' {
2513 sopranoLyrics = \lyricmode {
2517 celloMusic = \relative c {
2527 \new Voice = "one" {
2531 \new Lyrics \lyricsto "one" \sopranoLyrics
2533 \new Staff \celloMusic
2542 Die Vorlagen, mit denen wir begonnen haben, können im
2543 Anhang @qq{Vorlagen} gefunden werden, siehe
2544 @ref{Ein einzelnes System}.
2547 @node Čtyřhlasý notový zápis SATB
2548 @subsection Čtyřhlasý notový zápis SATB
2549 @translationof Four-part SATB vocal score
2551 @cindex Vorlage, SATB
2552 @cindex Vorlage, Chorpartitur
2553 @cindex SATB-Vorlage
2554 @cindex Chorpartitur, Vorlage
2556 Die meisten Partituren für vierstimmigen gemischten Chor
2557 mit Orchesterbegleitung (wie etwa Mendelssohns @notation{Elias}
2558 oder Händels @notation{Messias}) sind so aufgebaut, dass
2559 für jede der vier Stimmen ein eigenes System besteht und
2560 die Orchesterbegleitung dann als Klavierauszug darunter
2561 notiert wird. Hier ein Beispiel aus Händels @notation{Messias}:
2563 @c The following should appear as music without code
2564 @lilypond[quote,ragged-right]
2565 global = { \key d \major \time 4/4 }
2567 sopranoMusic = \relative c'' {
2569 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2571 sopranoWords = \lyricmode {
2572 Wor -- thy | is the lamb | that was slain |
2574 altoMusic = \relative a' {
2576 r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2578 altoWords = \sopranoWords
2579 tenorMusic = \relative c' {
2581 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2583 tenorWords = \sopranoWords
2584 bassMusic = \relative c' {
2586 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2588 bassWords = \sopranoWords
2589 upper = \relative a' {
2592 r4 <a d fis>2 <a e' a>4
2593 <d fis d'>4. <d fis d'>8 <a d a'>2
2594 <g cis g'>4 <a d fis> <a cis e>2
2596 lower = \relative c, {
2599 <d d'>4 <d d'>2 <cis cis'>4
2600 <b b'>4. <b' b'>8 <fis fis'>2
2601 <e e'>4 <d d'> <a' a'>2
2605 << % combine ChoirStaff and PianoStaff in parallel
2607 \new Staff = "sopranos" <<
2608 \set Staff.instrumentName = #"Soprano"
2609 \new Voice = "sopranos" {
2614 \new Lyrics \lyricsto "sopranos" {
2617 \new Staff = "altos" <<
2618 \set Staff.instrumentName = #"Alto"
2619 \new Voice = "altos" {
2624 \new Lyrics \lyricsto "altos" {
2627 \new Staff = "tenors" <<
2628 \set Staff.instrumentName = #"Tenor"
2629 \new Voice = "tenors" {
2634 \new Lyrics \lyricsto "tenors" {
2637 \new Staff = "basses" <<
2638 \set Staff.instrumentName = #"Bass"
2639 \new Voice = "basses" {
2644 \new Lyrics \lyricsto "basses" {
2650 \set PianoStaff.instrumentName = #"Piano"
2651 \new Staff = "upper" \upper
2652 \new Staff = "lower" \lower
2658 Keine der Vorlage bietet diesen Aufbau direkt an. Die Vorlage, die
2659 am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer
2660 Klavierauszug}, siehe @ref{Vokalensemble}. Wir müssen diese
2661 Vorlage aber so anpassen, dass die Noten für das Klavier nicht
2662 automatisch aus dem Chorsatz generiert werden. Die Variablen
2663 für die Noten und den Text des Chores sind in Ordnung, wir
2664 müssen nun noch Variablen für die Klaviernoten hinzufügen.
2666 Die Reihenfolge, in welcher die Variablen in das Chorsystem
2667 (@code{ChoirStaff}) eingefügt werden, entspricht nicht der
2668 in dem Beispiel oben. Wir wollen sie so sortieren, dass die
2669 Texte jeder Stimme direkt unter den Noten notiert werden.
2670 Alle Stimmen sollten als @code{\voiceOne} notiert werden,
2671 welches die Standardeinstellung ist; wir können also die
2672 @code{\voiceXXX}-Befehle entfernen. Wir müssen auch noch
2673 den Schlüssel für den Tenor ändern. Die Methode, mit der
2674 der Text den Stimmen zugewiesen wird, ist uns noch nicht
2675 bekannt, darum wollen wir sie umändern auf die Weise, die
2676 wir schon kennen. Wir fügen auch noch Instrumentbezeichnungen
2677 zu den Systemen hinzu.
2679 Damit erhalten wir folgenden @code{ChoirStaff}:
2683 \new Staff = "sopranos" <<
2684 \set Staff.instrumentName = #"Sopran"
2685 \new Voice = "sopranos" @{
2690 \new Lyrics \lyricsto "sopranos" @{
2693 \new Staff = "altos" <<
2694 \set Staff.instrumentName = #"Alt"
2695 \new Voice = "altos" @{
2700 \new Lyrics \lyricsto "altos" @{
2703 \new Staff = "tenors" <<
2704 \set Staff.instrumentName = #"Tenor"
2705 \new Voice = "tenors" @{
2710 \new Lyrics \lyricsto "tenors" @{
2713 \new Staff = "basses" <<
2714 \set Staff.instrumentName = #"Bass"
2715 \new Voice = "basses" @{
2720 \new Lyrics \lyricsto "basses" @{
2726 Als nächstes müssen wir das Klaviersystem bearbeiten.
2727 Das ist einfach: wir nehmen einfach den Klavierteil
2728 aus der @qq{Piano solo}-Vorlage:
2732 \set PianoStaff.instrumentName = #"Piano "
2733 \new Staff = "oben" \oben
2734 \new Staff = "unten" \unten
2739 und fügen die Variablen @code{oben}
2740 und @code{unten} hinzu.
2742 Das Chorsystem und das Pianosystem müssen mit
2743 spitzen Klammern kombiniert werden, damit beide
2744 übereinander erscheinen:
2747 << % ChoirStaff und PianoStaff parallel kombinieren
2749 \new Staff = "sopranos" <<
2750 \new Voice = "sopranos" @{
2755 \new Lyrics \lyricsto "sopranos" @{
2758 \new Staff = "altos" <<
2759 \new Voice = "altos" @{
2764 \new Lyrics \lyricsto "altos" @{
2767 \new Staff = "tenors" <<
2768 \clef "G_8" % tenor clef
2769 \new Voice = "tenors" @{
2774 \new Lyrics \lyricsto "tenors" @{
2777 \new Staff = "basses" <<
2779 \new Voice = "basses" @{
2784 \new Lyrics \lyricsto "basses" @{
2790 \set PianoStaff.instrumentName = #"Piano"
2791 \new Staff = "upper" \upper
2792 \new Staff = "lower" \lower
2797 Alles miteinander kombiniert und mit den Noten für drei
2798 Takte sieht unser Beispiel nun so aus:
2800 @lilypond[quote,verbatim,ragged-right,addversion]
2805 sopranoMusic = \relative c'' {
2807 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2809 sopranoWords = \lyricmode {
2810 Wor -- thy | is the lamb | that was slain |
2812 altoMusic = \relative a' {
2814 r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2816 altoWords = \sopranoWords
2817 tenorMusic = \relative c' {
2819 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2821 tenorWords = \sopranoWords
2822 bassMusic = \relative c' {
2824 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2826 bassWords = \sopranoWords
2827 upper = \relative a' {
2830 r4 <a d fis>2 <a e' a>4
2831 <d fis d'>4. <d fis d'>8 <a d a'>2
2832 <g cis g'>4 <a d fis> <a cis e>2
2834 lower = \relative c, {
2837 <d d'>4 <d d'>2 <cis cis'>4
2838 <b b'>4. <b' b'>8 <fis fis'>2
2839 <e e'>4 <d d'> <a' a'>2
2843 << % combine ChoirStaff and PianoStaff in parallel
2845 \new Staff = "sopranos" <<
2846 \set Staff.instrumentName = #"Soprano"
2847 \new Voice = "sopranos" {
2852 \new Lyrics \lyricsto "sopranos" {
2855 \new Staff = "altos" <<
2856 \set Staff.instrumentName = #"Alto"
2857 \new Voice = "altos" {
2862 \new Lyrics \lyricsto "altos" {
2865 \new Staff = "tenors" <<
2866 \set Staff.instrumentName = #"Tenor"
2867 \new Voice = "tenors" {
2872 \new Lyrics \lyricsto "tenors" {
2875 \new Staff = "basses" <<
2876 \set Staff.instrumentName = #"Bass"
2877 \new Voice = "basses" {
2882 \new Lyrics \lyricsto "basses" {
2888 \set PianoStaff.instrumentName = #"Piano "
2889 \new Staff = "upper" \upper
2890 \new Staff = "lower" \lower
2897 @node Vytvoření notového zápisu od základu
2898 @subsection Vytvoření notového zápisu od základu
2899 @translationof Building a score from scratch
2901 @cindex Template, eigene schreiben
2902 @cindex Vorlagen, eigene schreiben
2903 @cindex eigene Vorlagen erstellen
2904 @cindex Erstellen von eigenen Vorlagen
2905 @cindex Schreiben von eigenen Vorlagen
2907 Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code
2908 gewonnen haben, werden Sie vielleicht feststellen, dass es
2909 manchmal einfacher ist, von Grund auf anzufangen, anstatt
2910 die fertigen Vorlagen zu verändern. Auf diese Art könne Sie
2911 auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen,
2912 die Sie notieren wollen. Als Beispiel wollen wir demonstrieren,
2913 wie man die Partitur für ein Orgelpreludium von Grund auf
2916 Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt.
2917 Hier notieren wir den Titel, den Namen des Komponisten usw.
2918 Danach schreiben wir die einzelnen Variablen auf und
2919 schließlich am Ende die eigentliche Partitur, den
2920 @code{\score}-Abschnitt. Beginnen wir mit einer groben
2921 Struktur, in die wir dann die Einzelheiten nach und nach
2924 Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium
2925 @notation{Jesu, meine Freude} von J. S. Bach, notiert
2926 für zwei Manuale und Pedal. Sie können die Noten am Ende
2927 dieses Abschnittes sehen. Das obere Manual trägt zwei Stimmen,
2928 das untere und das Pedalsystem jeweils nur eine. Wir
2929 brauchen also vier Variablen für die Noten und eine, um
2930 Taktart und Tonart zu definieren.
2933 \version @w{"@version{}"}
2935 title = "Jesu, meine Freude"
2936 composer = "J. S. Bach"
2938 keyTime = @{ \key c \minor \time 4/4 @}
2939 ManualOneVoiceOneMusic = @{ s1 @}
2940 ManualOneVoiceTwoMusic = @{ s1 @}
2941 ManualTwoMusic = @{ s1 @}
2942 PedalOrganMusic = @{ s1 @}
2948 Im Moment haben wir eine unsichtbare
2949 Note in jede Stimme eingesetzt (@code{s1}).
2950 Die Noten werden später hinzugefügt.
2952 Als nächstes schauen wir uns an, was in die
2953 Partitur (die @code{\score}-Umgebung)
2954 kommt. Dazu wird einfach die Notensystemstruktur
2955 konstruiert, die wir benötigen. Orgelmusik
2956 wird meistens auf drei Systemen notiert, eins
2957 für jedes Manual und ein drittes für die Pedalnoten.
2958 Die Systeme für die Manuale werden mit einer
2959 geschweiften Klammer verbunden, wir
2960 benutzen hier also ein @code{PianoStaff}.
2961 Das erste Manualsystem braucht zwei Stimmen,
2962 das zweite nur eine.
2966 \new Staff = "ManualOne" <<
2968 \ManualOneVoiceOneMusic
2971 \ManualOneVoiceTwoMusic
2973 >> % Ende ManualOne Systemkontext
2974 \new Staff = "ManualTwo" <<
2978 >> % Ende ManualTwo Systemkontext
2979 >> % Ende PianoStaff Kontext
2982 Als nächstes soll das System für das Pedal hinzugefügt
2983 werden. Es soll unter das Klaviersystem gesetzt
2984 werden, aber muss gleichzeitig mit ihm erscheinen.
2985 Wir brauchen also spitze Klammern um beide
2986 Definitionen. Sie wegzulassen würde eine Fehlermeldung
2987 in der Log-Datei hervorrufen. Das ist ein sehr
2988 häufiger Fehler, der wohl auch Ihnen früher
2989 oder später unterläuft. Sie können das fertige
2990 Beispiel am Ende des Abschnittes kopieren und die
2991 Klammern entfernen, um zu sehen, wie die
2992 Fehlermeldung aussehen kann, die Sie in solch
2993 einem Fall erhalten würden.
2996 << % PianoStaff and Pedal Staff must be simultaneous
2998 \new Staff = "ManualOne" <<
3000 \ManualOneVoiceOneMusic
3003 \ManualOneVoiceTwoMusic
3005 >> % end ManualOne Staff context
3006 \new Staff = "ManualTwo" <<
3010 >> % end ManualTwo Staff context
3011 >> % end PianoStaff context
3012 \new Staff = "PedalOrgan" <<
3020 Es ist nicht notwendig, die simultane Konstruktion
3021 @code{<< .. >>} innerhalb des zweiten Manualsystems
3022 und des Pedalsystems zu benutzen, denn sie enthalten
3023 nur eine Stimme. Andererseits schadet es nichts, sie
3024 zu schreiben, und es ist eine gute Angewohnheit, immer
3025 die spitzen Klammern nach einem @code{\new Staff} zu
3026 schreiben, wenn mehr als eine Stimme vorkommen könnten.
3027 Für Stimmen (@code{Voice}) dagegen gilt genau das
3028 Gegenteil: eine neue Stimme sollte immer von
3029 geschweiften Klammern (@code{@{ .. @}}) gefolgt
3030 werden, falls Sie ihre Noten in mehrere Variable aufteilen,
3031 die nacheinander gesetzt werden sollen.
3033 Fügen wir also diese Struktur zu der @code{\score}-Umgebung
3034 hinzu und bringen wir die Einzüge in Ordnung. Gleichzeitig
3035 wollen wir die richtigen Schlüssel setzen und die Richtung der
3036 Hälse und Bögen in den Stimmen des oberen Systems
3037 kontrollieren, indem die obere Stimme ein
3038 @code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
3039 erhält. Die Taktart und Tonart werden mit unserer fertigen
3040 Variable @code{\keyTime} eingefügt.
3044 << % PianoStaff and Pedal Staff must be simultaneous
3046 \new Staff = "ManualOne" <<
3047 \keyTime % set time signature and key
3051 \ManualOneVoiceOneMusic
3055 \ManualOneVoiceTwoMusic
3057 >> % end ManualOne Staff context
3058 \new Staff = "ManualTwo" <<
3064 >> % end ManualTwo Staff context
3065 >> % end PianoStaff context
3066 \new Staff = "PedalOrgan" <<
3072 >> % end PedalOrgan Staff
3074 @} % end Score context
3077 @cindex Spreizbarkeit von Systemen
3078 @cindex Dehnung von Systemen, vertikal
3079 @cindex Systeme, vertikales Dehnen
3081 Das Layout des Orgelsystems oben ist fast perfekt, es hat jedoch einen kleinen
3082 Fehler, den man nicht bemerken kann, wenn man nur ein einzelnes System
3083 betrachtet: Der Abstand des Pedalsystems zum System der linken Hand
3084 sollte in etwa der gleiche sein wie der Abstand zwischen den Systemen
3085 der linken und rechten Hand. Die Dehnbarkeit von Systemen in einem
3086 Klaviersystem (@code{PianoStaff})-Kontext ist beschränkt (sodass der
3087 Abstand zwischen den Systemen der linken und rechten Hand nicht zu groß
3088 wird), und das Pedalsystem sollte sich genauso verhalten.
3090 @cindex Untereigenschaft
3091 @cindex sub-properties
3092 @cindex graphische Objekte
3094 @cindex Objekte, graphische
3096 Die Spreizbarkeit von Systemen kann mit der @code{staff-staff-spacing}-Eigenschaft
3097 des @code{VerticalAxisGroup}-@qq{graphischen Objekts} (üblicherweise als
3098 @qq{Grob} innerhalb der LilyPond-Dokumentation bezeichnet) kontrolliert
3099 werden. An dieser Stelle brauchen Sie sich um die Details nicht zu
3100 sorgen, sie werden später erklärt. Sehr Neugierige können sich den
3101 Abschnitt @ruser{Grundlagen zum Verändern von Eigenschaften} anschauen. Im Moment
3102 kann man nicht nur die @code{strechability} (Spreizbarkeit)-Untereigenschaft verändern,
3103 darum müssen hier auch die anderen Untereigenschaften kopiert werden. Die
3104 Standardeinstellungen dieser Untereigenschaften finden sich in der Datei
3105 @file{scm/define-grobs.scm} in den Definitionen für den
3106 @code{VerticalAxisGroup}-Grob. Der Wert für @code{strechability} wird aus
3107 der Definition für das Klaviersystem (@code{PianoStaff}) entnommen
3108 (in der Datei @file{ly/engraver-init.ly}), damit die Werte identisch
3113 << % PianoStaff and Pedal Staff must be simultaneous
3115 \new Staff = "ManualOne" <<
3116 \keyTime % set key and time signature
3120 \ManualOneVoiceOneMusic
3124 \ManualOneVoiceTwoMusic
3126 >> % end ManualOne Staff context
3127 \new Staff = "ManualTwo" \with @{
3128 \override VerticalAxisGroup
3129 #'staff-staff-spacing #'stretchability = 5
3136 >> % end ManualTwo Staff context
3137 >> % end PianoStaff context
3138 \new Staff = "PedalOrgan" <<
3144 >> % end PedalOrgan Staff
3146 @} % end Score context
3149 Damit ist das Grundgerüst fertig. Jede Orgelmusik mit drei
3150 Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen
3151 in einem System sich ändern kann. Jetzt müssen wir nur noch
3152 die Noten einfügen und alle Teile zusammenfügen, indem wir
3153 die Variablen mit einem Backslash in die Partitur einbauen.
3155 @lilypond[quote,verbatim,ragged-right,addversion]
3157 title = "Jesu, meine Freude"
3158 composer = "J S Bach"
3160 keyTime = { \key c \minor \time 4/4 }
3161 ManualOneVoiceOneMusic = \relative g' {
3165 ManualOneVoiceTwoMusic = \relative c' {
3166 ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
3167 c8 c4 b8 c8. g16 c b c d |
3169 ManualTwoMusic = \relative c' {
3170 c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
3171 f16 ees f d g aes g f ees d e8~ ees16 f ees d |
3173 PedalOrganMusic = \relative c {
3174 r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
3175 r16 g ees f g f g8 c,2 |
3179 << % PianoStaff and Pedal Staff must be simultaneous
3181 \new Staff = "ManualOne" <<
3182 \keyTime % set time signature and key
3186 \ManualOneVoiceOneMusic
3190 \ManualOneVoiceTwoMusic
3192 >> % end ManualOne Staff context
3193 \new Staff = "ManualTwo" \with {
3194 \override VerticalAxisGroup
3195 #'staff-staff-spacing #'stretchability = 5
3202 >> % end ManualTwo Staff context
3203 >> % end PianoStaff context
3204 \new Staff = "PedalOrgan" <<
3210 >> % end PedalOrgan Staff context
3212 } % end Score context
3220 @node Úspora psaní na stroji pomocí proměnných a funkcí
3221 @subsection Úspora psaní na stroji pomocí proměnných a funkcí
3222 @translationof Saving typing with variables and functions
3226 Bis jetzt wurde immer derartige Notation vorgestellt:
3228 @lilypond[quote,verbatim,ragged-right]
3229 hornNotes = \relative c'' { c4 b dis c }
3238 Sie können sich vorstellen, dass das etwa für minimalistische
3239 Musik sehr nützlich sein könnte:
3241 @lilypond[quote,verbatim,ragged-right]
3242 fragmentA = \relative c'' { a4 a8. b16 }
3243 fragmentB = \relative c'' { a8. gis16 ees4 }
3244 violin = \new Staff {
3245 \fragmentA \fragmentA |
3246 \fragmentB \fragmentA |
3256 Diese Variablen (die man auch als Makros oder Benutzer-Befehl
3257 bezeichnet) können jedoch auch für eigene Anpassungen eingesetzt
3260 @c TODO Avoid padtext - not needed with skylining
3261 @lilypond[quote,verbatim,ragged-right]
3262 dolce = \markup { \italic \bold dolce }
3263 padText = { \once \override TextScript #'padding = #5.0 }
3265 \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p
3268 violin = \relative c'' {
3270 c4._\dolce b8 a8 g a b
3272 c4.^"hi there!" d8 e' f g d
3273 c,4.\fthenp b8 c4 c-.
3281 \layout{ragged-right=##t}
3285 Derartige Variablen sind offensichtlich sehr nützlich, zu Tipparbeit zu ersparen. Aber es lohnt sich schon, sie zu
3286 benutzen, wenn man sie nur einmal benutzen will, denn sie
3287 vereinfachen die Struktur einer Datei sehr stark. Hier das
3288 vorige Beispiel ohne jede Benutzung von Variablen. Es ist
3289 sehr viel schwerer lesbar, besonders die letzte Zeile.
3292 violin = \relative c'' @{
3294 c4._\markup @{ \italic \bold dolce @} b8 a8 g a b
3295 \once \override TextScript #'padding = #5.0
3296 c4.^"hi there!" d8 e' f g d
3298 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3305 @c TODO Replace the following with a better example -td
3306 @c Skylining handles this correctly without padText
3308 Bisher haben wir vor allem statische Ersetzungen betrachtet:
3309 wenn LilyPond etwa @code{\padText} sieht, wird es ersetzt mit
3310 all dem Code, mit dem wir es definiert haben (also alles,
3311 was sich rechts von @code{padtext=} befindet).
3313 LilyPond kann auch nicht-statische Ersetzungen bewältigen. Man
3314 kann sie sich als Funktionen vorstellen.
3316 @lilypond[quote,verbatim,ragged-right]
3318 #(define-music-function
3319 (parser location padding)
3322 \once \override TextScript #'padding = $padding
3326 c4^"piu mosso" b a b |
3328 c4^"piu mosso" d e f |
3330 c4^"piu mosso" fis a g |
3334 Die Benutzung von Variablen ist auch eine gute Möglichkeit,
3335 Arbeit zu vermeiden, wenn sich einmal die Syntax von LilyPond
3336 ändern sollte (siehe auch @rprogram{Updating old input files
3338 Wenn man eine einzige Definition hat (wie etwa @code{\dolce}),
3339 die für alle Vorkommen in der Notation eingesetzt wird, muss
3340 man auch nur einmal diese Definition aktualisieren, anstatt
3341 dass man sie in jeder @file{.ly}-Datei einzeln ändern müsste.
3344 @node Notové zápisy a hlasy
3345 @subsection Notové zápisy a hlasy
3346 @translationof Scores and parts
3348 In Orchestermusik werden alle Noten zweimal gedruckt. Einmal
3349 in einer Stimme für die Spieler, und einmal ein der Partitur
3350 für den Dirigenten. Variablen können benutzen, um sich doppelte
3351 Arbeit zu ersparen. Die Noten werden nur einmal eingegeben und
3352 in einer Variable abgelegt. Der Inhalt der Variable wird dann
3353 benutzt um sowohl die Stimme als auch die Partitur zu erstellen.
3355 Es bietet sich an, die Noten in einer extra Datei abzulegen.
3356 Nehmen wir an, dass die Datei @file{horn-music.ly} folgende
3357 Noten eines Horn/@/Fagott-Duos enthält:
3360 hornNotes = \relative c @{
3362 r4 f8 a | cis4 f | e4 d |
3367 Eine Stimme wird also erstellt, indem man folgendes in eine
3371 \include "horn-music.ly"
3374 instrument = "Horn in F"
3378 \transpose f c' \hornNotes
3385 \include "horn-music.ly"
3389 ersetzt den Inhalt von @file{horn-music.ly} an dieser Position
3390 in der Datei, sodass @code{hornNotes} im Folgenden definiert
3391 ist. Der Befehl @code{\transpose f@tie{}c'} zeigt an, dass
3392 das Argument (@code{\hornNotes}) eine Quinte nach oben transponiert
3393 werden soll. Klingendes @code{f} wird als @code{c'}, wie es
3394 die Stimmung eines normalen F-Hornes verlangt. Die Transposition
3395 kann in folgender Notenausgabe gesehen werden:
3397 @lilypond[quote,ragged-right]
3398 \transpose f c' \relative c {
3400 r4 f8 a | cis4 f | e4 d |
3404 In Ensemblestücken sind manche Stimmen für viele Takte stumm.
3405 Das wird durch eine besondere Pause notiert, die Mehrtaktpause.
3406 Sie wird mit einem großen @code{R} notiert, gefolgt von der
3407 Dauer (@code{1}@tie{}für eine Ganze, @code{2}@tie{}für eine Halbe usw.). Indem man die Dauern multipliziert, kann man auch
3408 längere Dauern erzeugen. Diese Pause etwa dauert drei Takte
3415 Wenn die Stimme gesetzt wird, werden Mehrtaktpausen komprimiert. Das geschieht, indem man folgendes in die Datei
3419 \set Score.skipBars = ##t
3423 Dieser Befehl setzt die Eigenschaft @code{skipBars} im
3424 @code{Score}-Kontext auf wahr (@code{##t}). Die Pause und diese Option zu der Musik von oben hinzugefügt, ergibt folgendes
3427 @lilypond[quote,ragged-right]
3428 \transpose f c' \relative c {
3430 \set Score.skipBars = ##t
3432 r4 f8 a | cis4 f | e4 d |
3436 Die Partitur wird erstellt, indem man alle Noten kombiniert.
3437 Angenommen, die andere Stimme ist in @code{bassoonNotes}
3438 in der Datei @file{bassoon-music.ly} definiert, würde eine
3439 Partitur erstellt mit:
3442 \include "bassoon-music.ly"
3443 \include "horn-music.ly"
3446 \new Staff \hornNotes
3447 \new Staff \bassoonNotes
3454 @lilypond[quote,ragged-right]
3460 r4 f8 a | cis4 f | e4 d |
3465 r4 d,8 f | gis4 c | b4 bes |
3466 a8 e f4 | g4 d | gis4 f |