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::
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{Stavba 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{Prostředí a rytci,,prostředí 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 notace -- @ruser{Rozvržení notového zápisu} a
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
239 Váš LilyPondovský kód může obsahovat více bloků @code{\score}.
240 Každý z nich je vykládán jako samostatný notový zápis, ovšem
241 všechny jsou umístěny v tomtéž výstupním souboru.
242 Příkaz @code{\book} není otevřeně nezbytný -- je vytvořen
243 skrytě. Když však má být vytvořen pro každý blok @code{\score} v
244 souboru @file{.ly} vlastní výstupní soubor,
245 potom se musí každý z těchto bloků zapsat do vlastního bloku @code{\book}:
246 Každý blok @code{\book} pak vytváří vlastní výstupní soubor.
250 Každý blok @code{\book} vytváří vlastní výstupní soubor (např. soubor
251 PDF). Pokud jste otevřeně žádný takový blok nezadali,
252 LilyPond celý obsah souboru zapíše dovnitř jednoho jediného
253 skrytého bloku @code{\book}.
255 Každý blok @code{\score} popiseje jeden samostatný hudební kus
256 uvnitř bloku @code{\book}.
258 @cindex Prostředí Layout, umístění
259 @cindex Umístění prostředí layout
261 Každý blok @code{\layout} ovlivňuje @code{\score} nebo
262 @code{\book}, ve kterém se vyskytuje. Tak působí například blok
263 @code{\layout} uvnitř bloku @code{\score} jen na tento jeden
264 blok a celý jeho obsah, blok @code{\layout} mimo
265 blok @code{\score} (a proto uvnitř skrytě vytvořeného
266 otevřeně zadaného bloku @code{\book}) však na
267 všechny bloky @code{\score} uvnitř tohoto bloku @code{\book}.
269 Více podrobností se nachází v části @ruser{Více notových zápisů v knize}.
272 @cindex Identifikátor
274 Dobrou možností pro zjednodušení jsou vlastní vymezené proměnné,
275 jak je to také ukázáno v @ref{Pořádání děl pomocí proměnných}.
276 Všechny předlohy používají tuto možnost:
279 melodie = \relative @{
288 Když LilyPond zpracovává tento soubor, bere obsah
289 z @code{melodie} (vše po rovnítku) a vkládá to,
290 kdykoli vidí @code{\melodie}. Názvy jsou
291 volně volitelné, proměnná se právě tak dobře může
292 jmenovat @code{melodie}, @code{GLOBAL}, @code{praváRukaKlavír},
293 nebo @code{cokoliDalšího}.
294 Jako název proměnné se dá použít skoro jakýkoli oblíbený název,
295 musí se v něm ovšem vyskytovat jen písmena (takže žádná čísla, podtržítka,
296 zvláštní znaky, atd.) a nesmí znít jako příkaz pro LilyPond. Pro více
297 informací se podívejte na
298 @ref{Úspora psaní na stroji pomocí proměnných a funkcí,,úsporu psaní na stroji pomocí proměnných a funkcí}. Přesně jsou
299 tato omezení popsána v části @ruser{Stavba souboru}.
303 Úplné vymezení vstupního souboru se nachází v
304 @ruser{Stavba souboru}.
307 @node Notový zápis je jedním (jediným) složeným hudebním výrazem
308 @subsection Notový zápis je jedním (jediným) složeným hudebním výrazem
309 @translationof Score is a (single) compound musical expression
315 @cindex Složený hudební výraz
316 @cindex Hudební výraz, složený
319 V předchozí kapitole, @ref{Uvedení do stavby souboru v LilyPondu},
320 byla popsána obecná stavba jednoho LilyPondovského zdrojového
321 souboru. Ale zjevně jsme vypustili nejdůležitější
322 otázku, totiž jak se zjistí, co se má napsat
325 Ve skutečnosti to ale není vůbec žádným tajemstvím. Tento
329 @emph{Notový zápis začíná vždy @code{\score}, který je následován
330 jedním hudebním výrazem.}
334 Možná byste si měl ještě jednou zběžně přečíst, abyste pochopil, co jsou to hudební výrazy,
335 @ref{Vysvětlení hudebních výrazů,,vysvětlení hudebních výrazů}. V této
336 kapitole bylo ukázáno, jak se velké hudební výrazy
337 skládají z malých částí. Noty mohou být spojeny s akordy
338 atd. Nyní ale jdeme v jiném směru a pozorujeme,
339 jak se dá rozložit velký hudební výraz. Kvůli zjednodušení
340 v našem příkladu použijeme jen jednoho zpěváka a
341 klavír. Nepotřebujeme žádnou skupinu
342 osnov (@code{StaffGroup}), která jednoduše způsobeje jen to,
343 že osnovy jsou spojeny závorkami, seskupuje je; ty tedy budou
344 odstraněny. @emph{Potřebujeme} ale osnovy pro zpěváka a klavír.
350 \new Staff = "Zpěvák" <<
352 \new PianoStaff = "Klavír" <<
360 Zde byly osnovy pojmenovány: @qq{Zpěvák} a
361 @qq{Klavír}. To v tomto případě není přímo nutné,
362 ale je dobré zvyknout si na tento způsob psaní, aby se hned
363 poznalo, o kterou osnovu se jedná.
365 K zapamatování: @code{<<} a @code{>>} jsou noty vysázeny
366 zároveň. To způsobuje, že se hlasová část a klavírní osnova objevují
367 v notovém zápisu nad sebou. Konstrukce @code{<< ... >>} pro zpěvákovu osnovu
368 v příkladu výše není nutná, protože zde se mají vkládat noty jen
369 jednoho hlasu, ale @code{<< ... >>}
370 namísto závorek jsou nezbytné, hned jak se má vkládat
371 více než jeden hlas, tedy dva a více současných výrazů, nebo jeden notový hlas a text
372 písně. V našem případě se má zapsat jeden hlas s textem písně,
373 takže jsou potřeba špičaté závorky. Noty přidáme teprve později,
374 pro teď tedy přidáme nějaké noty a text. Pokud si nevzpomínáte,
375 jak se text písně zapisuje, přečtěte si ještě
376 jednou o @code{\addlyrics} v @ref{Zápis jednoduchých písní,,zápisu jednoduchých písní}.
378 @lilypond[verbatim,quote,ragged-right]
381 \new Staff = "singer" <<
382 \new Voice = "vocal" { c'1 }
385 \new PianoStaff = "piano" <<
386 \new Staff = "upper" { c'1 }
387 \new Staff = "lower" { c'1 }
394 Nyní máme mnohem více podrobností. Máme osnovu (angl. staff)
395 pro jednoho zpěváka, ve které se zase nachází jeden hlas
396 (angl. voice). @code{Voice} znamená pro LilyPond hlas (jak
397 zazpívaný tak zahraný; prostě soubor not, nikoli nutně zpívaných zpěvákem
398 -- například housle hrají jeden hlas) a případně dodatečný text. Dodatečně
399 se zapíší dvě notové osnovy pro klavír příkazem @code{\new
400 PianoStaff}. @code{PianoStaff} označuje prostředí klavíru (procházející
401 taktové čáry a složené závorky na začátku), v němž se potom opět
402 zřizují dvě vlastní osnovy ("nahoře" pro pravou ruku a
403 "dole" pro levou), i když spodní osnova musí ještě dostat
406 Nyní bychom do tohoto prostředí mohli začít vkládat noty. Uvnitř
407 složených závorek vedle @code{\new Voice = "Zpěvní hlas"}
408 bychom mohli zapisovat
412 r4 d''8\noBeam g, c4 r
417 Ale když se soubor píše takto přímo, začne být
418 část @code{\score} velmi dlouhá a je dosti obtížné porozumět tomu,
419 jak vše souvisí. Z toho důvodu se nabízí použití identifikátorů
420 (nebo jinak také proměnných). Byly vysvětleny na začátku předchozí
421 části, jak si zajisté vzpomínáte? Abychom zajistili,
422 že obsah proměnné @code{text} je vykládán jako text písně,
423 interpretiert wird, uvedeme jej @code{\lyricmode}. Tak jako
424 @code{\addlyrics}, je tímto vstupní režim přepnut na
425 text písně. Bez tohoto příkazu by se LilyPond pokoušel vykládat obsah
426 proměnné jako noty a přitom by docházelo k vytváření
427 množství chyb. (Kromě toho je dostupných ještě několik dalších
428 zadávacích režimů, podívejte se na @ruser{Vstupní režimy}.)
430 Takže nyní máme, když přidáme několik not a basový klíč
431 pro levou ruku, následující příklad:
433 @lilypond[verbatim,quote,ragged-right]
434 melody = \relative { r4 d''8\noBeam g, c4 r }
435 text = \lyricmode { And God said, }
436 upper = \relative { <g' d g,>2~ <g d g,> }
437 lower = \relative { b,2 e }
441 \new Staff = "singer" <<
442 \new Voice = "vocal" { \melody }
445 \new PianoStaff = "piano" <<
446 \new Staff = "upper" { \upper }
447 \new Staff = "lower" {
457 Při zapisování (nebo při čtení) prostředí @code{\score}
458 by se mělo postupovat pomalu a pečlivě. Nejlepší je začít s největšími
459 útvary, a pak vymezit v nich obsažené menší útvary. Také pomáhá velice
460 dbát na přesné odsazení, aby každý řádek, jenž přísluší k
461 téže úrovni, skutečně vodorovně začínal na tom
466 Notace: @ruser{Stavba notového zápisu}.
469 @node Naskládání hudebních výrazů do sebe
470 @subsection Naskládání hudebních výrazů do sebe
471 @translationof Nesting music expressions
473 @cindex Notové osnovy, dočasné
475 @cindex Dočasné notové osnovy
477 Notové osnovy (prostředí @q{Staff}) není bezpodmínečně potřeba
478 vytvořit hned na začátku -- mohou být uvedeny i kdykoli
479 později. To je obzvláště užitečné při vytváření oddílů
480 @rglosnamed{ossia,Ossias}. Zde následuje krátký příklad toho,
481 jak je možné vytvořit dodatečnou dočasnou notovou osnovu
482 jen pro dobu trvání tří not:
484 @lilypond[verbatim,quote,ragged-right]
501 Jak je vidět, velikost notového klíče je tatáž, jaká se vyskytuje
502 i při změně klíče -- o něco menší, než
503 jakou má klíč na začátku notové osnovy. Toto je obvyklé u
504 notových klíčů, které jsou zapsány uvnitř notové osnovy.
506 @cindex Notová osnova, umístění
507 @cindex Umístění notové osnovy
509 Oddíl ossia může být zapsán i mimo hlavní notovou
512 @lilypond[verbatim,quote,ragged-right]
513 \new Staff = "main" {
520 alignAboveContext = #"main"
528 Tento příklad používá příkaz @code{\with}, který bude později
529 vysvětlen ještě přesněji. Jím lze měnit výchozí chování jedné
530 notové osnovy: Zde se jednoduše říká, že nová notová osnova
531 se má umístit nad již jsoucí osnovu s názvem
532 @qq{main} namísto výchozího umístění, které je
537 Ossia jsou často tisknuta bez notového klíče a bez taktového označení,
538 většinou také o něco menší, než jiné osnovy. Toto je přirozeně možné
539 i v LilyPondu, vyžaduje to ale příkazy, jež dosud ještě nebyly
540 představeny. Podívejte se na @ref{Velikost předmětů,,velikosti předmětů}
541 a @ruser{Osnovy ossia}.
544 @node O ne-naskládatelnosti závorek a ligatur
545 @subsection O ne-naskládatelnosti závorek a ligatur
546 @translationof On the un-nestedness of brackets and ties
548 @cindex Závorky, naskládání
549 @cindex Naskládání závorek
552 Již jste při psaní vstupního souboru pro LilyPond poznali
553 četné různé druhy závorek a staveb na způsob závorek. Tyto
554 se řídí různými pravidly, která mohou zpočátku působit
555 matoucím dojmem. Předtím než budou představena přesná pravidla,
556 pojďme si tyto různé druhy závorek a staveb na způsob závorek
559 @c attempt to force this onto a new page
561 @multitable @columnfractions .3 .7
562 @headitem Druh závorek
564 @item @code{@{ .. @}}
565 @tab Uzavírá postupnou část hudby
567 @tab Uzavírá noty jednoho akordu
568 @item @code{<< .. >>}
569 @tab Uzavírá souběžné hudební výrazy
571 @tab Označuje začátek a konec obloučku
572 @item @code{\( .. \)}
573 @tab Označuje začátek a konec frázovacího obloučku
575 @tab Označuje začátek a konec ručně vytvořeného trámce
578 Dodatečně by snad měly být ještě dále zmíněny některé další
579 konstrukce, které noty ať už jakkoli spojují:
580 ligatury (označované vlnovkou @code{~}),
581 trioly (psané jako @code{\times x/y @{..@}}) und
582 ozdoby (poznamenávané jako @code{\grace@{..@}}).
584 Mimo LilyPond vyžaduje běžné používání závorek,
585 aby byly jejich odpovídající druhy správně seskládány,
586 jako je tomu například tady @code{<< [ @{ ( .. ) @} ] >>}. Uzavírající
587 závorky přitom přicházejí v obráceném pořadí k
588 otevírajícím závorkám. Toto je také v LilyPondu
589 @strong{nutnost} pro ony tři druhy závorek, jež byly v hořejší
590 tabulce popsány slovem @q{uzavírá} -- musí být správně
592 Nicméně zbývající stavby na způsob závorek (v tabulce popsány
593 slovem @q{označuje}), ligatury a trioly
594 bezpodmínečně s jinými závorkami nebo stavbami na způsob závorek
595 seskládány být čistě @strong{nemusí}. Vlastně také ani nejsou nějakými
596 závorkami v tom smyslu, že by něco svíraly, nýbrž mnohem více
597 jsou ukazateli, na kterém místě určitý hudební předmět
600 Tak tedy může například takový frázovací oblouček začínat před
601 ručně vloženým trámcem, a přece končit již před jeho koncem.
602 Toto sice může z hudebního pohledu dávat málo smyslu, ale v LilyPondu
605 @lilypond[quote,verbatim,ragged-right,relative=2]
606 { g8\( a b[ c b\) a] g4 }
609 Ve všeobecnosti se dá říct, že mohou být různé druhy závorek,
610 staveb na způsob závorek, legatových obloučků,
611 triol a ozdob libovolně dávány dohromady.
612 Následující příklad ukazuje trámec, který sahá až k triole
613 (řádek 1), ligaturu, která rovněž dosahuje k triole
614 (řádek 2), trámec a ligaturu sahající k triole,
615 oblouček, který běží přes dvě trioly, jakož i frázovací
616 oblouček, který začíná u trioly (řádky 3 a 4).
618 @lilypond[quote,verbatim,ragged-right]
620 r16[ g \tuplet 3/2 { r16 e'8] }
621 g16( a \tuplet 3/2 { b16 d) e' }
622 g8[( a \tuplet 3/2 { b8 d') e'~] } |
623 \tuplet 5/4 { e'32\( a b d' e' } a'4.\)
628 @node Hlasy obsahují noty
629 @section Hlasy obsahují noty
630 @translationof Voices contain music
632 Zpěváci potřebují ke zpívání hlasy, a LilyPond je potřebuje také:
633 ve skutečnosti jsou všechny noty pro všechny nástroje zapsány v
634 v notovém zápisu uvnitř hlasů. Hlas je v LilyPondu
635 tím nejzákladnějším pojmem.
639 * Přesně vyjádřené začátky hlasů::
644 @subsection Slyším hlasy
645 @translationof I'm hearing Voices
651 @cindex Voice context
652 @cindex context, Voice
653 @cindex Prostředí hlasu
654 @cindex Prostředí, hlas
655 @cindex Současné noty
656 @cindex Hlasy proti akordům
657 @cindex Akordy proti hlasům
658 @cindex Noty současně
660 Nejnižší, nejzákladnější a nejvnitřnější úrovně v LilyPondovském notovém
661 zápisu jsou nazvány @qq{Voice context} (prostředí hlasu) nebo také jen @qq{Voice}
662 (hlas). Hlasy jsou v jiných notačních programech někdy označovány
663 jako @qq{layer} (úroveň).
665 Skutečně je úroveň hlasu tou jedinou, která opravdu může obsahovat
666 noty. Pokud není otevřeně vytvořeno žádné prostředí hlasu,
667 je jedno vytvořeno automaticky, jak to bylo ukázáno na začátku
668 této kapitoly. Některé nástroje, jako je tomu například u hoboje, mohou
669 zároveň zahrát jen jednu notu. Noty pro takové nástroje jsou jednohlasé
670 a potřebují jen jeden hlas. Nástroje, které současně dokáží zahrát
671 více not, jako klavír, naproti tomu často potřebují více
672 hlasů, aby mohly popsat různé současně zaznívající noty
673 s často rozdílnými rytmy.
675 Jeden hlas přirozeně může v jednom akordu obsahovat více not
676 -- takže kdy přesně je potřeba více hlasů? Podívejme se nejprve na
677 tento příklad se čtyřmi akordy:
679 @lilypond[quote,verbatim,ragged-right]
682 <d' g>4 <d fis> <d a'> <d g>
686 To lze vyjádřit tak, že se pro ukázání akordů použijí jednoduché špičaté
687 závorky @code{< ... >}. A pro to je potřeba jen jednoho
688 hlasu. Ale předpokládejme, že by Fis bylo vlastně osminovou
689 notou, kterou následuje osminová nota G (jako průchodný tón
690 k A)? Zde máme dvě noty, které začínají ve stejnou dobu,
691 ale mají rozdílné doby trvání: čtvrťová nota D a osminová nota
692 Fis. Jak by je šlo zapsat? Jako akord je napsat nejde,
693 protože v jednom akordu musejí mít všechny noty stejnou
694 délku. Ani nemohou být zapsány jako po sobě jdoucí noty,
695 neboť začínají v ten samý čas. V takovém případě tedy potřebujeme dva
698 Jak se to ale vyjádří v LilyPondovské skladbě?
703 Nejjednodušším způsobem, jak provést zápis částí s více než jedním hlasem
704 na osnovu, je hlasy zapsat za sebou (pokaždé se závorkami
705 @code{@{ ... @}}), a pak je souběžně spojit špičatými závorkami
706 (@code{<<...>>}). Obě části ještě dodatečně musejí být jedna od druhé
707 odděleny dvěma zpětnými lomítky (@code{\\}),
708 aby byly rozpoznány jako dva různé hlasy. Bez těchto oddělovačů by
709 byly zapsány jako jeden hlas. Tato technika je obzvláště vhodná, když
710 se jedná o noty, které jsou jako hudba především jednohlasé,
711 v nichž se ale příležitostně sem tam vyskytují místa, která jsou
714 Takto to vypadá, když jsou akordy rozděleny do dvou hlasů
715 a k průchodnému tónu je ještě přidán legatový oblouček:
717 @lilypond[quote,verbatim,ragged-right]
720 % Voice = "1" Voice = "2"
721 << { g'4 fis8( g) a4 g } \\ { d4 d d d } >>
725 Všimněte si, že nožičky druhého hlasu nyní ukazují dolů.
727 Tady je jiný jednoduchý příklad:
729 @lilypond[quote,verbatim,ragged-right,relative=2]
731 % Voice = "1" Voice = "2"
732 << { r4 g g4. a8 } \\ { d,2 d4 g } >>
733 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >>
734 << { a2. r4 } \\ { fis2. s4 } >>
737 Není nutné používat pro každý takt vlastní stavbu
738 @code{<< \\ >>}. U hudby s jen málo notami na takt to může
739 zdrojový soubor udělat čitelnějším, ale když se v jednom taktu vyskytuje
740 mnoho not, může být lepší napsat každý hlas odděleně,
743 @lilypond[quote,verbatim,ragged-right]
746 \relative { % Voice = "1"
751 \relative { % Voice = "2"
759 Tento příklad má jen dva hlasy, ale stejné stavby lze použít,
760 když máme tři nebo více hlasů, tak, že přidáme více oddělovačů,
763 Hlasová prostředí nesou názvy @code{"1"}, @code{"2"} atd. V každém
764 z těchto prostředí je nastaven svislý směr nožiček, legatových obloučků,
765 ligatur, značek pro dynamiku atd. tak, jak se patří.
767 @lilypond[quote,verbatim]
768 \new Staff \relative {
771 % Voice = "1" Voice = "2" Voice = "3"
772 << { g4 f e } \\ { r8 e4 d c8~ } >> |
773 << { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
777 Tyto hlasy jsou všechny odděleny od hlavního hlasu, který obsahuje noty
778 mimo stavbu @code{<< .. >>}. Pojmenujme ji
779 @emph{souběžná stavba}. Ligatury a legatové obloučky
780 mohou dohromady spojovat pouze noty uvnitř těchže hlasů a nemohou tedy
781 přesahovat do souběžné stavby a ze souběžné stavby. Obráceně platí,
782 že současné hlasy z vlastní souběžné stavby ve stejné notové osnově
783 jsou týmiž hlasy. Na všechny souběžné stavby se vztahují i jiné
784 s prostředím hlasu spojené vlastnosti. Zde je stejný příklad,
785 ale s různými barvami a hlavičkami not pro každý hlas.
786 Všimněte si, že změny v jednom hlasu se nevztahují na jiné hlasy,
787 ale nadále trvají v tomtéž hlase a jsou v něm přítomny ještě později.
788 Všimněte si také, že spojené noty mohou být rozděleny přes stejný hlas
789 do dvou staveb, jak je to ukázáno zde na modrém trojúhelníkovém hlase.
791 @lilypond[quote,verbatim]
792 \new Staff \relative {
821 @funindex \voiceOneStyle
822 @funindex \voiceTwoStyle
823 @funindex \voiceThreeStyle
824 @funindex \voiceFourStyle
825 @funindex \voiceNeutralStyle
827 Příkazy @code{\voiceXXXStyle} jsou tu především k tomu, aby se používaly
828 v vzdělávacích dokumentech, jako je tento.
829 Mění barvu notové hlavičky, nožičky a trámce, a dodatečně
830 podobu notové hlavičky, takže se hlasy dají snadno od sebe
831 rozlišit. První hlas je nastaven jako červený kosočtverec,
832 druhý hlas je nastaven jako modrý trojúhelník, třetí hlas je
833 nastaven jako zelený kruh s křížkem a čtvrtý hlas (který tu použit
834 není) má tmavěčervený kříž. @code{\voiceNeutralStyle} (zde také
835 není použit) změny vrací zpět na výchozí styl. Později bude
836 ukázáno, jak mohou být příkazy, jako je tento, vytvářeny samotným
837 uživatelem. Podívejte se také na @ref{Viditelnost a barva předmětů} a
838 @ref{Použití proměnných pro ladění}.
840 @cindex Vícehlasost a relativní notační režim
841 @cindex Relativní notační režim a vícehlasost
843 Vícehlasost nemění vztahy not uvnitř bloku
844 @code{\relative}. Každá nota je nadále počítána ve vztahu k
845 předchozí notě, nebo poměrně k první notě předchozího
846 akordu. Tak například zde je spočítáno
849 \relative c' @{ NoteA << < NoteB NoteC > \\ NoteD >> NoteE @}
853 @code{NoteB} se zřetelem na @code{NoteA} @*
854 @code{NoteC} se zřetelem na @code{NoteB}, ne @code{noteA}; @*
855 @code{NoteD} se zřetelem na @code{NoteB}, ne @code{NoteA} nebo
857 @code{NoteE} se zřetelem na @code{NoteD}, ne @code{NoteA}.
859 Jinou možností je umístit příkaz @code{\relative} na začátek
860 před každý hlas. To se nabízí, když jsou hlasy od sebe ve větší
861 vzdálenosti. Může to být, když jsou noty v hlasech
862 široce odděleny, přehlednější.
865 \relative c' @{ NoteA ... @}
867 \relative c'' @{ < NoteB NoteC > ... @}
869 \relative g' @{ NoteD ... @}
871 \relative c' @{ NoteE ... @}
874 Pojďme konečně rozebrat hlasy ve složitějším kuse hudby.
875 Zde jsou noty prvních dvou taktů Chopinových
876 @notation{Deux Nocturnes}, Op. 32. Tento příklad bude později použit
877 v této a další kapitole, aby na něm byly názorně ukázány různé techniky,
878 jak vytvářet noty. Proto si na tomto místě v kódu nevšímejte čehokoli,
879 co by vám přišlo záhadné, a soustřeďte se jen na noty
880 a hlasy. Složitější věci budou vysvětleny v pozdějších částech.
882 @c The following should appear as music without code
883 @lilypond[quote,ragged-right]
884 \new Staff \relative {
893 % Ignore these for now - they are explained in Ch 4
894 \once \override NoteColumn.force-hshift = #0
896 \once \override NoteColumn.force-hshift = #0.5
904 Směr nožičky se často používá k tomu, aby se ukázala souvislost
905 dvou souběžných melodií. Zde ukazují nožičky všech horních
906 not nahoru a nožičky všech dolních not dolů.
907 To je první známkou toho, že je potřeba více než jeden
910 Ale skutečná nezbytnost více hlasů nadejde teprve tehdy,
911 když současně zaznívají různé noty, které začínají ve stejnou dobu,
912 mají rozdílné doby trvání. Podívejte se na noty, jež začínají na
913 třetí době prvního taktu. As je tečkovaná čtvrťová nota,
914 F je čtvrťová nota a Des je půlová nota. Nemohou být
915 zapsány jako akord, protože všechny noty jednoho akordu
916 mají stejnou dobu trvání. Nemohou být ale zapsány ani jako jdoucí po sobě,
917 protože musí začínat v tutéž dobu. Tato část taktu
918 potřebuje tři hlasy, a běžně se zapisují tři hlasy
919 pro celý takt, jak je to vidět na příkladu níže;
920 kde jsou použity různé hlavičky not a barvy pro různé
921 hlasy. Ještě jednou: Zdrojový kód pro tento příklad bude později
922 vysvětlen znovu, proto si nevšímejte ničeho, čemu zde nemůžete
925 @c The following should appear as music without code
926 @c The three voice styles should be defined in -init
927 @lilypond[quote,ragged-right]
928 \new Staff \relative {
939 \\ % No Voice three (we want stems down)
942 % Ignore these for now - they are explained in Ch 4
943 \once \override NoteColumn.force-hshift = #0
945 \once \override NoteColumn.force-hshift = #0.5
953 Pokusme se tedy tyto noty zapsat od začátku. Jak je zde
954 vidět, je tu obsaženo několik potíží. Začneme, jak jsme
955 se to naučili, pomocí konstrukcí @code{<< \\ >>},
956 kterou zapíšeme tři hlasy prvního taktu:
958 @lilypond[quote,verbatim,ragged-right]
959 \new Staff \relative {
962 { c''2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des }
969 @cindex Nožička nahoru
970 @cindex Notová nožička, Směr
971 @cindex Směr notové nožičky
972 @cindex Hlasy a směr notové nožičky
973 @cindex Směr notové nožičky ve hlasech
975 Směr notové nožičky je přiřazen automaticky; hlasy s lichým
976 číslem nesou nožičky nahoru, sudé mají nožičky dolů. Nožičky
977 pro hlasy 1 a 2 jsou správně, ale nožičky třetího hlasu
978 by v tomto příkladu měly vlastně ukazovat dolů. Můžeme to opravit
979 jednoduše tak, že vypustíme třetí hlas, přeskočíme jej a noty
980 umístíme do čtvrtého hlasu. To se udělá jednoduše přidáním
983 @lilypond[quote,verbatim,ragged-right]
984 \new Staff \relative {
990 \\ % Omit Voice three
999 Vidíme, že se tím mění směr nožiček, ale ukazuje se jiný
1000 problém, na který se někdy při více hlasech narazí:
1001 Nožičky not jednoho hlasu se mohou střetávat s nožičkami jiného hlasu.
1002 LilyPond dovoluje notám různých hlasů, aby se nacházely ve
1003 stejné svislé poloze, za předpokladu že nožičky ukazují v opačných
1004 směrech, a třetí a čtvrtý hlas pak umísťuje tak, aby pokud možno
1005 k vzájemnému střetu nedocházelo. Obvykle to pracuje
1006 dobře, ale v tomto případě jsou noty nejnižšího hlasu
1007 zřetelně nedobře umístěny. LilyPond nabízí několik různých způsobů,
1008 jak vodorovnou polohu not přizpůsobit. Nejsme však ještě tak daleko,
1009 abychom tyto funkce mohli použít. Proto
1010 tento problém odložíme na později; viz vlastnost @code{force-hshift} v
1011 @ref{Oprava překrývajících se not}.
1015 Notace: @ruser{Více hlasů}.
1018 @node Přesně vyjádřené začátky hlasů
1019 @subsection Přesně vyjádřené začátky hlasů
1020 @translationof Explicitly instantiating voices
1024 @funindex \voiceThree
1025 @funindex \voiceFour
1027 @funindex \new Voice
1028 @cindex Vytvoření prostředí hlasu
1029 @cindex Prostředí hlasu, vytvoření
1031 Prostředí hlasů lze vytvářet i ručně uvnitř bloku @code{<< >>}
1032 pro vytvoření vícehlesé hudby. Pomocí příkazů @code{\voiceOne} až
1033 @code{\voiceFour} lze ke každému hlasu přidat odpovídající chování
1034 svislého posunu a požadované směry nožiček, legatové obloučky
1035 a jiné předměty. V delších notových zápisech je tento způsob čistší,
1036 protože dovoluje, aby byly hlasy odděleny a aby se jim daly
1039 Stavba @code{<< \\ >>}, kterou jsme použili v předchozím
1045 << @{ e'4 f g a @} \\ @{ c,4 d e f @} >>
1055 \new Voice = "1" @{ \voiceOne \relative @{ e'4 f g a @} @}
1056 \new Voice = "2" @{ \voiceTwo \relative @{ c'4 d e f @} @}
1060 Obojí výše by vytvořilo následující notový obraz:
1062 @c The following example should not display the code
1063 @lilypond[ragged-right,quote]
1065 \new Voice = "1" { \voiceOne \relative { e'4 f g a } }
1066 \new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
1070 @cindex Hlasy, sloučení více do jednoho
1071 @cindex Obnovení jednoho hlasu
1073 Příkazy @code{\voiceXXX} nastavuje směr nožiček, legata
1074 ligatury, artikulace, textové poznámky, tečkování tečkovaných not
1075 a prstoklady. @code{\voiceOne} a @code{\voiceThree} nechají tyto
1076 předměty ukazovat nahoru, @code{\voiceTwo} a @code{\voiceFour} je
1077 naproti tomu nechají ukazovat dolů. Tyto příkazy rovněž vytvářejí
1078 vodorovný posun pro každý hlas, když se vyžaduje vyvarování se
1079 střetům notových hlaviček. Příkaz @code{\oneVoice} nastavení vrací
1080 na obvyklou hodnotu pro jeden hlas.
1082 Podívejme se na některých jednoduchých příkladech, jaký přesně
1083 mají příkazy @code{\oneVoice}, @code{\voiceOne} a @code{voiceTwo}
1084 účinek na text, obloučky a označení dynamiky:
1086 @lilypond[quote,ragged-right,verbatim]
1088 % Default behavior or behavior after \oneVoice
1089 c'4 d8~ 8 e4( f | g4 a) b-> c |
1093 @lilypond[quote,ragged-right,verbatim]
1096 c'4 d8~ 8 e4( f | g4 a) b-> c |
1098 c,4 d8~ 8 e4( f | g4 a) b-> c |
1102 @lilypond[quote,ragged-right,verbatim]
1105 c'4 d8~ 8 e4( f | g4 a) b-> c |
1107 c,4 d8~ 8 e4( f | g4 a) b-> c |
1111 Nyní se podívejme na tři různé způsoby zápisu té samé pasáže
1112 vícehlasé hudby, z nichž každý má své výhody za jiných
1113 okolností. Použijeme k tomu příklad z předchozí části.
1115 Výraz, který se vyskytuje přímo uvnitř @code{<< >>}, náleží
1116 hlavnímu hlasu (ale všimněte si @strong{not} ve stavbě @code{<< \\ >>}).
1117 Toto je užitečné, když se objeví dodatečné hlasy, zatímco hlavní hlas pokračuje.
1118 Zde je lepší verze našeho příkladu z předchozí části. Hlavičky not ve
1119 tvaru červeného diamantu ukazují, že se hlavní hlas nachází v prostředí
1120 jednotlivého hlasu. Tím se může frázovací oblouček malovat nad ně.
1122 @lilypond[quote,ragged-right,verbatim]
1123 \new Staff \relative {
1125 % The following notes are monophonic
1127 % Start simultaneous section of three voices
1129 % Continue the main voice in parallel
1130 { g4 f e | d2 e) | }
1131 % Initiate second voice
1133 % Set stems, etc., down
1135 r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1137 % Initiate third voice
1139 % Set stems, etc, up
1147 @cindex Vnoření hudebních výrazů
1148 @cindex Verschachteln von gleichzeitigen Ausdrücken
1149 @cindex Výrazy, vnoření
1150 @cindex Hlasy, dočasné
1151 @cindex Hlasy, vnoření
1152 @cindex Vnoření hlasů
1153 @cindex Dočasné hlasy
1155 Hlouběji vnořené vícehlasé stavby jsou možné, a pokud se
1156 hlas objeví jen krátce, může to být přirozenější způsob
1159 @lilypond[quote,ragged-right,verbatim]
1160 \new Staff \relative {
1163 { g4 f e | d2 e2) | }
1168 { c8 b16 a b8 g~ 2 | }
1179 @cindex Noty držící místo
1180 @cindex Neviditelné noty
1183 Tento způsob krátkodobého vnoření nových hlasů je užitečný,
1184 když jsou vícehlasé jen malé části hudby. Ale když je vícehlasá celá
1185 osnova, je většinou jasnější použití více hlasů v celé osnově. Tady
1186 se dají místa, kde se hlas nevyskytuje, přeskočit pomocí neviditelných not,
1189 @lilypond[quote,ragged-right,verbatim]
1190 \new Staff \relative <<
1191 % Initiate first voice
1194 c'16^( d e f g4 f e | d2 e) |
1196 % Initiate second voice
1198 % Set stems, etc, down
1200 s4 r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1202 % Initiate third voice
1204 % Set stems, etc, up
1211 @subsubheading Notové sloupce
1213 @cindex Notové sloupce
1214 @cindex Notové střety
1215 @cindex Svislé umístění
1216 @cindex Příkazy shift
1217 @cindex Posunutí not
1221 @funindex \shiftOnnn
1227 Hustě zapisované noty v akordu, nebo noty vyskytující se ve stejnou
1228 dobu ale v různých hlasech, jsou uspořádány do dvou, někdy i do více,
1229 sloupců, aby se zabránilo překrytí hlaviček not. Označují se jako
1230 notové sloupce. Každý hlas má svůj vlastní sloupec, a příkaz pro posun
1231 závislý na hlase (ang. shift) se na notový sloupec použije, jestliže
1232 by jinak došlo ke střetu. To ukazuje příklad výše. Ve druhém taktu
1233 je C druhého hlasu posunuto doprava, ve vztahu k D v prvním hlasu, a
1234 v posledním akordu je C v třetím hlasu posunuto doprava, ve vztahu
1237 Příkazy @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} a
1238 @code{\shiftOff} určují stupeň, k němuž se mají noty a akordy
1239 hlasu posunout, když se nedá vyhnout střetu jinak. Ve výchozím
1240 nastavení se vnější hlasy nastavují (obyčejně jde o hlasy
1241 jedna a dva) tak, že mají stanoveno @code{\shiftOff}, zatímco pro
1242 vnitřní hlasy (tři a čtyři) je stanoveno @code{\shiftOn}.
1243 Když se použije posunutí, posunou se hlasy jedna a tři doprava
1244 a hlasy dva a čtyři doleva.
1246 @code{\shiftOnn} a @code{\shiftOnnn} stanovují další úrovně posunu,
1247 které mohou být stanoveny krátkodobě kvůli vyřešení střetů
1248 ve složitých situacích. Podívejte se také na @ref{Příklady ze života}.
1250 Notový sloupec může obsahovat jen jednu notu (nebo jeden akord) hlasu
1251 s nožičkami nahoru a jednu notu (nebo jeden akord) hlasu
1252 s nožičkami dolů. Pokud jsou na témže místě umístěny noty dvou hlasů,
1253 které mají své nožičky v tomtéž směru, a u obou hlasů není žádný
1254 posun, nebo je stanoven stejný posun, je vydáno hlášení o chybě
1255 @qq{Příliš mnoho střetávajících se notových sloupců}.
1259 Notace: @ruser{Více hlasů}.
1263 @subsection Hlasy a zpěvy
1264 @translationof Voices and vocals
1266 Notový zápis vokální hudby má své vlastní obtíže, je totiž
1267 potřeba spojení dvou výrazů: not a textu.
1268 Pozor: Textu písně se v angličtině říká @qq{lyrics}.
1271 @funindex \new Lyrics
1274 @cindex Prostředí text písně, vytvoření
1275 @cindex Text písně, spojení s notami
1277 Již jste viděli příkaz @code{\addlyrics@{@}}, s nímž lze
1278 dobře vytvářet jednoduché osnovy. Tento způsobem je ale docela
1279 omezený. U složitějších not se musí text písně začít novým prostředím
1280 @code{Lyrics} (pomocí příkazu @code{\new Lyrics}) a přesně
1281 spojit text s notami určitého hlasu příkazem @code{\lyricsto@{@}} tak, že
1282 se použije označení přiřazené hlasu.
1284 @lilypond[quote,verbatim]
1286 \new Voice = "one" {
1290 c''4 b8. a16 | g4. f8 | e4 d | c2 |
1293 \new Lyrics \lyricsto "one" {
1294 No more let | sins and | sor -- rows | grow. |
1299 Všimněte si, že text k notám může být spojen jedině s prostředím
1300 @code{Voice}, @emph{ne} s prostředím @code{Staff}. V tomto
1301 případě je také nutné přesně vytvořit prostředí osnovy @code{Staff}
1302 a hlasu @code{Voice}, aby všechno fungovalo.
1304 @cindex Text písně a trámce
1305 @cindex Text a trámce
1306 @cindex Trámce a text
1307 @funindex \autoBeamOff
1309 Automatické trámce, jež LilyPond používá ve výchozím nastavení, pracují
1310 dobře pro instrumentální hudbu, ale ne tak dobře v případě hudby s textem,
1311 kde se trámce nepožadují buď vůbec, nebo se jich užívá na ukázání
1312 melismat v textu písně. V příkladu výše se používá příkaz
1313 @code{\autoBeamOff} k vypnutí automatických trámců (ang. beam).
1315 @funindex \new ChoirStaff
1316 @funindex \lyricmode
1317 @funindex ChoirStaff
1319 @cindex Vokální notový zápis, stavba
1320 @cindex Sborový notový zápis, stavba
1322 Chceme použít dřívější příklad @notation{Judas Maccabæus}
1323 na znázornění těchto průžných technik pro texty písní. Příklad
1324 byl předělán tak, aby se teď dosadily proměnné, aby byl oddělen
1325 text a noty od stavby notového zápisu. Byla dodatečně přidána
1326 závorka sborového notového zápisu. Text písně se musí zadat s
1327 @code{\lyricmode}, aby byl vykládán jako text a
1330 @lilypond[quote,verbatim]
1331 global = { \key f \major \time 6/8 \partial 8 }
1333 SopOneMusic = \relative {
1334 c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
1336 SopOneLyrics = \lyricmode {
1337 Let | flee -- cy flocks the | hills a -- dorn, __
1339 SopTwoMusic = \relative {
1340 r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1342 SopTwoLyrics = \lyricmode {
1343 Let | flee -- cy flocks the | hills a -- dorn,
1349 \new Voice = "SopOne" {
1353 \new Lyrics \lyricsto "SopOne" {
1358 \new Voice = "SopTwo" {
1362 \new Lyrics \lyricsto "SopTwo" {
1370 Toto je základní stavba pro všechny notové zápisy sboru. Je
1371 možné přidat více velkých osnov, když jsou potřeba. Ke každé
1372 velké osnově je možné přidat více hlasů, je možné přidat více
1373 slok k textu, a konečně lze proměnné rychle přesunout do
1374 vlastního souboru, když by se staly příliš dlouhými.
1376 @cindex Chorálová notace
1377 @cindex Notace hymnu
1378 @cindex Notový zápis SATB
1381 @cindex Choral s více slokami
1383 Zde příklad prvního řádku chorálu se čtyřmi slokami
1384 pro smíšený sbor. V tomto případě je text pro všechny
1385 čtyři hlasy stejný. Všimněte si, jak se dosazují proměnné,
1386 aby od sebe oddělily obsah (noty a text) a formu (notový
1387 zápis). Byla dosazena proměnné, aby přijala prvky,
1388 které se objevují na obou, osnovách, totiž druh taktu a
1389 tóninu. Taková proměnná se často označuje @qq{global}.
1391 @lilypond[quote,verbatim]
1392 keyTime = { \key c \major \time 4/4 \partial 4 }
1394 SopMusic = \relative { c'4 | e4. e8 g4 g | a4 a g }
1395 AltoMusic = \relative { c'4 | c4. c8 e4 e | f4 f e }
1396 TenorMusic = \relative { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1397 BassMusic = \relative { c4 | c4. c8 c4 c | f8 g a b c4 }
1400 \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1402 \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1404 \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1406 \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1412 \new Voice = "Sop" { \voiceOne \keyTime \SopMusic }
1413 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1414 \new Lyrics \lyricsto "Sop" { \VerseOne }
1415 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1416 \new Lyrics \lyricsto "Sop" { \VerseThree }
1417 \new Lyrics \lyricsto "Sop" { \VerseFour }
1421 \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1422 \new Voice = "Bass" { \voiceTwo \BassMusic }
1430 Notace: @ruser{Notový zápis zpěvu}.
1433 @node Prostředí a rytci
1434 @section Prostředí a rytci
1435 @translationof Contexts and engravers
1437 Prostředí a rytci (@qq{Stempel}) sind in den vorherigen
1438 Abschnitten schon aufgetaucht; hier wollen wir uns ihnen
1439 nun etwas ausführlicher widmen, denn sie sind sehr
1440 wichtig, um Feineinstellungen in der LilyPond-Notenausgabe
1441 vornehmen zu können.
1444 * Vysvětlení prostředí::
1445 * Vytvoření prostředí::
1446 * Vysvětlení rytců::
1447 * Změna vlastností prostředí::
1448 * Přidání a odstranění rytců::
1451 @node Vysvětlení prostředí
1452 @subsection Vysvětlení prostředí
1453 @translationof Contexts explained
1455 @cindex Kontexte erklärt
1457 Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe
1459 die im Quellcode gar nicht explizit vorkommen. Vergleichen Sie
1460 etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
1462 @lilypond[quote,verbatim]
1463 \relative { cis''4 cis2. | a4 a2. | }
1466 Der Quellcode ist sehr kurz und knapp, während in der
1467 Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und
1468 eine Taktart hinzugefügt wurden. Während LilyPond
1469 den Eingabetext @emph{interpretiert}, wird die
1470 musikalische Information von rechts nach links gelesen,
1471 in etwa, wie man eine Partitur von links nach
1472 rechts liest. Während das Programm den Code liest,
1473 merkt es sich, wo sich Taktgrenzen befinden und
1474 für welche Tonhöhen Versetzungszeichen gesetzt werden
1475 müssen. Diese Information muss auf mehreren Ebenen
1476 gehandhabt werden, denn Versetzungszeichen etwa
1477 beziehen sich nur auf ein System, Taktlinien dagegen
1478 üblicherweise auf die gesamte Partitur.
1480 Innerhalb von LilyPond sind diese Regeln und
1481 Informationshappen in @emph{Kontexten} (engl.
1482 contexts) gruppiert. Der @code{Voice} (Stimmen)-Kontext
1483 wurde schon vorgestellt. Daneben
1484 gibt es noch die @code{Staff} (Notensystem-) und
1485 @code{Score} (Partitur)-Kontexte. Kontexte sind
1486 hierarchisch geschichtet um die hierarchische
1487 Struktur einer Partitur zu spiegeln. Ein @code{Staff}-Kontext
1488 kann zum Beispiel viele @code{Voice}-Kontexte beinhalten,
1489 und ein @code{Score}-Kontext kann viele
1490 @code{Staff}-Kontexte beinhalten.
1493 @sourceimage{context-example,5cm,,}
1496 Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln
1497 zu erzwingen, bestimmte Notationsobjekte zu erstellen und
1498 verbundene Elemente zu ordnen. Der @code{Voice}-Kontext
1499 zum Beispiel kann eine Vorzeichenregel einführen und der
1500 @code{Staff}-Kontext hält diese Regel dann aufrecht, um
1501 einzuordnen, ob ein Versetzungszeichen gesetzt werden
1504 Ein anderes Beispiel: die Synchronisation der Taktlinien ist
1505 standardmäßig im @code{Score}-Kontext verankert. Manchmal sollen
1506 die Systeme einer Partitur aber unterschiedliche Taktarten
1507 enthalten, etwa in einer polymetrischen Partitur mit
1508 4/4- und 3/4-Takt. In diesem Fall müssen also die Standardeinstellungen
1509 der @code{Score}- und @code{Staff}-Kontexte verändert werden.
1511 In einfachen Partituren werden die Kontexte implizit erstellt,
1512 und es kann sein, dass Sie sich dessen gar nicht bewusst sind.
1513 Für etwas größere Projekte, etwa mit vielen Systemen, müssen
1514 die Kontexte aber explizit erstellt werden, um sicher zu gehen,
1515 dass man auch wirklich die erwünschte Zahl an Systemen in der
1516 richtigen Reihenfolge erhält. Wenn Stücke mit spezialisierter
1517 Notation gesetzt werden sollen, ist es üblich, die existierenden
1518 Kontexte zu verändern oder gar gänzlich neue zu definieren.
1520 Zusätzlich zu den @code{Score,} @code{Staff} und
1521 @code{Voice}-Kontexten gibt es noch Kontexte, die zwischen
1522 der Partitur- und Systemebene liegen und Gruppen von Systemen
1523 kontrollieren. Das sind beispielsweise der
1524 @code{PianoStaff} und @code{ChoirStaff}-Kontext. Es gibt zusätzlich
1525 alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte
1526 für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw.
1528 Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren
1530 Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben
1531 begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich
1533 @code{GregorianTranscriptionStaff}.
1537 Notationreferenz: @ruser{Vysvětlení prostředí}.
1540 @node Vytvoření prostředí
1541 @subsection Vytvoření prostředí
1542 @translationof Creating contexts
1545 @cindex Neue Kontexte
1546 @cindex Erstellen von Kontexten
1547 @cindex Kontexte, Erstellen
1549 In einer Eingabedatei enthält eine @code{Score}-Umgebung (einen
1551 dem Befehl @code{\score} eingeleitet wird, nur einen einzigen
1552 musikalischen Ausdruck und mit ihm verknüpft eine Ausgabedefinition
1553 (entweder eine @code{\layout}- oder eine @code{\midi}-Umgebung).
1554 Üblicherweise wird der @code{Score}-Kontext automatisch von
1555 LilyPond erstellt, wenn der musikalische Ausdruck interpretiert
1558 Wenn nur ein System vorhanden ist, kann man es ruhig
1559 LilyPond überlassen, auch die @code{Voice}- und @code{Staff}-Kontexte
1560 zu erstellen, aber für komplexere Partituren ist es notwendig,
1561 sie mit einem Befehl zu erstellen. Der einfachste Befehl
1562 hierzu ist @code{\new}. Er wird dem musikalischen Ausdruck
1563 vorangestellt, etwa so:
1566 \new @var{Typ} @var{musikalischer Ausdruck}
1570 wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
1571 @code{Voice}) ist. Dieser Befehl erstellt einen neuen Kontext und
1572 beginnt, den @var{muskalischen Ausdruck} innerhalb dieses
1573 Kontexts auszuwerten.
1575 @warning{Der @bs{}@code{new Score}-Befehl sollte nicht benutzt werden,
1576 weil der Partitur-(Score)-Kontext der obersten Ebene
1577 normalerweise automatisch erstellt wird, wenn der musikalische Ausdruck
1578 innerhalb der @code{\score}-Umgebung interpretiert wird. Standard-Werte
1579 von Kontexteigenschaften, die für einen bestimmten @code{Score} gelten
1580 sollen, können innerhalb der @bs{}@code{layout}-Umgebung definiert werden.
1581 Siehe @ref{Změna vlastností prostředí,,změnu vlastností prostředí}.}
1583 Wir haben schon viele explizite Beispiel gesehen, in denen
1584 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
1585 um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt
1586 werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:
1588 @lilypond[quote,verbatim,ragged-right]
1589 \score { % start of single compound music expression
1590 << % start of simultaneous staves section
1592 \new Staff { % create RH staff
1595 \new Voice { % create voice for RH notes
1596 \relative { % start of RH notes
1602 \new Staff << % create LH staff; needs two simultaneous voices
1605 \new Voice { % create LH voice one
1607 \relative { % start of LH voice one notes
1608 g8 <bes d> ees, <g c>
1609 g8 <bes d> ees, <g c>
1610 } % end of LH voice one notes
1611 } % end of LH voice one
1612 \new Voice { % create LH voice two
1614 \relative { % start of LH voice two notes
1617 } % end of LH voice two notes
1618 } % end of LH voice two
1619 >> % end of LH staff
1620 >> % end of simultaneous staves section
1621 } % end of single compound music expression
1624 (Beachten Sie, dass wir hier alle Zeilen, die eine neue
1625 Umgebung entweder mit einer geschweiften Klammer (@code{@{})
1626 oder doppelten spitzen Klammern (@code{<<}) öffnen, mit
1627 jeweils zwei Leerzeichen, und die entsprechenden
1628 schließenden Klammern mit der gleichen Anzahl Leerzeichen
1629 eingerückt werden. Dies ist nicht erforderlich, es wird aber
1630 zu einem großen Teil die nicht passenden Klammerpaar-Fehler
1631 eliminieren und ist darum sehr empfohlen. Es macht es
1632 möglich, die Struktur einer Partitur auf einen Blick zu
1633 verstehen, und alle nicht passenden Klammern
1634 erschließen sich schnell. Beachten Sie auch, dass das
1635 untere Notensystem mit eckigen Klammern erstellt wird,
1636 denn innerhalb dieses Systems brauchen wir zwei Stimmen,
1637 um die Noten darzustellen. Das obere System braucht
1638 nur einen einzigen musikalischen Ausdruck und ist deshalb
1639 von geschweiften Klammern umschlossen.)
1641 @cindex Kontexte, Benennung
1642 @cindex Benennung von Kontexten
1644 Der @code{\new}-Befehl kann einem Kontext auch einen
1645 Namen zur Identifikation geben, um ihn von anderen Kontexten des
1646 selben Typs zu unterscheiden:
1649 \new @var{Typ} = @var{Name} @var{musikalischer Ausdruck}
1652 Beachten Sie den Unterschied zwischen der Bezeichnung des
1653 Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem
1654 Namen, der aus beliebigen Buchstaben bestehen kann
1655 und vom Benutzer frei erfunden werden kann. Zahlen und
1656 Leerzeichen können auch benutzt werden, in dem Fall
1657 muss der Name aber von doppelten Anführungszeichen
1658 umgeben werden, also etwa
1659 @code{\new Staff = "Mein System 1" @var{musikalischer Ausdruck}}.
1661 benutzt, um später auf genau diesen spezifischen Kontext
1662 zu verweisen. Dieses Vorgehen wurde schon in dem Abschnitt
1663 zu Gesangstexten angewandt, siehe @ref{Hlasy a zpěvy,,hlasy a zpěvy}.
1667 Notationsreferenz: @ruser{Vytvoření prostředí}.
1670 @node Vysvětlení rytců
1671 @subsection Vysvětlení rytců
1672 @translationof Engravers explained
1675 @cindex Stempel (Engraver)
1677 Jedes Zeichen des fertigen Notensatzes von LilyPond wird
1678 von einem @code{Engraver} (Stempel) produziert. Es gibt
1679 also einen Engraver, der die Systeme erstellt, einen, der die
1680 Notenköpfe ausgibt, einen für die Hälse, einen für die
1681 Balken usw. Insgesamt gibt es über 120 Engraver! Zum
1682 Glück braucht man für die meisten Partituren nur ein
1683 paar Engraver, und für einfache Partituren muss man eigentlich
1684 überhaupt nichts über sie wissen.
1686 Engraver leben und wirken aus den Kontexten heraus. Engraver
1687 wie der @code{Metronome_mark_engraver}, dessen Aktion
1688 und Ausgabe sich auf die gesamte Partitur bezieht, wirken
1689 in der obersten Kontextebene -- dem @code{Score}-Kontext.
1691 Der @code{Clef_engraver} (Schlüssel-Stempel) und der
1692 @code{Key_engraver} (Vorzeichen-Stempel) finden sich in
1693 jedem @code{Staff}-Kontext, denn unterschiedliche Systeme
1694 könnten unterschiedliche Tonarten und Notenschlüssel
1697 Der @code{Note_heads_engraver} (Notenkopf-Stempel) und der
1698 @code{Stem_engraver} (Hals-Stempel) befinden sich in jedem
1699 @code{Voice}-Kontext, der untersten Kontextebene.
1701 Jeder Engraver bearbeitet die bestimmten Objekte, die mit
1702 seiner Funktion assoziiert sind, und verwaltet die Eigenschaften
1703 dieser Funktion. Diese Eigenschaften, wie etwa die Eigenschaften,
1704 die mit Kontexten assoziiert sind, können verändert werden,
1705 um die Wirkungsweise des Engravers oder das Erscheinungsbild
1706 der von ihm produzierten Elemente in der Partitur zu ändern.
1708 Alle Engraver haben zusammengesetzte Bezeichnung, die aus
1709 den (englischen) Wörtern ihrer Funktionsweise bestehen. Nur
1710 das erste Wort hat einen Großbuchstaben, und die restlichen
1711 Wörter werden mit einem Unterstrich angefügt. Ein
1712 @code{Staff_symbol_engraver} verantwortet also die Erstellung
1713 der Notenlinien, ein @code{Clef_engraver} entscheidet über die
1714 Art der Notenschlüssel und setzt die entsprechenden Symbole; damit
1715 wird gleichzeitig die Referenztonhöhe auf dem Notensystem festgelegt.
1717 Hier die meistgebräuchlichen Engraver mit ihrer Funktion.
1718 Sie werden sehen, dass es mit etwas Englischkenntnissen
1719 einfach ist, die Funktion eines Engravers von seiner Bezeichnung
1722 @multitable @columnfractions .3 .7
1725 @item Accidental_engraver
1726 @tab Erstellt Versetzungszeichen, vorgeschlagene und Warnversetzungszeichen.
1728 @tab Erstellt Balken.
1730 @tab Erstellt Notenschlüssel.
1731 @item Completion_heads_engraver
1732 @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen.
1733 @item Dynamic_engraver
1734 @tab Erstellt Dynamik-Klammern und Dynamik-Texte.
1735 @item Forbid_line_break_engraver
1736 @tab Verbietet Zeilenumbrüche, solange ein musikalisches Element aktiv ist.
1738 @tab Erstellt die Vorzeichen.
1739 @item Metronome_mark_engraver
1740 @tab Erstellt Metronom-Bezeichnungen.
1741 @item Note_heads_engraver
1742 @tab Erstellt Notenköpfe.
1744 @tab Erstellt Pausen.
1745 @item Staff_symbol_engraver
1746 @tab Ersetllt die (standardmäßig) fünf Notenlinien des Systems.
1748 @tab Erstellt die Notenhälse und Tremolos mit einem Hals.
1749 @item Time_signature_engraver
1750 @tab Erstellt die Taktartbezeichnung.
1755 Es soll später gezeigt werden, wie die LilyPond-Ausgabe
1756 verändert werden kann, indem die Wirkungsweise der
1757 Engraver beeinflusst wird.
1761 Referenz der Interna: @rinternals{Engravers and Performers}.
1764 @node Změna vlastností prostředí
1765 @subsection Změna vlastností prostředí
1766 @translationof Modifying context properties
1768 @cindex Kontext-Eigenschaften, Verändern
1769 @cindex Eigenschaften von Kontexten
1770 @cindex Verändern von Kontext-Eigenschaften
1776 Kontexte sind dafür verantwortlich, die Werte bestimmter
1777 Kontext-@emph{Eigenschaften} zu speichern. Viele davon
1778 können verändert werden, um die Interpretation der
1779 Eingabe zu beeinflussen und die Ausgabe zu verändern.
1780 Kontexte werden mit dem @code{\set}-Befehl geändert.
1784 \set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert}
1788 verwendet, wobei @var{KontextBezeichnung} üblicherweise
1790 @code{Staff} oder @code{Voice} ist. Der erste Teil kann auch
1791 ausgelassen werden; in diesem Fall wird der aktuelle
1792 Kontext (üblicherweise @code{Voice}) eingesetzt.
1794 Die Bezeichnung von Kontexten-Eigenschaften besteht
1795 aus zwei Wörtern, die ohne Unterstrich oder Bindestrich
1796 verbunden sind. Alle außer dem ersten werden am Anfang
1797 groß geschrieben. Hier einige Beispiele der gebräuchlichsten
1798 Kontext-Eigenschaften. Es gibt sehr viel mehr.
1800 @c attempt to force this onto a new page
1802 @multitable @columnfractions .25 .15 .45 .15
1803 @headitem eigenschaftsBezeichnung
1808 @tab boolescher Wert
1809 @tab Wenn wahr, werden zusätzliche Auflösungszeichen vor Versetzungszeichen gesetzt.
1810 @tab @code{#t}, @code{#f}
1811 @item currentBarNumber
1813 @tab Setzt die aktuelle Taktnummer.
1816 @tab boolescher Wert
1817 @tab Wenn wahr, werden Legatobögen über und unter die Noten gesetzt.
1818 @tab @code{#t}, @code{#f}
1819 @item instrumentName
1821 @tab Setzt die Instrumentenbezeichnung am Anfang eines Systems.
1822 @tab @code{"Cello I"}
1825 @tab Vergrößert oder verkleinert die Schriftgröße.
1829 @tab Setzt den Text zu Beginn einer Strophe.
1834 Ein boolescher Wert ist entweder wahr (@code{#t})
1835 oder falsch (@code{#f}),
1836 ein Integer eine positive ganze Zahl, ein Real (reelle Zahl) eine positive
1837 oder negative Dezimalzahl, und Text wird in doppelte
1838 Anführungszeichen (Shift+2) eingeschlossen. Beachten Sie
1839 das Vorkommen des Rautenzeichens
1840 (@code{#}) an unterschiedlichen Stellen: als Teil eines
1841 booleschen Wertes vor dem @code{t} oder @code{f}, aber
1842 auch vor einem @emph{Wert} in der
1843 @code{\set}-Befehlskette. Wenn ein boolescher Wert
1844 eingegeben werden soll, braucht man also zwei
1845 Rautenzeichen, z. B. @code{##t}.
1847 @cindex Eigenschaften in Kontexten
1848 @cindex Veränderung von Eigenschaften in Kontexten
1850 Bevor eine Eigenschaft geändert werden kann, muss man wissen,
1851 in welchem Kontext sie sich befindet. Manchmal versteht das
1852 sich von selbst, aber in einigen Fällen kann es zunächst
1853 unverständlich erscheinen. Wenn der falsche Kontext angegeben
1854 wird, wird keine Fehlermeldung produziert, aber die
1855 Veränderung wird einfach nicht ausgeführt.
1856 @code{instrumentName} befindet sich offensichtlich innerhalb
1857 von einem @code{Staff}-Kontext, denn das Notensystem soll
1858 benannt werden. In dem folgenden Beispiel erhält das erste
1859 System korrekt die Instrumentenbezeichnung, das zweite aber
1860 nicht, weil der Kontext ausgelassen wurde.
1862 @lilypond[quote,verbatim,ragged-right]
1864 \new Staff \relative {
1865 \set Staff.instrumentName = #"Soprano"
1868 \new Staff \relative {
1869 \set instrumentName = #"Alto" % Wrong!
1875 Denken Sie daran, dass der Standardkontext @code{Voice} ist; in dem
1876 zweiten @code{\set}-Befehl wird also die Eigenschaft @code{instrumentName}
1877 im @code{Voice}-Kontext auf @qq{Alto}, gesetzt, aber weil LilyPond diese
1878 Eigenschaft nicht im @code{Voice}-Kontext vermutet, passiert einfach
1879 gar nichts. Das ist kein Fehler, und darum wird auch keine Fehlermeldung
1882 Ebenso gibt es keine Fehlermeldung, wenn die Kontext-Bezeichnung
1883 falsch geschrieben wird und die Änderung also nicht ausgeführt werden
1884 kann. Tatsächlich kann eine beliebige (ausgedachte) Kontextbezeichnung
1885 mit dem @code{\set}-Befehl eingesetzt werden, genauso wie die, die
1886 wirklich existieren. Aber wenn LilyPond diese Bezeichnung nicht
1887 zuordnen kann, bewirkt der Befehl einfach gar nichts. Manche Editoren,
1888 die Unterstützung für LilyPond-Befehle mitbringen, markieren existierende
1889 Kontextbezeichnungen mit einem Punkt, wenn man mit der Maus darüber
1890 fährt (wie etwa JEdit mit dem LilyPondTool), oder markieren
1891 unbekannte Bezeichnungen anders (wie ConTEXT). Wenn Sie keinen
1892 Editor mit LilyPond-Unterstützung einsetzen, wird empfohlen, die
1893 Bezeichnungen in der Interna-Referenz zu überprüfen: siehe
1894 @rinternals{Tunable context properties}, oder
1895 @rinternals{Contexts}.
1897 Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie
1898 in einem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften
1899 können in mehr als einem Kontext benutzt werden. Als Beispiel mag die
1900 @code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen
1901 setzt. Die Standardeinstellung ist ##t (wahr) in allen Systemen.
1902 Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch)
1903 gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus. Wird
1904 sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das
1905 auf alle darin enthaltenen Systeme aus.
1907 Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System
1910 @lilypond[quote,verbatim,ragged-right]
1912 \new Staff \relative {
1915 \new Staff \relative {
1916 \set Staff.extraNatural = ##f
1923 während das dazu dient, sie in allen Systemen auszuschalten:
1925 @lilypond[quote,verbatim,ragged-right]
1927 \new Staff \relative {
1930 \new Staff \relative {
1931 \set Score.extraNatural = ##f
1937 Ein anderes Beispiel ist die Eigenschaft @code{clefTransposition}:
1938 wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort
1939 der Wert der Oktavierung in allen aktuellen Systemen und wird
1940 auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt.
1942 Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft
1943 effektiv wieder von dem Kontext: in den meisten Fällen wird der
1944 Kontext auf ihre Standardeinstellungen zurückgesetzt.
1945 Normalerweise wird aber @code{\unset} nicht benötigt,
1946 denn ein neues @code{\set} erledigt alles, was man braucht.
1948 Die @code{\set}- und @code{\unset}-Befehle könne überall im
1949 Eingabequelltext erscheinen und werden aktiv von dem Moment, an
1950 dem sie auftreten bis zum Ende der Partitur oder bis die Eigenschaft
1951 mit @code{\set} oder @code{\unset} neu gesetzt wird. Versuchen
1952 wir als Beispiel, die Schriftgröße mehrmals zu ändern, was sich unter anderem
1953 auf die Notenköpfe auswirkt. Die Änderung bezieht sich immer auf den Standard,
1954 nicht vom letzten gesetzten Wert.
1956 @lilypond[quote,verbatim,ragged-right]
1959 % make note heads smaller
1962 % make note heads larger
1963 \set fontSize = #2.5
1965 % return to default size
1971 Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
1972 Eigenschaften ändern lassen. Beachten Sie, dass Integer und
1973 Zahlen immer mit einem Rautenzeichen beginnen, während
1974 die Werte wahr und falsch (mit @code{##t} und @code{##f}
1975 notiert) immer mit zwei Rauten beginnen. Eine Eigenschaft, die
1976 aus Text besteht, muss in doppelte Anführungsstriche gesetzt werden,
1977 auch wenn wir später sehen werden, dass Text auf eine sehr viel
1978 allgemeinere und mächtigere Art mit dem @code{\markup}-Befehl
1979 eingegeben werden kann.
1981 @subsubheading Kontexteigenschaften mit @code{\with} setzen
1984 @cindex Kontexteigenschaft, setzen mit \with
1986 Die Standardwerte von Kontexteigenschaften können zu dem Zeitpunkt
1987 definiert werden, an welchem der Kontext erstellt wird. Manchmal
1988 ist das eine saubere Weise, eine Eigenschaft zu bestimmen, die für
1989 die gesamte Partitur erhalten bleichen soll. Wenn ein Kontext mit
1990 einem @code{\new}-Befehl erstellt wird, können in einer
1991 direkt folgenden @code{\with @{ .. @}}-Umgebung die Eigenschaften
1992 bestimmt werden. Wenn also die zusätzlichen
1993 Auflösungszeichen für eine ganze Partitur gelten sollen, könnte
1997 \new Staff \with @{ extraNatural = ##f @}
2003 @lilypond[quote,verbatim,ragged-right]
2009 \new Staff \with { extraNatural = ##f } {
2017 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
2018 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
2019 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden,
2020 wie sie vorher in der @code{\with}-Umgebung definiert wurden.
2022 @cindex Schriftgröße, Standardeinstellung
2023 @cindex fontSize (Schriftgröße), Standardeinstellung
2025 Wenn also die @code{fontSize}-Eigenschaft in einer @code{\with}-Umgebung
2026 definiert wird, wird der Standardwert für die Schriftgröße
2027 festgelegt. Wenn dieser Wert später mit @code{\set} verändert
2028 wird, kann dieser neue Standardwert mit dem Befehl
2029 @code{\unset fontSize} wieder erreicht werden.
2031 @subsubheading Kontexteigenschaften mit @code{\context} setzen
2033 @cindex Kontexteigenschaften, mit \context setzen
2034 @cindex Eigenschaften von Kontexten, mit \context setzen
2037 Die Werte von Kontext-Eigenschaften können in @emph{allen} Kontexten
2038 eines bestimmten Typs (etwa alle @code{Staff}-Kontexte)
2039 gleichzeitig mit einem Befehl gesetzt werden. Der Kontext wird
2040 spezifiziert, indem seine Bezeichnung benutzt wird, also etwa
2041 @code{Staff}, mit einem Backslash davor: @code{\Staff}. Der Befehl
2042 für die Eigenschaft ist der gleiche, wie er auch in der
2043 @code{\with}-Konstruktion benutzt wird, wie oben gezeigt. Er wird in
2044 eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
2045 von einer @code{\layout}-Umgebung steht. Jede @code{\context}-Umgebung
2046 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
2047 aktuellen Partitur befinden (d. h. innerhalb einer @code{\score}-
2048 oder @code{\book}-Umgebung). Hier ist ein Beispiel, wie man diese
2051 @lilypond[verbatim,quote]
2067 Wenn die Veränderung der Eigenschaft sich auf alle Systeme einer
2068 @code{score}-Umgebung beziehen soll:
2070 @lilypond[quote,verbatim]
2086 \Score extraNatural = ##f
2093 Kontext-Eigenschaften, die auf diese Weise gesetzt werden, können für
2094 bestimmten Kontexte überschrieben werden, indem die
2095 @code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
2096 innerhalb der aktuellen Noten.
2101 @ruser{Die Standardeinstellungen von Kontexten ändern},
2102 @ruser{Der set-Befehl}.
2104 Referenz der Interna:
2105 @rinternals{Contexts},
2106 @rinternals{Tunable context properties}.
2109 @node Přidání a odstranění rytců
2110 @subsection Přidání a odstranění rytců
2111 @translationof Adding and removing engravers
2113 @cindex Engraver, Hinzufügen von
2114 @cindex Engraver, Entfernen von
2115 @cindex Hinzufügen von Engravern
2116 @cindex Entfernen von Engravern
2123 Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern
2124 (Stempeln) beinhaltet, von denen ein jeder einen bestimmten
2125 Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien,
2126 Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus
2127 einem Kontext entfernt wird, kann er seine Objekte nicht
2128 länger produzieren. Das ist eine eher grobe Methode, die
2129 Notenausgabe zu beeinflussen, aber es kann von großem
2133 @subsubheading Einen einzelnen Kontext verändern
2135 Um einen Engraver von einem einzelnen Kontext zu entfernen,
2136 wir der @code{\with}-Befehl eingesetzt, direkt hinter
2137 den Befehl zur Kontext-Erstellung geschrieben, wie
2138 in dem vorigen Abschnitt gezeigt.
2140 Als ein Beispiel wollen wir das Beispiel aus dem letzten
2141 Abschnitt produzieren, aber die Notenlinien entfernen. Erinnern
2142 Sie sich, dass die Notenlinien vom @code{Staff_symbol_engraver}
2145 @lilypond[quote,verbatim,ragged-right]
2147 \remove "Staff_symbol_engraver"
2151 \set fontSize = #-4 % make note heads smaller
2153 \set fontSize = #2.5 % make note heads larger
2155 \unset fontSize % return to default size
2160 @cindex Ambitus-Engraver
2162 Engraver können auch zu einem bestimmten
2163 Kontext hinzugefügt werden. Dies geschieht
2166 @code{\consists @var{Engraver_bezeichnung}}
2169 welcher auch wieder innerhalb der @code{\with}-Umgebung
2170 gesetzt wird. Einige Chorpartituren zeigen einen
2171 Ambitus direkt zu Beginn der ersten Notenzeile, um
2172 den Stimmumfang des Stückes anzuzeigen, siehe auch
2173 @rglos{ambitus}. Der Ambitus wird vom
2174 @code{Ambitus_engraver} erstellt, der normalerweise
2175 in keinem Kontext enthalten ist. Wenn wir
2176 ihn zum @code{Voice}-Kontext hinzufügen, errechnet
2177 er automatisch den Stimmumfang für diese einzelne Stimme
2180 @lilypond[quote,verbatim,ragged-right]
2183 \consists "Ambitus_engraver"
2200 wenn wir den Ambitus-Engraver allerdings zum
2201 @code{Staff}-Kontext hinzufügen, wird der Stimmumfang aller
2202 Stimmen in diesem Notensystem errechnet:
2204 @lilypond[quote,verbatim,ragged-right]
2206 \consists "Ambitus_engraver"
2225 @subsubheading Alle Kontexte des gleichen Typs verändern
2229 Die vorigen Beispiele zeigen, wie man Engraver in einem
2230 bestimmten Kontext hinzufügen oder entfernen kann. Es ist
2231 auch möglich, Engraver in jedem Kontext eines bestimmten
2232 Typs hinzuzufügen oder zu entfernen. Dazu werden die
2233 Befehle in dem entsprechenden Kontext in einer
2234 @code{\layout}-Umgebung gesetzt. Wenn wir also z. B.
2235 den Ambitus für jedes Notensystem in einer Partitur
2236 mit vier Systemen anzeigen wollen, könnte das so aussehen:
2238 @lilypond[quote,verbatim,ragged-right]
2267 \consists "Ambitus_engraver"
2274 Die Werte der Kontext-Eigenschaften können auch für
2275 alle Kontexte eines bestimmten Typs auf die gleiche
2276 Weise geändert werden, indem der @code{\set}-Befehl in
2277 einer @code{\context}-Umgebung angewendet wird.
2281 Notationsreferenz: @ruser{Umgebungs-Plugins verändern},
2282 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2285 Die @code{Stem_engraver} und @code{Beam_engraver} fügen ihre
2286 Objekte an Notenköpfe an. Wenn der @code{Note_heads_engraver}
2287 entfernt wird, werden keine Notenköpfe erstellt und demzufolge auch keine
2288 Hälse oder Bögen dargestellt.
2291 @node Rozšíření příkladů
2292 @section Rozšíření příkladů
2293 @translationof Extending the templates
2295 Sie haben sich durch die Übung gearbeitet, Sie
2296 wissen jetzt, wie Sie Notensatz produzieren, und Sie
2297 haben die grundlegenden Konzepte verstanden. Aber wie
2298 erhalten Sie genau die Systeme, die Sie brauchen? Es
2299 gibt eine ganze Anzahl an fertigen Vorlagen
2300 (siehe @ref{Předlohy}), mit denen Sie beginnen
2301 können. Aber was, wenn Sie nicht genau das finden,
2302 was Sie brauchen? Lesen Sie weiter.
2305 * Soprán a violoncello::
2306 * Čtyřhlasý notový zápis SATB::
2307 * Vytvoření notového zápisu od základu::
2308 * Úspora psaní na stroji pomocí proměnných a funkcí::
2309 * Notové zápisy a hlasy::
2313 @node Soprán a violoncello
2314 @subsection Soprán a violoncello
2315 @translationof Soprano and cello
2317 @cindex Template, Verändern von
2318 @cindex Vorlage, Verändern von
2319 @cindex Veränderung von Vorlagen
2321 Beginnen Sie mit der Vorlage, die Ihren Vorstellungen
2322 am nächsten kommt. Nehmen wir einmal an, Sie wollen
2323 ein Stück für Soprán a violoncello schreiben. In diesem
2324 Fall könnten Sie mit der Vorlage @qq{Noten und Text}
2325 (für die Sopran-Stimme) beginnen.
2328 \version @w{"@version{}"}
2329 melody = \relative @{
2336 text = \lyricmode @{
2342 \new Voice = "one" @{
2346 \new Lyrics \lyricsto "one" \text
2353 Jetzt wollen wir die Cello-Stimme hinzufügen. Schauen wir uns das
2354 Beispiel @qq{Nur Noten} an:
2357 \version @w{"@version{}"}
2359 melody = \relative @{
2373 Wir brauchen den @code{\version}-Befehl nicht zweimal. Wir
2374 brauchen aber den @code{melody}-Abschnitt. Wir wollen
2375 keine zwei @code{\score} (Partitur)-Abschnitte -- mit zwei
2376 @code{\score}-Abschnitten würden wir zwei Stimmen
2377 getrennt voneinander erhalten. In diesem Fall wollen wir
2378 sie aber zusammen, als Duett. Schließlich brauchen wir
2379 innerhalb des @code{\score}-Abschnittes nur einmal die
2380 Befehle @code{\layout} und @code{\midi}.
2382 Wenn wir jetzt einfach zwei @code{melody}-Abschnitte in
2383 unsere Datei kopieren würden, hätten wir zwei @code{melody}-Variable.
2384 Das würde zu keinem Fehler führen, aber die zweite von ihnen
2385 würde für beide Melodien eingesetzt werden. Wir müssen
2386 ihnen also andere Bezeichnungen zuweisen, um sie voneinander
2387 zu unterscheiden. Nennen wir die Abschnitte also @code{SopranNoten}
2388 für den Sopran und @code{CelloNoten} für die Cellostimme. Wenn
2389 wir schon dabei sind, können wir @code{text}auch nach
2390 @code{SoprText} umbenennen. Denken Sie daran, beide
2391 Vorkommen der Bezeichnung zu ändern: einmal die Definition
2392 gleich am Anfang (@code{melody = \relative c' @{ }) und
2393 dann auch noch die Benutzung der Variable innerhalb des
2394 @code{\score}-Abschnittes.
2396 Gleichzeitig können wir auch noch das Notensystem für das
2397 Cello ändern -- das Cello hat normalerweise einen Bassschlüssel.
2398 Wir ändern auch die Noten etwas ab.
2401 \version @w{"@version{}"}
2403 SopranNoten = \relative @{
2410 SoprText = \lyricmode @{
2414 CelloNoten = \relative @{
2423 \new Voice = "eins" @{
2427 \new Lyrics \lyricsto "eins" \Soprantext
2434 Das sieht schon vielversprechend aus, aber die Cello-Stimme
2435 erscheint noch nicht im Notensatz -- wir haben vergessen,
2436 sie in den @code{\score}-Abschnitt einzufügen. Wenn die
2437 Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
2441 \new Staff \CelloNoten
2445 unter dem Befehl für den Sopran hinzufügen. Wir brauchen auch
2446 die spitzen Klammern (@code{<<} und @code{>>}) um die
2447 Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
2448 ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
2449 zwei @code{Staff}-Instanzen). Der @code{\score}-Abschnitt
2452 @c Indentation in this example is deliberately poor
2457 \new Voice = "eins" @{
2461 \new Lyrics \lyricsto "eins" \SoprText
2463 \new Staff \CelloNoten
2471 Das sieht etwas unschön aus, vor allem die Einrückung stimmt
2472 nicht mehr. Das können wir aber schnell in Ordnung bringen.
2473 Hier also die gesamte Vorlage für Soprán a violoncello:
2475 @lilypond[quote,verbatim,ragged-right,addversion]
2476 sopranoMusic = \relative {
2483 sopranoLyrics = \lyricmode {
2487 celloMusic = \relative {
2497 \new Voice = "one" {
2501 \new Lyrics \lyricsto "one" \sopranoLyrics
2503 \new Staff \celloMusic
2512 Die Vorlagen, mit denen wir begonnen haben, können im
2513 Anhang @qq{Předlohy} gefunden werden, siehe
2514 @ref{Jednotlivá notová osnova}.
2517 @node Čtyřhlasý notový zápis SATB
2518 @subsection Čtyřhlasý notový zápis SATB
2519 @translationof Four-part SATB vocal score
2521 @cindex Vorlage, SATB
2522 @cindex Vorlage, Chorpartitur
2523 @cindex SATB-Vorlage
2524 @cindex Chorpartitur, Vorlage
2526 Die meisten Partituren für vierstimmigen gemischten Chor
2527 mit Orchesterbegleitung (wie etwa Mendelssohns @notation{Elias}
2528 oder Händels @notation{Messias}) sind so aufgebaut, dass
2529 für jede der vier Stimmen ein eigenes System besteht und
2530 die Orchesterbegleitung dann als Klavierauszug darunter
2531 notiert wird. Hier ein Beispiel aus Händels @notation{Messias}:
2533 @c The following should appear as music without code
2534 @lilypond[quote,ragged-right]
2535 global = { \key d \major \time 4/4 }
2537 sopranoMusic = \relative {
2539 r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2541 sopranoWords = \lyricmode {
2542 Wor -- thy | is the lamb | that was slain |
2544 altoMusic = \relative {
2546 r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 |
2548 altoWords = \sopranoWords
2549 tenorMusic = \relative {
2551 r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2553 tenorWords = \sopranoWords
2554 bassMusic = \relative {
2556 r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2558 bassWords = \sopranoWords
2562 r4 <a' d fis>2 <a e' a>4
2563 <d fis d'>4. <d fis d'>8 <a d a'>2
2564 <g cis g'>4 <a d fis> <a cis e>2
2569 <d, d'>4 <d d'>2 <cis cis'>4
2570 <b b'>4. <b' b'>8 <fis fis'>2
2571 <e e'>4 <d d'> <a' a'>2
2575 << % combine ChoirStaff and PianoStaff in parallel
2577 \new Staff = "sopranos" <<
2578 \set Staff.instrumentName = #"Soprano"
2579 \new Voice = "sopranos" {
2584 \new Lyrics \lyricsto "sopranos" {
2587 \new Staff = "altos" <<
2588 \set Staff.instrumentName = #"Alto"
2589 \new Voice = "altos" {
2594 \new Lyrics \lyricsto "altos" {
2597 \new Staff = "tenors" <<
2598 \set Staff.instrumentName = #"Tenor"
2599 \new Voice = "tenors" {
2604 \new Lyrics \lyricsto "tenors" {
2607 \new Staff = "basses" <<
2608 \set Staff.instrumentName = #"Bass"
2609 \new Voice = "basses" {
2614 \new Lyrics \lyricsto "basses" {
2620 \set PianoStaff.instrumentName = #"Piano"
2621 \new Staff = "upper" \upper
2622 \new Staff = "lower" \lower
2628 Keine der Vorlage bietet diesen Aufbau direkt an. Die Vorlage, die
2629 am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer
2630 Klavierauszug}, siehe @ref{Vokální soubor}. Wir müssen diese
2631 Vorlage aber so anpassen, dass die Noten für das Klavier nicht
2632 automatisch aus dem Chorsatz generiert werden. Die Variablen
2633 für die Noten und den Text des Chores sind in Ordnung, wir
2634 müssen nun noch Variablen für die Klaviernoten hinzufügen.
2636 Die Reihenfolge, in welcher die Variablen in das Chorsystem
2637 (@code{ChoirStaff}) eingefügt werden, entspricht nicht der
2638 in dem Beispiel oben. Wir wollen sie so sortieren, dass die
2639 Texte jeder Stimme direkt unter den Noten notiert werden.
2640 Alle Stimmen sollten als @code{\voiceOne} notiert werden,
2641 welches die Standardeinstellung ist; wir können also die
2642 @code{\voiceXXX}-Befehle entfernen. Wir müssen auch noch
2643 den Schlüssel für den Tenor ändern. Die Methode, mit der
2644 der Text den Stimmen zugewiesen wird, ist uns noch nicht
2645 bekannt, darum wollen wir sie umändern auf die Weise, die
2646 wir schon kennen. Wir fügen auch noch Instrumentbezeichnungen
2647 zu den Systemen hinzu.
2649 Damit erhalten wir folgenden @code{ChoirStaff}:
2653 \new Staff = "sopranos" <<
2654 \set Staff.instrumentName = #"Sopran"
2655 \new Voice = "sopranos" @{
2660 \new Lyrics \lyricsto "sopranos" @{
2663 \new Staff = "altos" <<
2664 \set Staff.instrumentName = #"Alt"
2665 \new Voice = "altos" @{
2670 \new Lyrics \lyricsto "altos" @{
2673 \new Staff = "tenors" <<
2674 \set Staff.instrumentName = #"Tenor"
2675 \new Voice = "tenors" @{
2680 \new Lyrics \lyricsto "tenors" @{
2683 \new Staff = "basses" <<
2684 \set Staff.instrumentName = #"Bass"
2685 \new Voice = "basses" @{
2690 \new Lyrics \lyricsto "basses" @{
2696 Als nächstes müssen wir das Klaviersystem bearbeiten.
2697 Das ist einfach: wir nehmen einfach den Klavierteil
2698 aus der @qq{Piano solo}-Vorlage:
2702 \set PianoStaff.instrumentName = #"Piano "
2703 \new Staff = "oben" \oben
2704 \new Staff = "unten" \unten
2709 und fügen die Variablen @code{oben}
2710 und @code{unten} hinzu.
2712 Das Chorsystem und das Pianosystem müssen mit
2713 spitzen Klammern kombiniert werden, damit beide
2714 übereinander erscheinen:
2717 << % ChoirStaff und PianoStaff parallel kombinieren
2719 \new Staff = "sopranos" <<
2720 \new Voice = "sopranos" @{
2725 \new Lyrics \lyricsto "sopranos" @{
2728 \new Staff = "altos" <<
2729 \new Voice = "altos" @{
2734 \new Lyrics \lyricsto "altos" @{
2737 \new Staff = "tenors" <<
2738 \clef "G_8" % tenor clef
2739 \new Voice = "tenors" @{
2744 \new Lyrics \lyricsto "tenors" @{
2747 \new Staff = "basses" <<
2749 \new Voice = "basses" @{
2754 \new Lyrics \lyricsto "basses" @{
2760 \set PianoStaff.instrumentName = #"Piano"
2761 \new Staff = "upper" \upper
2762 \new Staff = "lower" \lower
2767 Alles miteinander kombiniert und mit den Noten für drei
2768 Takte sieht unser Beispiel nun so aus:
2770 @lilypond[quote,verbatim,ragged-right,addversion]
2775 sopranoMusic = \relative {
2777 r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2779 sopranoWords = \lyricmode {
2780 Wor -- thy | is the lamb | that was slain |
2782 altoMusic = \relative {
2784 r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2786 altoWords = \sopranoWords
2787 tenorMusic = \relative {
2789 r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2791 tenorWords = \sopranoWords
2792 bassMusic = \relative {
2794 r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2796 bassWords = \sopranoWords
2800 r4 <a' d fis>2 <a e' a>4
2801 <d fis d'>4. <d fis d'>8 <a d a'>2
2802 <g cis g'>4 <a d fis> <a cis e>2
2807 <d, d'>4 <d d'>2 <cis cis'>4
2808 <b b'>4. <b' b'>8 <fis fis'>2
2809 <e e'>4 <d d'> <a' a'>2
2813 << % combine ChoirStaff and PianoStaff in parallel
2815 \new Staff = "sopranos" <<
2816 \set Staff.instrumentName = #"Soprano"
2817 \new Voice = "sopranos" {
2822 \new Lyrics \lyricsto "sopranos" {
2825 \new Staff = "altos" <<
2826 \set Staff.instrumentName = #"Alto"
2827 \new Voice = "altos" {
2832 \new Lyrics \lyricsto "altos" {
2835 \new Staff = "tenors" <<
2836 \set Staff.instrumentName = #"Tenor"
2837 \new Voice = "tenors" {
2842 \new Lyrics \lyricsto "tenors" {
2845 \new Staff = "basses" <<
2846 \set Staff.instrumentName = #"Bass"
2847 \new Voice = "basses" {
2852 \new Lyrics \lyricsto "basses" {
2858 \set PianoStaff.instrumentName = #"Piano "
2859 \new Staff = "upper" \upper
2860 \new Staff = "lower" \lower
2867 @node Vytvoření notového zápisu od základu
2868 @subsection Vytvoření notového zápisu od základu
2869 @translationof Building a score from scratch
2871 @cindex Template, eigene schreiben
2872 @cindex Vorlagen, eigene schreiben
2873 @cindex eigene Vorlagen erstellen
2874 @cindex Erstellen von eigenen Vorlagen
2875 @cindex Schreiben von eigenen Vorlagen
2877 Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code
2878 gewonnen haben, werden Sie vielleicht feststellen, dass es
2879 manchmal einfacher ist, von Grund auf anzufangen, anstatt
2880 die fertigen Vorlagen zu verändern. Auf diese Art könne Sie
2881 auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen,
2882 die Sie notieren wollen. Als Beispiel wollen wir demonstrieren,
2883 wie man die Partitur für ein Orgelpreludium von Grund auf
2886 Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt.
2887 Hier notieren wir den Titel, den Namen des Komponisten usw.
2888 Danach schreiben wir die einzelnen Variablen auf und
2889 schließlich am Ende die eigentliche Partitur, den
2890 @code{\score}-Abschnitt. Beginnen wir mit einer groben
2891 Struktur, in die wir dann die Einzelheiten nach und nach
2894 Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium
2895 @notation{Jesu, meine Freude} von J. S. Bach, notiert
2896 für zwei Manuale und Pedal. Sie können die Noten am Ende
2897 dieses Abschnittes sehen. Das obere Manual trägt zwei Stimmen,
2898 das untere und das Pedalsystem jeweils nur eine. Wir
2899 brauchen also vier Variablen für die Noten und eine, um
2900 Taktart und Tonart zu definieren.
2903 \version @w{"@version{}"}
2905 title = "Jesu, meine Freude"
2906 composer = "J. S. Bach"
2908 keyTime = @{ \key c \minor \time 4/4 @}
2909 ManualOneVoiceOneMusic = @{ s1 @}
2910 ManualOneVoiceTwoMusic = @{ s1 @}
2911 ManualTwoMusic = @{ s1 @}
2912 PedalOrganMusic = @{ s1 @}
2918 Im Moment haben wir eine unsichtbare
2919 Note in jede Stimme eingesetzt (@code{s1}).
2920 Die Noten werden später hinzugefügt.
2922 Als nächstes schauen wir uns an, was in die
2923 Partitur (die @code{\score}-Umgebung)
2924 kommt. Dazu wird einfach die Notensystemstruktur
2925 konstruiert, die wir benötigen. Orgelmusik
2926 wird meistens auf drei Systemen notiert, eins
2927 für jedes Manual und ein drittes für die Pedalnoten.
2928 Die Systeme für die Manuale werden mit einer
2929 geschweiften Klammer verbunden, wir
2930 benutzen hier also ein @code{PianoStaff}.
2931 Das erste Manualsystem braucht zwei Stimmen,
2932 das zweite nur eine.
2936 \new Staff = "ManualOne" <<
2938 \ManualOneVoiceOneMusic
2941 \ManualOneVoiceTwoMusic
2943 >> % Ende ManualOne Systemkontext
2944 \new Staff = "ManualTwo" <<
2948 >> % Ende ManualTwo Systemkontext
2949 >> % Ende PianoStaff Kontext
2952 Als nächstes soll das System für das Pedal hinzugefügt
2953 werden. Es soll unter das Klaviersystem gesetzt
2954 werden, aber muss gleichzeitig mit ihm erscheinen.
2955 Wir brauchen also spitze Klammern um beide
2956 Definitionen. Sie wegzulassen würde eine Fehlermeldung
2957 in der Log-Datei hervorrufen. Das ist ein sehr
2958 häufiger Fehler, der wohl auch Ihnen früher
2959 oder später unterläuft. Sie können das fertige
2960 Beispiel am Ende des Abschnittes kopieren und die
2961 Klammern entfernen, um zu sehen, wie die
2962 Fehlermeldung aussehen kann, die Sie in solch
2963 einem Fall erhalten würden.
2966 << % PianoStaff and Pedal Staff must be simultaneous
2968 \new Staff = "ManualOne" <<
2970 \ManualOneVoiceOneMusic
2973 \ManualOneVoiceTwoMusic
2975 >> % end ManualOne Staff context
2976 \new Staff = "ManualTwo" <<
2980 >> % end ManualTwo Staff context
2981 >> % end PianoStaff context
2982 \new Staff = "PedalOrgan" <<
2990 Es ist nicht notwendig, die simultane Konstruktion
2991 @code{<< .. >>} innerhalb des zweiten Manualsystems
2992 und des Pedalsystems zu benutzen, denn sie enthalten
2993 nur eine Stimme. Andererseits schadet es nichts, sie
2994 zu schreiben, und es ist eine gute Angewohnheit, immer
2995 die spitzen Klammern nach einem @code{\new Staff} zu
2996 schreiben, wenn mehr als eine Stimme vorkommen könnten.
2997 Für Stimmen (@code{Voice}) dagegen gilt genau das
2998 Gegenteil: eine neue Stimme sollte immer von
2999 geschweiften Klammern (@code{@{ .. @}}) gefolgt
3000 werden, falls Sie ihre Noten in mehrere Variable aufteilen,
3001 die nacheinander gesetzt werden sollen.
3003 Fügen wir also diese Struktur zu der @code{\score}-Umgebung
3004 hinzu und bringen wir die Einzüge in Ordnung. Gleichzeitig
3005 wollen wir die richtigen Schlüssel setzen und die Richtung der
3006 Hälse und Bögen in den Stimmen des oberen Systems
3007 kontrollieren, indem die obere Stimme ein
3008 @code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
3009 erhält. Die Taktart und Tonart werden mit unserer fertigen
3010 Variable @code{\keyTime} eingefügt.
3014 << % PianoStaff and Pedal Staff must be simultaneous
3016 \new Staff = "ManualOne" <<
3017 \keyTime % set time signature and key
3021 \ManualOneVoiceOneMusic
3025 \ManualOneVoiceTwoMusic
3027 >> % end ManualOne Staff context
3028 \new Staff = "ManualTwo" <<
3034 >> % end ManualTwo Staff context
3035 >> % end PianoStaff context
3036 \new Staff = "PedalOrgan" <<
3042 >> % end PedalOrgan Staff
3044 @} % end Score context
3047 @cindex Spreizbarkeit von Systemen
3048 @cindex Dehnung von Systemen, vertikal
3049 @cindex Systeme, vertikales Dehnen
3051 Das Layout des Orgelsystems oben ist fast perfekt, es hat jedoch einen kleinen
3052 Fehler, den man nicht bemerken kann, wenn man nur ein einzelnes System
3053 betrachtet: Der Abstand des Pedalsystems zum System der linken Hand
3054 sollte in etwa der gleiche sein wie der Abstand zwischen den Systemen
3055 der linken und rechten Hand. Die Dehnbarkeit von Systemen in einem
3056 Klaviersystem (@code{PianoStaff})-Kontext ist beschränkt (sodass der
3057 Abstand zwischen den Systemen der linken und rechten Hand nicht zu groß
3058 wird), und das Pedalsystem sollte sich genauso verhalten.
3060 @cindex Untereigenschaft
3061 @cindex sub-properties
3062 @cindex graphische Objekte
3064 @cindex Objekte, graphische
3066 Die Spreizbarkeit von Systemen kann mit der @code{staff-staff-spacing}-Eigenschaft
3067 des @code{VerticalAxisGroup}-@qq{graphischen Objekts} (üblicherweise als
3068 @qq{Grob} innerhalb der LilyPond-Dokumentation bezeichnet) kontrolliert
3069 werden. An dieser Stelle brauchen Sie sich um die Details nicht zu
3070 sorgen, sie werden später erklärt. Sehr Neugierige können sich den
3071 Abschnitt @ruser{Grundlagen zum Verändern von Eigenschaften} anschauen. Im Moment
3072 kann man nicht nur die @code{strechability} (Spreizbarkeit)-Untereigenschaft verändern,
3073 darum müssen hier auch die anderen Untereigenschaften kopiert werden. Die
3074 Standardeinstellungen dieser Untereigenschaften finden sich in der Datei
3075 @file{scm/define-grobs.scm} in den Definitionen für den
3076 @code{VerticalAxisGroup}-Grob. Der Wert für @code{strechability} wird aus
3077 der Definition für das Klaviersystem (@code{PianoStaff}) entnommen
3078 (in der Datei @file{ly/engraver-init.ly}), damit die Werte identisch
3083 << % PianoStaff and Pedal Staff must be simultaneous
3085 \new Staff = "ManualOne" <<
3086 \keyTime % set key and time signature
3090 \ManualOneVoiceOneMusic
3094 \ManualOneVoiceTwoMusic
3096 >> % end ManualOne Staff context
3097 \new Staff = "ManualTwo" \with @{
3098 \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
3105 >> % end ManualTwo Staff context
3106 >> % end PianoStaff context
3107 \new Staff = "PedalOrgan" <<
3113 >> % end PedalOrgan Staff
3115 @} % end Score context
3118 Damit ist das Grundgerüst fertig. Jede Orgelmusik mit drei
3119 Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen
3120 in einem System sich ändern kann. Jetzt müssen wir nur noch
3121 die Noten einfügen und alle Teile zusammenfügen, indem wir
3122 die Variablen mit einem Backslash in die Partitur einbauen.
3124 @lilypond[quote,verbatim,ragged-right,addversion]
3126 title = "Jesu, meine Freude"
3127 composer = "J S Bach"
3129 keyTime = { \key c \minor \time 4/4 }
3130 ManualOneVoiceOneMusic = \relative {
3134 ManualOneVoiceTwoMusic = \relative {
3135 ees'16 d ees8~ 16 f ees d c8 d~ d c~ |
3136 8 c4 b8 c8. g16 c b c d |
3138 ManualTwoMusic = \relative {
3139 c'16 b c8~ 16 b c g a8 g~ 16 g aes ees |
3140 f16 ees f d g aes g f ees d e8~ 8es16 f ees d |
3142 PedalOrganMusic = \relative {
3143 r8 c16 d ees d ees8~ 16 a, b g c b c8 |
3144 r16 g ees f g f g8 c,2 |
3148 << % PianoStaff and Pedal Staff must be simultaneous
3150 \new Staff = "ManualOne" <<
3151 \keyTime % set time signature and key
3155 \ManualOneVoiceOneMusic
3159 \ManualOneVoiceTwoMusic
3161 >> % end ManualOne Staff context
3162 \new Staff = "ManualTwo" \with {
3163 \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
3170 >> % end ManualTwo Staff context
3171 >> % end PianoStaff context
3172 \new Staff = "PedalOrgan" <<
3178 >> % end PedalOrgan Staff context
3180 } % end Score context
3188 @node Úspora psaní na stroji pomocí proměnných a funkcí
3189 @subsection Úspora psaní na stroji pomocí proměnných a funkcí
3190 @translationof Saving typing with variables and functions
3194 Bis jetzt wurde immer derartige Notation vorgestellt:
3196 @lilypond[quote,verbatim,ragged-right]
3197 hornNotes = \relative { c''4 b dis c }
3206 Sie können sich vorstellen, dass das etwa für minimalistische
3207 Musik sehr nützlich sein könnte:
3209 @lilypond[quote,verbatim,ragged-right]
3210 fragmentA = \relative { a'4 a8. b16 }
3211 fragmentB = \relative { a'8. gis16 ees4 }
3212 violin = \new Staff {
3213 \fragmentA \fragmentA |
3214 \fragmentB \fragmentA |
3224 Diese Variablen (die man auch als Makros oder Benutzer-Befehl
3225 bezeichnet) können jedoch auch für eigene Anpassungen eingesetzt
3228 @c TODO Avoid padtext - not needed with skylining
3229 @lilypond[quote,verbatim,ragged-right]
3230 dolce = \markup { \italic \bold dolce }
3231 padText = { \once \override TextScript.padding = #5.0 }
3233 \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p
3236 violin = \relative {
3238 c''4._\dolce b8 a8 g a b
3240 c4.^"hi there!" d8 e' f g d
3241 c,4.\fthenp b8 c4 c-.
3249 \layout{ragged-right=##t}
3253 Derartige Variablen sind offensichtlich sehr nützlich, zu Tipparbeit zu ersparen. Aber es lohnt sich schon, sie zu
3254 benutzen, wenn man sie nur einmal benutzen will, denn sie
3255 vereinfachen die Struktur einer Datei sehr stark. Hier das
3256 vorige Beispiel ohne jede Benutzung von Variablen. Es ist
3257 sehr viel schwerer lesbar, besonders die letzte Zeile.
3260 violin = \relative @{
3262 c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b
3263 \once \override TextScript.padding = #5.0
3264 c4.^"hi there!" d8 e' f g d
3266 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3273 @c TODO Replace the following with a better example -td
3274 @c Skylining handles this correctly without padText
3276 Bisher haben wir vor allem statische Ersetzungen betrachtet:
3277 wenn LilyPond etwa @code{\padText} sieht, wird es ersetzt mit
3278 all dem Code, mit dem wir es definiert haben (also alles,
3279 was sich rechts von @code{padtext=} befindet).
3281 LilyPond kann auch nicht-statische Ersetzungen bewältigen. Man
3282 kann sie sich als Funktionen vorstellen.
3284 @lilypond[quote,verbatim,ragged-right]
3286 #(define-music-function
3290 \once \override TextScript.padding = $padding
3294 c'''4^"piu mosso" b a b |
3296 c4^"piu mosso" d e f |
3298 c4^"piu mosso" fis a g |
3302 Die Benutzung von Variablen ist auch eine gute Möglichkeit,
3303 Arbeit zu vermeiden, wenn sich einmal die Syntax von LilyPond
3304 ändern sollte (siehe auch @rprogram{Updating old input files
3306 Wenn man eine einzige Definition hat (wie etwa @code{\dolce}),
3307 die für alle Vorkommen in der Notation eingesetzt wird, muss
3308 man auch nur einmal diese Definition aktualisieren, anstatt
3309 dass man sie in jeder @file{.ly}-Datei einzeln ändern müsste.
3312 @node Notové zápisy a hlasy
3313 @subsection Notové zápisy a hlasy
3314 @translationof Scores and parts
3316 In Orchestermusik werden alle Noten zweimal gedruckt. Einmal
3317 in einer Stimme für die Spieler, und einmal ein der Partitur
3318 für den Dirigenten. Variablen können benutzen, um sich doppelte
3319 Arbeit zu ersparen. Die Noten werden nur einmal eingegeben und
3320 in einer Variable abgelegt. Der Inhalt der Variable wird dann
3321 benutzt um sowohl die Stimme als auch die Partitur zu erstellen.
3323 Es bietet sich an, die Noten in einer extra Datei abzulegen.
3324 Nehmen wir an, dass die Datei @file{horn-music.ly} folgende
3325 Noten eines Horn/@/Fagott-Duos enthält:
3328 hornNotes = \relative @{
3330 r4 f8 a | cis4 f | e4 d |
3335 Eine Stimme wird also erstellt, indem man folgendes in eine
3339 \include "horn-music.ly"
3342 instrument = "Horn in F"
3346 \transpose f c' \hornNotes
3353 \include "horn-music.ly"
3357 ersetzt den Inhalt von @file{horn-music.ly} an dieser Position
3358 in der Datei, sodass @code{hornNotes} im Folgenden definiert
3359 ist. Der Befehl @code{\transpose f@tie{}c'} zeigt an, dass
3360 das Argument (@code{\hornNotes}) eine Quinte nach oben transponiert
3361 werden soll. Klingendes @code{f} wird als @code{c'}, wie es
3362 die Stimmung eines normalen F-Hornes verlangt. Die Transposition
3363 kann in folgender Notenausgabe gesehen werden:
3365 @lilypond[quote,ragged-right]
3366 \transpose f c' \relative {
3368 r4 f8 a | cis4 f | e4 d |
3372 In Ensemblestücken sind manche Stimmen für viele Takte stumm.
3373 Das wird durch eine besondere Pause notiert, die Mehrtaktpause.
3374 Sie wird mit einem großen @code{R} notiert, gefolgt von der
3375 Dauer (@code{1}@tie{}für eine Ganze, @code{2}@tie{}für eine Halbe usw.). Indem man die Dauern multipliziert, kann man auch
3376 längere Dauern erzeugen. Diese Pause etwa dauert drei Takte
3383 Wenn die Stimme gesetzt wird, werden Mehrtaktpausen komprimiert. Das geschieht, indem man folgendes in die Datei
3387 \set Score.skipBars = ##t
3391 Dieser Befehl setzt die Eigenschaft @code{skipBars} im
3392 @code{Score}-Kontext auf wahr (@code{##t}). Die Pause und diese Option zu der Musik von oben hinzugefügt, ergibt folgendes
3395 @lilypond[quote,ragged-right]
3396 \transpose f c' \relative {
3398 \set Score.skipBars = ##t
3400 r4 f8 a | cis4 f | e4 d |
3404 Die Partitur wird erstellt, indem man alle Noten kombiniert.
3405 Angenommen, die andere Stimme ist in @code{bassoonNotes}
3406 in der Datei @file{bassoon-music.ly} definiert, würde eine
3407 Partitur erstellt mit:
3410 \include "bassoon-music.ly"
3411 \include "horn-music.ly"
3414 \new Staff \hornNotes
3415 \new Staff \bassoonNotes
3422 @lilypond[quote,ragged-right]
3428 r4 f8 a | cis4 f | e4 d |
3433 r4 d,8 f | gis4 c | b4 bes |
3434 a8 e f4 | g4 d | gis4 f |