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 doporučení k notovému zápisu -- @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
240 Váš LilyPondovský kód může obsahovat více bloků @code{\score}.
241 Každý z nich je vykládán jako samostatný notový zápis, ovšem
242 všechny jsou umístěny v tomtéž výstupním souboru.
243 Příkaz @code{\book} není otevřeně nezbytný -- je vytvořen
244 skrytě. Když však má být vytvořen pro každý blok @code{\score} v
245 souboru @file{.ly} vlastní výstupní soubor,
246 potom se musí každý z těchto bloků zapsat do vlastního bloku @code{\book}:
247 Každý blok @code{\book} pak vytváří vlastní výstupní soubor.
251 Každý blok @code{\book} vytváří vlastní výstupní soubor (např. soubor
252 PDF). Pokud jste otevřeně žádný takový blok nezadali,
253 LilyPond celý obsah souboru zapíše dovnitř jednoho jediného
254 skrytého bloku @code{\book}.
256 Každý blok @code{\score} popiseje jeden samostatný hudební kus
257 uvnitř bloku @code{\book}.
259 @cindex Prostředí Layout, umístění
260 @cindex Umístění prostředí layout
262 Každý blok @code{\layout} ovlivňuje @code{\score} nebo
263 @code{\book}, ve kterém se vyskytuje. Tak působí například blok
264 @code{\layout} uvnitř bloku @code{\score} jen na tento jeden
265 blok a celý jeho obsah, blok @code{\layout} mimo
266 blok @code{\score} (a proto uvnitř skrytě vytvořeného
267 otevřeně zadaného bloku @code{\book}) však na
268 všechny bloky @code{\score} uvnitř tohoto bloku @code{\book}.
270 Více podrobností se nachází v části @ruser{Více notových zápisů v knize}.
273 @cindex Identifikátor
275 Dobrou možností pro zjednodušení jsou vlastní vymezené proměnné,
276 jak je to také ukázáno v @ref{Pořádání děl pomocí proměnných}.
277 Všechny předlohy používají tuto možnost:
280 melodie = \relative c' @{
289 Když LilyPond zpracovává tento soubor, bere obsah
290 z @code{melodie} (vše po rovnítku) a vkládá to,
291 kdykoli vidí @code{\melodie}. Názvy jsou
292 volně volitelné, proměnná se právě tak dobře může
293 jmenovat @code{melodie}, @code{GLOBAL}, @code{praváRukaKlavír},
294 nebo @code{cokoliDalšího}.
295 Jako název proměnné se dá použít skoro jakýkoli oblíbený název,
296 musí se v něm ovšem vyskytovat jen písmena (takže žádná čísla, podtržítka,
297 zvláštní znaky, atd.) a nesmí znít jako příkaz pro LilyPond. Pro více
298 informací se podívejte na
299 @ref{Úspora psaní na stroji pomocí proměnných a funkcí,,úsporu psaní na stroji pomocí proměnných a funkcí}. Přesně jsou
300 tato omezení popsána v části @ruser{Stavba souboru}.
304 Úplné vymezení vstupního souboru se nachází v
305 @ruser{Stavba souboru}.
308 @node Notový zápis je jedním (jediným) složeným hudebním výrazem
309 @subsection Notový zápis je jedním (jediným) složeným hudebním výrazem
310 @translationof Score is a (single) compound musical expression
317 @cindex Složený hudební výraz
318 @cindex Hudební výraz, složený
321 V předchozí kapitole, @ref{Uvedení do stavby souboru v LilyPondu},
322 byla popsána obecná stavba jednoho LilyPondovského zdrojového
323 souboru. Ale zjevně jsme vypustili nejdůležitější
324 otázku, totiž jak se zjistí, co se má napsat
327 Ve skutečnosti to ale není vůbec žádným tajemstvím. Tento
331 @emph{Notový zápis začíná vždy @code{\score}, který je následován
332 jedním hudebním výrazem.}
336 Možná byste si měl ještě jednou zběžně přečíst, abyste pochopil, co jsou to hudební výrazy,
337 @ref{Vysvětlení hudebních výrazů,,vysvětlení hudebních výrazů}. V této
338 kapitole bylo ukázáno, jak se velké hudební výrazy
339 skládají z malých částí. Noty mohou být spojeny s akordy
340 atd. Nyní ale jdeme v jiném směru a pozorujeme,
341 jak se dá rozložit velký hudební výraz. Kvůli zjednodušení
342 v našem příkladu použijeme jen jednoho zpěváka a
343 klavír. Nepotřebujeme žádnou skupinu
344 osnov (@code{StaffGroup}), která jednoduše způsobeje jen to,
345 že osnovy jsou spojeny závorkami, seskupuje je; ty tedy budou
346 odstraněny. @emph{Potřebujeme} ale osnovy pro zpěváka a klavír.
352 \new Staff = "Zpěvák" <<
354 \new PianoStaff = "Klavír" <<
362 Zde byly osnovy pojmenovány: @qq{Zpěvák} a
363 @qq{Klavír}. To v tomto případě není přímo nutné,
364 ale je dobré zvyknout si na tento způsob psaní, aby se hned
365 poznalo, o kterou osnovu se jedná.
367 K zapamatování: @code{<<} a @code{>>} jsou noty vysázeny
368 zároveň. To způsobuje, že se hlasová část a klavírní osnova objevují
369 v notovém zápisu nad sebou. Konstrukce @code{<< ... >>} pro zpěvákovu osnovu
370 v příkladu výše není nutná, protože zde se mají vkládat noty jen
371 jednoho hlasu, ale @code{<< ... >>}
372 namísto závorek jsou nezbytné, hned jak se má vkládat
373 více než jeden hlas, tedy dva a více současných výrazů, nebo jeden notový hlas a text
374 písně. V našem případě se má zapsat jeden hlas s textem písně,
375 takže jsou potřeba špičaté závorky. Noty přidáme teprve později,
376 pro teď tedy přidáme nějaké noty a text. Pokud si nevzpomínáte,
377 jak se text písně zapisuje, přečtěte si ještě
378 jednou o @code{\addlyrics} v @ref{Zápis jednoduchých písní,,zápisu jednoduchých písní}.
380 @lilypond[verbatim,quote,ragged-right]
383 \new Staff = "singer" <<
384 \new Voice = "vocal" { c'1 }
387 \new PianoStaff = "piano" <<
388 \new Staff = "upper" { c'1 }
389 \new Staff = "lower" { c'1 }
396 Nyní máme mnohem více podrobností. Máme osnovu (angl. staff)
397 pro jednoho zpěváka, ve které se zase nachází jeden hlas
398 (angl. voice). @code{Voice} znamená pro LilyPond hlas (jak
399 zazpívaný tak zahraný; prostě soubor not, nikoli nutně zpívaných zpěvákem
400 -- například housle hrají jeden hlas) a případně dodatečný text. Dodatečně
401 se zapíší dvě notové osnovy pro klavír příkazem @code{\new
402 PianoStaff}. @code{PianoStaff} označuje prostředí klavíru (procházející
403 taktové čáry a složené závorky na začátku), v němž se potom opět
404 zřizují dvě vlastní osnovy ("nahoře" pro pravou ruku a
405 "dole" pro levou), i když spodní osnova musí ještě dostat
408 Nyní bychom do tohoto prostředí mohli začít vkládat noty. Uvnitř
409 složených závorek vedle @code{\new Voice = "Zpěvní hlas"}
410 bychom mohli zapisovat
419 Ale když se soubor píše takto přímo, začne být
420 část @code{\score} velmi dlouhá a je dosti obtížné porozumět tomu,
421 jak vše souvisí. Z toho důvodu se nabízí použití identifikátorů
422 (nebo jinak také proměnných). Byly vysvětleny na začátku předchozí
423 části, jak si zajisté vzpomínáte? Abychom zajistili,
424 že obsah proměnné @code{text} je vykládán jako text písně,
425 interpretiert wird, uvedeme jej @code{\lyricmode}. Tak jako
426 @code{\addlyrics}, je tímto vstupní režim přepnut na
427 text písně. Bez tohoto příkazu by se LilyPond pokoušel vykládat obsah
428 proměnné jako noty a přitom by docházelo k vytváření
429 množství chyb. (Kromě toho je dostupných ještě několik dalších
430 zadávacích režimů, podívejte se na @ruser{Vstupní režimy}.)
432 Takže nyní máme, když přidáme několik not a basový klíč
433 pro levou ruku, následující příklad:
435 @lilypond[verbatim,quote,ragged-right]
436 melody = \relative c'' { r4 d8\noBeam g, c4 r }
437 text = \lyricmode { And God said, }
438 upper = \relative c'' { <g d g,>2~ <g d g,> }
439 lower = \relative c { b2 e }
443 \new Staff = "singer" <<
444 \new Voice = "vocal" { \melody }
447 \new PianoStaff = "piano" <<
448 \new Staff = "upper" { \upper }
449 \new Staff = "lower" {
459 Při zapisování (nebo při čtení) prostředí @code{\score}
460 by se mělo postupovat pomalu a pečlivě. Nejlepší je začít s největšími
461 útvary, a pak vymezit v nich obsažené menší útvary. Také pomáhá velice
462 dbát na přesné odsazení, aby každý řádek, jenž přísluší k
463 téže úrovni, skutečně vodorovně začínal na tom
468 Doporučení k notovému zápisu: @ruser{Stavba notového zápisu}.
471 @node Naskládání hudebních výrazů do sebe
472 @subsection Naskládání hudebních výrazů do sebe
473 @translationof Nesting music expressions
475 @cindex Notové osnovy, dočasné
477 @cindex Dočasné notové osnovy
479 Notové osnovy (prostředí @q{Staff}) není bezpodmínečně potřeba
480 vytvořit hned na začátku -- mohou být uvedeny i kdykoli
481 později. To je obzvláště užitečné při vytváření oddílů
482 @rglosnamed{ossia,Ossias}. Zde následuje krátký příklad toho,
483 jak je možné vytvořit dodatečnou dočasnou notovou osnovu
484 jen pro dobu trvání tří not:
486 @lilypond[verbatim,quote,ragged-right]
503 Jak je vidět, velikost notového klíče je tatáž, jaká se vyskytuje
504 i při změně klíče -- o něco menší, než
505 jakou má klíč na začátku notové osnovy. Toto je obvyklé u
506 notových klíčů, které jsou zapsány uvnitř notové osnovy.
508 @cindex Notová osnova, umístění
509 @cindex Umístění notové osnovy
511 Oddíl ossia může být zapsán i mimo hlavní notovou
514 @lilypond[verbatim,quote,ragged-right]
515 \new Staff = "main" {
522 alignAboveContext = #"main"
530 Tento příklad používá příkaz @code{\with}, který bude později
531 gvysvětlen ještě přesněji. Jím lze měnit výchozí chování jedné
532 notové osnovy: Zde se jednoduše říká, že nová notová osnova
533 se má umístit nad již jsoucí osnovu s názvem
534 @qq{main} namísto výchozího umístění, které je
539 Ossia jsou často tisknuta bez notového klíče a bez taktového označení,
540 většinou také o něco menší, než jiné osnovy. Toto je přirozeně možné
541 i v LilyPondu, vyžaduje to ale příkazy, jež dosud ještě nebyly
542 představeny. Podívejte se na @ref{Velikost předmětů,,velikosti předmětů}
543 a @ruser{Osnovy ossia}.
546 @node O ne-naskládatelnosti závorek a ligatur
547 @subsection O ne-naskládatelnosti závorek a ligatur
548 @translationof On the un-nestedness of brackets and ties
550 @cindex Závorky, naskládání
551 @cindex Naskládání závorek
554 Již jste při psaní vstupního souboru pro LilyPond poznali
555 četné různé druhy závorek a staveb na způsob závorek. Tyto
556 se řídí různými pravidly, která mohou zpočátku působit
557 matoucím dojmem. Předtím než budou představena přesná pravidla,
558 pojďme si tyto různé druhy závorek a staveb na způsob závorek
561 @c attempt to force this onto a new page
563 @multitable @columnfractions .3 .7
564 @headitem Druh závorek
566 @item @code{@{ .. @}}
567 @tab Uzavírá postupnou část hudby
569 @tab Uzavírá noty jednoho akkordu
570 @item @code{<< .. >>}
571 @tab Uzavírá souběžné hudební výrazy
573 @tab Označuje začátek a konec obloučku
574 @item @code{\( .. \)}
575 @tab Označuje začátek a konec frázovacího obloučku
577 @tab Označuje začátek a konec ručně vytvořeného trámce
580 Dodatečně by snad měly být ještě dále zmíněny některé další
581 konstrukce, které noty ať už jakkoli spojují:
582 ligatury (označované vlnovkou @code{~}),
583 trioly (psané jako @code{\times x/y @{..@}}) und
584 ozdoby (poznamenávané jako @code{\grace@{..@}}).
586 Mimo LilyPond vyžaduje běžné používání závorek,
587 aby byly jejich odpovídající druhy správně seskládány,
588 jako je tomu například tady @code{<< [ @{ ( .. ) @} ] >>}. Uzavírající
589 závorky přitom přicházejí v obráceném pořadí k
590 otevírajícím závorkám. Toto je také v LilyPondu
591 @strong{nutnost} pro ony tři druhy závorek, jež byly v hořejší
592 tabulce popsány slovem @q{uzavírá} -- musí být správně
594 Nicméně zbývající stavby na způsob závorek (v tabulce popsány
595 slovem @q{označuje}), ligatury a trioly
596 bezpodmínečně s jinými závorkami nebo stavbami na způsob závorek
597 seskládány být čistě @strong{nemusí}. Vlastně také ani nejsou nějakými
598 závorkami v tom smyslu, že by něco svíraly, nýbrž mnohem více
599 jsou ukazateli, na kterém místě určitý hudební předmět
602 Tak tedy může například takový frázovací oblouček začínat před
603 ručně vloženým trámcem, a přece končit již před jeho koncem.
604 Toto sice může z hudebního pohledu dávat málo smyslu, ale v LilyPondu
607 @lilypond[quote,verbatim,ragged-right,relative=2]
608 { g8\( a b[ c b\) a] g4 }
611 Ve všeobecnosti se dá říct, že mohou být různé druhy závorek,
612 staveb na způsob závorek, legatových obloučků,
613 triol a ozdob libovolně dávány dohromady.
614 Následující příklad ukazuje trámec, který sahá až k triole
615 (řádek 1), ligaturu, která rovněž dosahuje k triole
616 (řádek 2), trámec a ligaturu sahající k triole,
617 oblouček, který běží přes dvě trioly, jakož i frázovací
618 oblouček, který začíná u trioly (řádky 3 a 4).
620 @lilypond[quote,verbatim,ragged-right]
622 r16[ g \times 2/3 { r16 e'8] }
623 g16( a \times 2/3 { b16 d) e' }
624 g8[( a \times 2/3 { b8 d') e'~] } |
625 \times 4/5 { e'32\( a b d' e' } a'4.\)
630 @node Hlasy obsahují noty
631 @section Hlasy obsahují noty
632 @translationof Voices contain music
634 Zpěváci potřebují ke zpívání hlasy, a LilyPond je potřebuje také:
635 ve skutečnosti jsou všechny noty pro všechny nástroje zapsány v
636 v notovém zápisu uvnitř hlasů. Hlas je v LilyPondu
637 tím nejzákladnějším pojmem.
641 * Přímo vyjádřené začátky hlasů::
646 @subsection Slyším hlasy
647 @translationof I'm hearing Voices
653 @cindex Voice context
654 @cindex context, Voice
655 @cindex Prostředí hlasu
656 @cindex Prostředí, hlas
657 @cindex Současné noty
658 @cindex Hlasy proti akordům
659 @cindex Akordy proti hlasům
660 @cindex Noty současně
662 Nejnižší, nejzákladnější a nejvnitřnější úrovně v LilyPondovském notovém
663 zápisu jsou nazvány @qq{Voice context} (prostředí hlasu) nebo také jen @qq{Voice}
664 (hlas). Hlasy jsou v jiných notačních programech někdy označovány
665 jako @qq{layer} (úroveň).
667 Skutečně je úroveň hlasu tou jedinou, která opravdu může obsahovat
668 noty. Pokud není otevřeně vytvořeno žádné prostředí hlasu,
669 je jedno vytvořeno automaticky, jak to bylo ukázáno na začátku
670 této kapitoly. Některé nástroje, jako je tomu například u hoboje, mohou
671 zároveň zahrát jen jednu notu. Noty pro takové nástroje jsou jednohlasé
672 a potřebují jen jeden hlas. Nástroje, které současně dokáží zahrát
673 více not, jako klavír, naproti tomu často potřebují více
674 hlasů, aby mohly popsat různé současně zaznívající noty
675 s často rozdílnými rytmy.
677 Jeden hlas přirozeně může v jednom akordu obsahovat více not
678 -- takže kdy přesně je potřeba více hlasů? Podívejme se nejprve na
679 tento příklad se čtyřmi akordy:
681 @lilypond[quote,verbatim,ragged-right,relative=1]
683 <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,relative=2]
719 % Voice "1" Voice "2"
720 << { g4 fis8( g) a4 g } \\ { d4 d d d } >>
723 Všimněte si, že nožičky druhého hlasu nyní ukazují dolů.
725 Tady je jiný jednoduchý příklad:
727 @lilypond[quote,verbatim,ragged-right,relative=2]
729 % Voice "1" Voice "2"
730 << { r4 g g4. a8 } \\ { d,2 d4 g } >>
731 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >>
732 << { a2. r4 } \\ { fis2. s4 } >>
735 Není nutné používat pro každý takt vlastní stavbu
736 @code{<< \\ >>}. U hudby s jen málo notami na takt to může
737 zdrojový soubor udělat čitelnějším, ale když se v jednom taktu vyskytuje
738 mnoho not, může být lepší napsat každý hlas odděleně,
741 @lilypond[quote,verbatim,ragged-right,relative=2]
756 Tento příklad má jen dva hlasy, ale stejné stavby lze použít,
757 když máme tři nebo více hlasů, tak, že přidáme více oddělovačů,
760 Hlasová prostředí nesou názvy @code{"1"}, @code{"2"} atd. V každém
761 z těchto prostředí je nastaven svislý směr nožiček, legatových obloučků,
762 ligatur, značek pro dynamiku atd. tak, jak se patří.
764 @lilypond[quote,verbatim]
765 \new Staff \relative c' {
768 % Voice "1" Voice "2" Voice "3"
769 << { g4 f e } \\ { r8 e4 d c8~ } >> |
770 << { d2 e } \\ { c8 b16 a b8 g~ g2 } \\ { s4 b c2 } >> |
774 Tyto hlasy jsou všechny odděleny od hlavního hlasu, který obsahuje noty
775 mimo stavbu @code{<< .. >>}. Pojmenujme ji
776 @emph{souběžná stavba}. Ligatury a legatové obloučky
777 mohou dohromady spojovat pouze noty uvnitř těchže hlasů a nemohou tedy
778 přesahovat do souběžné stavby a ze souběžné stavby. Obráceně platí,
779 že současné hlasy z vlastní souběžné stavby ve stejné notové osnově
780 jsou týmiž hlasy. Na všechny souběžné stavby se vztahují i jiné
781 s prostředím hlasu spojené vlastnosti. Zde je stejný příklad,
782 ale s různými barvami a hlavičkami not pro každý hlas.
783 Všimněte si, že změny v jednom hlasu se nevztahují na jiné hlasy,
784 ale nadále trvají v tomtéž hlase a jsou v něm přítomny ještě později.
785 Všimněte si také, že spojené noty mohou být rozděleny přes stejný hlas
786 do dvou staveb, jak je to ukázáno zde na modrém trojúhelníkovém hlase.
788 @lilypond[quote,verbatim]
789 \new Staff \relative c' {
808 { c8 b16 a b8 g~ g2 }
818 @funindex \voiceOneStyle
819 @funindex \voiceTwoStyle
820 @funindex \voiceThreeStyle
821 @funindex \voiceFourStyle
822 @funindex \voiceNeutralStyle
824 Příkazy @code{\voiceXXXStyle} jsou tu především k tomu, aby se používaly
825 v vzdělávacích dokumentech, jako je tento.
826 Mění barvu notové hlavičky, nožičky a trámce, a dodatečně
827 podobu notové hlavičky, takže se hlasy dají snadno od sebe
828 rozlišit. První hlas je nastaven jako červený kosočtverec,
829 druhý hlas je nastaven jako modrý trojúhelník, třetí hlas je
830 nastaven jako zelený kruh s křížkem a čtvrtý hlas (který tu použit
831 není) má tmavěčervený kříž. @code{\voiceNeutralStyle} (zde také
832 není použit) změny vrací zpět na výchozí styl. Později bude
833 ukázáno, jak mohou být příkazy, jako je tento, vytvářeny samotným
834 uživatelem. Podívejte se také na @ref{Viditelnost a barva předmětů} a
835 @ref{Použití proměnných pro ladění}.
837 @cindex Vícehlasost a relativní notační režim
838 @cindex Relativní notační režim a vícehlasost
840 Vícehlasost nemění vztahy not uvnitř bloku
841 @code{\relative}. Každá nota je nadále počítána ve vztahu k
842 předchozí notě, nebo poměrně k první notě předchozího
843 akordu. Tak například zde je spočítáno
846 \relative c' @{ NoteA << < NoteB NoteC > \\ NoteD >> NoteE @}
850 @code{NoteB} se zřetelem na @code{NoteA} @*
851 @code{NoteC} se zřetelem na @code{NoteB}, ne @code{noteA}; @*
852 @code{NoteD} se zřetelem na @code{NoteB}, ne @code{NoteA} oder
854 @code{NoteE} se zřetelem na @code{NoteD}, ne @code{NoteA}.
856 Jinou možností je umístit příkaz @code{\relative} na začátek
857 před každý hlas. To se nabízí, když jsou hlasy od sebe ve větší
858 vzdálenosti. Může to být, když jsou noty v hlasech
859 široce odděleny, přehlednější.
862 \relative c' @{ NoteA ... @}
864 \relative c'' @{ < NoteB NoteC > ... @}
866 \relative g' @{ NoteD ... @}
868 \relative c' @{ NoteE ... @}
871 Pojďme konečně rozebrat hlasy ve složitějším kuse hudby.
872 Zde jsou noty prvních dvou taktů Chopinových
873 @notation{Deux Nocturnes}, Op. 32. Tento příklad bude později použit
874 v této a další kapitole, aby na něm byly názorně ukázány různé techniky,
875 jak vytvářet noty. Proto si na tomto místě v kódu nevšímejte čehokoli,
876 co by vám přišlo záhadné, a soustřeďte se jen na noty
877 a hlasy. Složitější věci budou vysvětleny v pozdějších částech.
879 @c The following should appear as music without code
880 @lilypond[quote,ragged-right]
881 \new Staff \relative c'' {
890 % Ignore these for now - they are explained in Ch 4
891 \once \override NoteColumn #'force-hshift = #0
893 \once \override NoteColumn #'force-hshift = #0.5
901 Die Richtung der Hälse wird oft benutzt, um anzuzeigen, dass zwei
902 gleichzeitige Melodien sich fortsetzen. Hier zeigen die Hälse aller
903 oberen Noten nach oben und die Hälse aller unteren Noten nach unten.
904 Das ist der erste Anhaltspunkt, dass mehr als eine Stimme benötigt
907 Aber die wirkliche Notwendigkeit für mehrere Stimmen tritt erst
908 dann auf, wenn unterschiedliche Noten gleichzeitig erklingen, aber
909 unterschiedliche Dauern besitzen. Schauen Sie sich die Noten
910 auf dem dritten Schlag im ersten Takt an. Das As ist eine punktierte
911 Viertel, das F ist eine Viertel und das Des eine Halbe. Sie können
912 nicht als Akkord geschrieben werden, denn alle Noten in einem Akkord
913 besitzen die gleiche Dauer. Sie können aber auch nicht nacheinander
914 geschrieben werden, denn sie beginnen auf der gleichen Taktzeit. Dieser
915 Taktabschnitt benötigt drei Stimmen, und normalerweise schreibt man
916 drei Stimmen für den ganzen Takt, wie im Beispiel unten zu sehen ist;
917 hier sind unterschiedliche Köpfe und Farben für die verschiedenen Stimmen
918 eingesetzt. Noch einmal: der Quellcode für dieses Beispiel wird später
919 erklärt werden, deshalb ignorieren Sie alles, was Sie hier nicht
922 @c The following should appear as music without code
923 @c The three voice styles should be defined in -init
924 @lilypond[quote,ragged-right]
925 \new Staff \relative c'' {
936 \\ % No Voice three (we want stems down)
939 % Ignore these for now - they are explained in Ch 4
940 \once \override NoteColumn #'force-hshift = #0
942 \once \override NoteColumn #'force-hshift = #0.5
950 Versuchen wir also, diese Musik selber zu notieren. Wie wir sehen
951 werden, beinhaltet das einige Schwierigkeiten. Fangen wir an, wie
952 wir es gelernt haben, indem wir mit der @code{<< \\ >>}-Konstruktion
953 die drei Stimmen des ersten Taktes notieren:
955 @lilypond[quote,verbatim,ragged-right]
956 \new Staff \relative c'' {
959 { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des }
965 @cindex Hals nach unten
966 @cindex Hals nach oben
967 @cindex Notenhals, Richtung
968 @cindex Richtung des Notenhalses
969 @cindex Notenhalsrichtung
970 @cindex Stimmen und Notenhalsrichtung
971 @cindex Notenhalsrichtung in Stimmen
973 Die Richtung des Notenhalses wird automatisch zugewiesen; die ungeraden
974 Stimmen tragen Hälse nach oben, die gerade Hälse nach unten. Die Hälse
975 für die Stimmen 1 und 2 stimmen, aber die Hälse in der dritten Stimme
976 sollen in diesem Beispiel eigentlich nach unten zeigen. Wir können das
977 korrigieren, indem wir die dritte Stimme einfach auslassen und die
978 Noten in die vierte Stimme verschieben. Das wird einfach vorgenommen,
979 indem noch ein Paar @code{\\}-Stimmen hinzugefügt wird.
981 @lilypond[quote,verbatim,ragged-right]
982 \new Staff \relative c'' {
988 \\ % Omit Voice three
997 Wie zu sehen ist, ändert das die Richtung der Hälse, aber zeigt ein
998 anderes Problem auf, auf das man manchmal bei mehreren Stimmen stößt:
999 Die Hälse einer Stimme können mit den Hälsen anderer Stimmen kollidieren.
1000 LilyPond erlaubt Noten in verschiedenen Stimmen sich auf der gleichen
1001 vertikalen Position zu befinden, wenn die Hälse in entgegengesetzte
1002 Richtungen zeigen, und positioniert die dritte und vierte Stimme dann
1003 so, dass Zusammenstöße möglichst vermieden werden. Das funktioniert
1004 gewöhnlich recht gut, aber in diesem Beispiel sind die Noten der untersten
1005 Stimme eindeutig standardmäßig schlecht positioniert. LilyPond bietet
1006 verschiedene Möglichkeiten, die horizontale Position von Noten
1007 anzupassen. Wir sind aber noch nicht so weit, dass wir diese Funktionen
1008 anwenden könnten. Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in
1009 @ref{Oprava překrývajících se not}.
1013 Notationsreferenz: @ruser{Mehrere Stimmen}.
1016 @node Přímo vyjádřené začátky hlasů
1017 @subsection Přímo vyjádřené začátky hlasů
1018 @translationof Explicitly instantiating voices
1024 @funindex \voiceThree
1025 @funindex voiceThree
1026 @funindex \voiceFour
1030 @funindex \new Voice
1031 @cindex Voice context, erstellen von
1032 @cindex Stimmenkontexte, erstellen von
1034 Voice-Kontexte können auch manuell innerhalb
1035 eines @code{<< >>}-Abschnittes initiiert werden. Mit den Befehlen
1036 @code{\voiceOne} bis hin zu @code{\voiceFour} kann jeder Stimme
1037 entsprechendes Verhalten von vertikaler Verschiebung und Richtung
1038 von Hälsen und anderen Objekten hinzugefügt werden. In längeren
1039 Partituren können die Stimmen damit besser auseinander gehalten
1042 Die @code{<< \\ >>}-Konstruktion, die wir im vorigen Abschnitt
1048 << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
1058 \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
1059 \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
1063 Beide würden folgendes Notenbild erzeugen:
1065 @c The following example should not display the code
1066 @lilypond[ragged-right,quote]
1068 \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
1069 \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
1073 @cindex Stimmen, mehrere zu einer zusammenführen
1074 @cindex eine Stimme wiederherstellen
1076 Der @code{\voiceXXX}-Befehl setzt die Richtung von Hälsen,
1077 Bögen, Artikulationszeichen, Text, Punktierungen und Fingersätzen.
1078 @code{\voiceOne} und @code{\voiceThree} lassen diese Objekte
1079 nach oben zeigen, @code{\voiceTwo} und @code{\voiceFour}
1080 dagegen lassen sie abwärts zeigen. Diese Befehle erzeugen eine
1081 horizontale Verschiebung, wenn es erforderlich ist, um Zusammenstöße
1082 zu vermeiden. Der Befehl
1083 @code{\oneVoice} stellt wieder auf das normale Verhalten um.
1085 Schauen wir uns in einigen einfachen Beispielen an, was genau
1086 die Befehle @code{\oneVoice}, @code{\voiceOne} und @code{voiceTwo}
1087 mit Text, Bögen und Dynamikbezeichnung anstellen:
1089 @lilypond[quote,ragged-right,verbatim]
1091 % Default behavior or behavior after \oneVoice
1092 c4 d8~ d e4( f | g4 a) b-> c |
1096 @lilypond[quote,ragged-right,verbatim]
1099 c4 d8~ d e4( f | g4 a) b-> c |
1101 c,4 d8~ d e4( f | g4 a) b-> c |
1105 @lilypond[quote,ragged-right,verbatim]
1108 c4 d8~ d e4( f | g4 a) b-> c |
1110 c,4 d8~ d e4( f | g4 a) b-> c |
1114 Schauen wir und nun drei unterschiedliche Arten an, den gleichen
1115 Abschnitt polyphoner Musik zu notieren, jede Art mit ihren
1116 Vorteilen in unterschiedlichen Situationen. Wir benutzen dabei
1117 das Beispiel vom vorherigen Abschnitt.
1119 Ein Ausdruck, der direkt innerhalb einer @code{<< >>}-Umgebung
1120 auftritt, gehört der Hauptstimme an. Das ist nützlich, wenn zusätzliche
1121 Stimme auftreten, während die Hauptstimme sich fortsetzt. Hier also
1122 eine bessere Version des Beispiels aus dem vorigen Abschnitt. Die
1123 farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in
1124 einem einzigen Stimmen (@code{voice})-Kontext befindet. Somit kann ein
1125 Phrasierungsbogen ober sie gesetzt werden.
1127 @lilypond[quote,ragged-right,verbatim]
1128 \new Staff \relative c' {
1130 % The following notes are monophonic
1132 % Start simultaneous section of three voices
1134 % Continue the main voice in parallel
1135 { g4 f e | d2 e) | }
1136 % Initiate second voice
1138 % Set stems, etc., down
1140 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
1142 % Initiate third voice
1144 % Set stems, etc, up
1152 @cindex Verschachteln von musikalischen Ausdrücken
1153 @cindex Verschachteln von gleichzeitigen Ausdrücken
1154 @cindex Ausdrücke, Verschachteln von
1155 @cindex Stimmen, temporär
1156 @cindex Stimmen, Verschachteln von
1157 @cindex Verschachteln von Stimmen
1158 @cindex temporäre Stimmen
1160 Tiefer verschachtelte polyphone Konstrukte sind möglich, und
1161 wenn eine Stimme nur kurz auftaucht, kann das der bessere Weg
1162 sein, Noten zu setzen:
1164 @lilypond[quote,ragged-right,verbatim]
1165 \new Staff \relative c' {
1168 { g4 f e | d2 e2) | }
1173 { c8 b16 a b8 g~ g2 | }
1184 @cindex Platzhalternoten
1185 @cindex unsichtbare Noten
1186 @cindex Noten verstecken
1188 Diese Methode, neue Stimmen kurzzeitig zu verschachteln, bietet sich
1189 an, wenn nur sehr kleine Abschnitte polyphonisch gesetzt sind. Wenn
1190 aber die ganze Partitur polyphon ist, ist es meistens klarer, direkt
1191 unterschiedliche Stimmen über die gesamte Partitur hinweg einzusetzen.
1192 Hierbei kann man mit unsichtbaren Noten dann die Stellen überspringen,
1193 an denen die Stimme nicht auftaucht, wie etwa hier:
1195 @lilypond[quote,ragged-right,verbatim]
1196 \new Staff \relative c' <<
1197 % Initiate first voice
1200 c16^( d e f g4 f e | d2 e) |
1202 % Initiate second voice
1204 % Set stems, etc, down
1206 s4 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
1208 % Initiate third voice
1210 % Set stems, etc, up
1217 @subsubheading Notenkolumnen
1219 @cindex Notenkolumne
1220 @cindex Notenkollision
1221 @cindex Zusammenstöße von Noten
1222 @cindex Kollisionen von Noten
1223 @cindex Vertikale Position
1224 @cindex shift-Befehle
1225 @cindex Verschieben von Noten
1229 @funindex \shiftOnnn
1235 Dicht notierte Noten in einem Akkord, oder Noten auf der gleichen
1236 Taktzeit aber in unterschiedlichen Stimmen, werden in zwei, manchmal
1237 auch mehreren Kolumnen gesetzt, um die Noten am Überschneiden zu
1238 hindern. Wir bezeichnen sie als Notenkolumnen. Jede Stimme hat
1239 eine eigene Kolumne, und ein stimmenabhängiger Verschiebunsbefehl (engl.
1240 shift) wird eingesetzt, wenn eine Kollision auftreten könnte.
1241 Das zeigt das Beispiel oben. Im zweiten Takt wird das C der zweiten
1242 Stimme nach rechts verschoben, relativ gesehen zum D der ersten Stimme,
1243 und im letzten Akkord wird das C der dritten Stimme auch nach
1244 rechts verschoben im Verhältnis zu den anderen Stimmen.
1246 Die Befehle @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} und
1247 @code{\shiftOff} bestimmen den Grad, zu dem Noten und Akkorde
1248 verschoben werden sollen, wenn sich sonst eine Kollision nicht
1249 vermeiden ließe. Die Standardeinstellung ist, dass die äußeren
1250 Stimmen (also normalerweise Stimme 1 und 2) @code{\shiftOff}
1251 eingestellt haben, während für die inneren Stimmen (3 und 4)
1252 @code{\shiftOn} eingeschaltet ist. Wenn eine Verschiebung
1253 auftritt, werden Stimmen 1 und 3 nach rechts und Stimmen 2 und 4
1254 nach links verschoben.
1256 @code{\shiftOnn} und @code{\shiftOnnn} definieren weitere
1257 Verschiebungsebenen, die man kurzzeitig anwählen kann, um
1258 Zusammenstöße in komplexen Situationen aufzulösen, siehe auch
1259 @ref{Příklady ze života}.
1261 Eine Notenkolumne kann nur eine Note (oder einen Akkord) von
1262 einer Stimme mit Hälsen nach oben und eine Note (oder einen
1263 Akkord) von einer Stimme mit Hälsen nach unten tragen. Wenn
1264 Noten von zwei Stimmen mit den Hälsen in die gleiche Richtung
1265 an der selben Stelle auftreten und in beiden Stimmen ist
1266 keine Verschiebung oder die gleiche Verschiebungsebene
1267 definiert, wird die Fehlermeldung
1268 @qq{zu viele kollidierende Notenspalten werden ignoriert}
1273 Notationsreferenz: @ruser{Mehrere Stimmen}.
1277 @subsection Hlasy a zpěvy
1278 @translationof Voices and vocals
1280 Die Notation von Vokalmusik ihre eigene Schwierigkeit, nämlich
1281 die Kombination von zwei Ausdrücken: den Noten und dem Text.
1282 Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt.
1285 @funindex \new Lyrics
1289 @cindex Lyrics context, erstellen
1290 @cindex Gesangtext, Verbindung mit Noten
1292 Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet,
1293 mit dem einfache Partituren gut erstellt werden können.
1294 Diese Methode ist jedoch recht eingeschränkt. Wenn der Notensatz
1295 komplexer wird, muss der Gesangstext mit einem neuen
1296 @code{Lyrics}-Kontext begonnen werden (mit dem Befehl
1297 @code{\new Lyrics}) und durch den Befehl @code{\lyricsto@{@}}
1298 mit einer bestimmten Stimme verknüpft werden, indem die
1299 Bezeichnung der Stimme benutzt wird.
1301 @lilypond[quote,verbatim]
1303 \new Voice = "one" {
1307 c4 b8. a16 | g4. f8 | e4 d | c2 |
1310 \new Lyrics \lyricsto "one" {
1311 No more let | sins and | sor -- rows | grow. |
1316 Beachten Sie, dass der Notentext nur mit einem @code{Voice}-Kontext
1317 verknüpft werden kann, nicht mit einem @code{Staff}-Kontext.
1318 In diesem Fall also müssen Sie ein System (@code{Staff}) und
1319 eine Stimme (@code{Voice}) explizit erstellen, damit alles
1322 @cindex Gesangstext und Balken
1323 @cindex Text und Balken
1324 @cindex Balken und Text
1325 @funindex \autoBeamOff
1326 @funindex autoBeamOff
1328 Die automatischen Balken, die LilyPond in der Standardeinstellung
1329 setzt, eignen sich sehr gut für instrumentale Musik, aber nicht
1330 so gut für Musik mit Text, wo man entweder gar keine Balken
1331 benutzt oder sie einsetzt, um Melismen zu verdeutlichen.
1332 Im Beispiel oben wird deshalb der Befehl @code{\autoBeamOff}
1333 eingesetzt um die automatischen Balken (engl. beam) auszuschalten.
1335 @funindex \new ChoirStaff
1336 @funindex \lyricmode
1337 @funindex ChoirStaff
1339 @cindex Vokalpartitur, Aufbau
1340 @cindex Chorpartitur, Aufbau
1342 Wir wollen das frühere Beispiel von @notation{Judas Maccabæus}
1343 benutzen, um diese flexiblere Technik für Gesangstexte
1344 zu illustrieren. Das Beispiel wurde so umgeformt, dass jetzt
1345 Variablen eingesetzt werden, um den Text und die Noten
1346 von der Partiturstruktur zu trennen. Es wurde zusätzlich
1347 eine Chorpartiturklammer hinzugefügt. Der Gesangtext muss mit
1348 @code{\lyricmode} eingegeben werden, damit er als Text und
1349 nicht als Noten interpretiert werden kann.
1351 @lilypond[quote,verbatim]
1352 global = { \key f \major \time 6/8 \partial 8 }
1354 SopOneMusic = \relative c'' {
1355 c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ c4
1357 SopOneLyrics = \lyricmode {
1358 Let | flee -- cy flocks the | hills a -- dorn, __
1360 SopTwoMusic = \relative c' {
1361 r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1363 SopTwoLyrics = \lyricmode {
1364 Let | flee -- cy flocks the | hills a -- dorn,
1370 \new Voice = "SopOne" {
1374 \new Lyrics \lyricsto "SopOne" {
1379 \new Voice = "SopTwo" {
1383 \new Lyrics \lyricsto "SopTwo" {
1391 Dies ist die Grundstruktur für alle Chorpartituren. Mehr
1392 Systeme können hinzugefügt werden, wenn sie gebraucht werden, mehr
1393 Stimmen können zu jedem System hinzugefügt werden, mehr
1394 Strophen können zum Text hinzugefügt werden, und schließlich
1395 können die Variablen schnell in eine eigene Datei verschoben
1396 werden, wenn sie zu lang werden sollten.
1398 @cindex Choralnotation
1399 @cindex Hymnus-Notation
1400 @cindex SATB-Partitur
1401 @cindex mehrere Strophen
1402 @cindex Strophen, mehrere
1403 @cindex Choral mit mehreren Strophen
1405 Hier ein Beispiel der ersten Zeile eines Chorals mit vier
1406 Strophen für gemischten Chor. In diesem Fall ist der Text
1407 für alle vier Stimmen identisch. Beachten Sie, wie die
1408 Variablen eingesetzt werden, um Inhalt (Noten und Text) und Form
1409 (die Partitur) voneinander zu trennen. Eine Variable wurde
1410 eingesetzt, um die Elemente, die auf beiden Systemen auftauchen,
1411 aufzunehmen, nämlich Taktart und Tonart. Solch eine
1412 Variable wird oft auch mit @qq{global} bezeichnet.
1414 @lilypond[quote,verbatim]
1415 keyTime = { \key c \major \time 4/4 \partial 4 }
1417 SopMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
1418 AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
1419 TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1420 BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
1423 \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1425 \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1427 \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1429 \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1435 \new Voice = "Sop" { \voiceOne \keyTime \SopMusic }
1436 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1437 \new Lyrics \lyricsto "Sop" { \VerseOne }
1438 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1439 \new Lyrics \lyricsto "Sop" { \VerseThree }
1440 \new Lyrics \lyricsto "Sop" { \VerseFour }
1444 \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1445 \new Voice = "Bass" { \voiceTwo \BassMusic }
1453 Notation Reference: @ruser{Notation von Gesang}.
1456 @node Prostředí a rytci
1457 @section Prostředí a rytci
1458 @translationof Contexts and engravers
1460 Prostředí a rytci (@qq{Stempel}) sind in den vorherigen
1461 Abschnitten schon aufgetaucht; hier wollen wir uns ihnen
1462 nun etwas ausführlicher widmen, denn sie sind sehr
1463 wichtig, um Feineinstellungen in der LilyPond-Notenausgabe
1464 vornehmen zu können.
1467 * Vysvětlení prostředí::
1468 * Vytvoření prostředí::
1469 * Vysvětlení rytců::
1470 * Změna vlastností prostředí::
1471 * Přidání a odstranění rytců::
1474 @node Vysvětlení prostředí
1475 @subsection Vysvětlení prostředí
1476 @translationof Contexts explained
1478 @cindex Kontexte erklärt
1480 Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe
1482 die im Quellcode gar nicht explizit vorkommen. Vergleichen Sie
1483 etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
1485 @lilypond[quote,verbatim,relative=2]
1486 cis4 cis2. | a4 a2. |
1489 Der Quellcode ist sehr kurz und knapp, während in der
1490 Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und
1491 eine Taktart hinzugefügt wurden. Während LilyPond
1492 den Eingabetext @emph{interpretiert}, wird die
1493 musikalische Information von rechts nach links gelesen,
1494 in etwa, wie man eine Partitur von links nach
1495 rechts liest. Während das Programm den Code liest,
1496 merkt es sich, wo sich Taktgrenzen befinden und
1497 für welche Tonhöhen Versetzungszeichen gesetzt werden
1498 müssen. Diese Information muss auf mehreren Ebenen
1499 gehandhabt werden, denn Versetzungszeichen etwa
1500 beziehen sich nur auf ein System, Taktlinien dagegen
1501 üblicherweise auf die gesamte Partitur.
1503 Innerhalb von LilyPond sind diese Regeln und
1504 Informationshappen in @emph{Kontexten} (engl.
1505 contexts) gruppiert. Der @code{Voice} (Stimmen)-Kontext
1506 wurde schon vorgestellt. Daneben
1507 gibt es noch die @code{Staff} (Notensystem-) und
1508 @code{Score} (Partitur)-Kontexte. Kontexte sind
1509 hierarchisch geschichtet um die hierarchische
1510 Struktur einer Partitur zu spiegeln. Ein @code{Staff}-Kontext
1511 kann zum Beispiel viele @code{Voice}-Kontexte beinhalten,
1512 und ein @code{Score}-Kontext kann viele
1513 @code{Staff}-Kontexte beinhalten.
1516 @sourceimage{context-example,5cm,,}
1519 Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln
1520 zu erzwingen, bestimmte Notationsobjekte zu erstellen und
1521 verbundene Elemente zu ordnen. Der @code{Voice}-Kontext
1522 zum Beispiel kann eine Vorzeichenregel einführen und der
1523 @code{Staff}-Kontext hält diese Regel dann aufrecht, um
1524 einzuordnen, ob ein Versetzungszeichen gesetzt werden
1527 Ein anderes Beispiel: die Synchronisation der Taktlinien ist
1528 standardmäßig im @code{Score}-Kontext verankert. Manchmal sollen
1529 die Systeme einer Partitur aber unterschiedliche Taktarten
1530 enthalten, etwa in einer polymetrischen Partitur mit
1531 4/4- und 3/4-Takt. In diesem Fall müssen also die Standardeinstellungen
1532 der @code{Score}- und @code{Staff}-Kontexte verändert werden.
1534 In einfachen Partituren werden die Kontexte implizit erstellt,
1535 und es kann sein, dass Sie sich dessen gar nicht bewusst sind.
1536 Für etwas größere Projekte, etwa mit vielen Systemen, müssen
1537 die Kontexte aber explizit erstellt werden, um sicher zu gehen,
1538 dass man auch wirklich die erwünschte Zahl an Systemen in der
1539 richtigen Reihenfolge erhält. Wenn Stücke mit spezialisierter
1540 Notation gesetzt werden sollen, ist es üblich, die existierenden
1541 Kontexte zu verändern oder gar gänzlich neue zu definieren.
1543 Zusätzlich zu den @code{Score,} @code{Staff} und
1544 @code{Voice}-Kontexten gibt es noch Kontexte, die zwischen
1545 der Partitur- und Systemebene liegen und Gruppen von Systemen
1546 kontrollieren. Das sind beispielsweise der
1547 @code{PianoStaff} und @code{ChoirStaff}-Kontext. Es gibt zusätzlich
1548 alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte
1549 für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw.
1551 Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren
1553 Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben
1554 begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich
1556 @code{GregorianTranscriptionStaff}.
1560 Notationreferenz: @ruser{Vysvětlení prostředí}.
1563 @node Vytvoření prostředí
1564 @subsection Vytvoření prostředí
1565 @translationof Creating contexts
1569 @cindex Neue Kontexte
1570 @cindex Erstellen von Kontexten
1571 @cindex Kontexte, Erstellen
1573 In einer Eingabedatei enthält eine @code{Score}-Umgebung (einen
1575 dem Befehl @code{\score} eingeleitet wird, nur einen einzigen
1576 musikalischen Ausdruck und mit ihm verknüpft eine Ausgabedefinition
1577 (entweder eine @code{\layout}- oder eine @code{\midi}-Umgebung).
1578 Üblicherweise wird der @code{Score}-Kontext automatisch von
1579 LilyPond erstellt, wenn der musikalische Ausdruck interpretiert
1582 Wenn nur ein System vorhanden ist, kann man es ruhig
1583 LilyPond überlassen, auch die @code{Voice}- und @code{Staff}-Kontexte
1584 zu erstellen, aber für komplexere Partituren ist es notwendig,
1585 sie mit einem Befehl zu erstellen. Der einfachste Befehl
1586 hierzu ist @code{\new}. Er wird dem musikalischen Ausdruck
1587 vorangestellt, etwa so:
1590 \new @var{Typ} @var{musikalischer Ausdruck}
1594 wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
1595 @code{Voice}) ist. Dieser Befehl erstellt einen neuen Kontext und
1596 beginnt, den @var{muskalischen Ausdruck} innerhalb dieses
1597 Kontexts auszuwerten.
1599 @warning{Der @bs{}@code{new Score}-Befehl sollte nicht benutzt werden,
1600 weil der Partitur-(Score)-Kontext der obersten Ebene
1601 normalerweise automatisch erstellt wird, wenn der musikalische Ausdruck
1602 innerhalb der @code{\score}-Umgebung interpretiert wird. Standard-Werte
1603 von Kontexteigenschaften, die für einen bestimmten @code{Score} gelten
1604 sollen, können innerhalb der @bs{}@code{layout}-Umgebung definiert werden.
1605 Siehe @ref{Změna vlastností prostředí,,změnu vlastností prostředí}.}
1607 Wir haben schon viele explizite Beispiel gesehen, in denen
1608 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
1609 um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt
1610 werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:
1612 @lilypond[quote,verbatim,ragged-right]
1613 \score { % start of single compound music expression
1614 << % start of simultaneous staves section
1616 \new Staff { % create RH staff
1619 \new Voice { % create voice for RH notes
1620 \relative c'' { % start of RH notes
1626 \new Staff << % create LH staff; needs two simultaneous voices
1629 \new Voice { % create LH voice one
1631 \relative g { % start of LH voice one notes
1632 g8 <bes d> ees, <g c>
1633 g8 <bes d> ees, <g c>
1634 } % end of LH voice one notes
1635 } % end of LH voice one
1636 \new Voice { % create LH voice two
1638 \relative g { % start of LH voice two notes
1641 } % end of LH voice two notes
1642 } % end of LH voice two
1643 >> % end of LH staff
1644 >> % end of simultaneous staves section
1645 } % end of single compound music expression
1648 (Beachten Sie, dass wir hier alle Zeilen, die eine neue
1649 Umgebung entweder mit einer geschweiften Klammer (@code{@{})
1650 oder doppelten spitzen Klammern (@code{<<}) öffnen, mit
1651 jeweils zwei Leerzeichen, und die entsprechenden
1652 schließenden Klammern mit der gleichen Anzahl Leerzeichen
1653 eingerückt werden. Dies ist nicht erforderlich, es wird aber
1654 zu einem großen Teil die nicht passenden Klammerpaar-Fehler
1655 eliminieren und ist darum sehr empfohlen. Es macht es
1656 möglich, die Struktur einer Partitur auf einen Blick zu
1657 verstehen, und alle nicht passenden Klammern
1658 erschließen sich schnell. Beachten Sie auch, dass das
1659 untere Notensystem mit eckigen Klammern erstellt wird,
1660 denn innerhalb dieses Systems brauchen wir zwei Stimmen,
1661 um die Noten darzustellen. Das obere System braucht
1662 nur einen einzigen musikalischen Ausdruck und ist deshalb
1663 von geschweiften Klammern umschlossen.)
1665 @cindex Kontexte, Benennung
1666 @cindex Benennung von Kontexten
1668 Der @code{\new}-Befehl kann einem Kontext auch einen
1669 Namen zur Identifikation geben, um ihn von anderen Kontexten des
1670 selben Typs zu unterscheiden:
1673 \new @var{Typ} = @var{Name} @var{musikalischer Ausdruck}
1676 Beachten Sie den Unterschied zwischen der Bezeichnung des
1677 Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem
1678 Namen, der aus beliebigen Buchstaben bestehen kann
1679 und vom Benutzer frei erfunden werden kann. Zahlen und
1680 Leerzeichen können auch benutzt werden, in dem Fall
1681 muss der Name aber von doppelten Anführungszeichen
1682 umgeben werden, also etwa
1683 @code{\new Staff = "Mein System 1" @var{musikalischer Ausdruck}}.
1685 benutzt, um später auf genau diesen spezifischen Kontext
1686 zu verweisen. Dieses Vorgehen wurde schon in dem Abschnitt
1687 zu Gesangstexten angewandt, siehe @ref{Hlasy a zpěvy,,hlasy a zpěvy}.
1691 Notationsreferenz: @ruser{Vytvoření prostředí}.
1694 @node Vysvětlení rytců
1695 @subsection Vysvětlení rytců
1696 @translationof Engravers explained
1699 @cindex Stempel (Engraver)
1701 Jedes Zeichen des fertigen Notensatzes von LilyPond wird
1702 von einem @code{Engraver} (Stempel) produziert. Es gibt
1703 also einen Engraver, der die Systeme erstellt, einen, der die
1704 Notenköpfe ausgibt, einen für die Hälse, einen für die
1705 Balken usw. Insgesamt gibt es über 120 Engraver! Zum
1706 Glück braucht man für die meisten Partituren nur ein
1707 paar Engraver, und für einfache Partituren muss man eigentlich
1708 überhaupt nichts über sie wissen.
1710 Engraver leben und wirken aus den Kontexten heraus. Engraver
1711 wie der @code{Metronome_mark_engraver}, dessen Aktion
1712 und Ausgabe sich auf die gesamte Partitur bezieht, wirken
1713 in der obersten Kontextebene -- dem @code{Score}-Kontext.
1715 Der @code{Clef_engraver} (Schlüssel-Stempel) und der
1716 @code{Key_engraver} (Vorzeichen-Stempel) finden sich in
1717 jedem @code{Staff}-Kontext, denn unterschiedliche Systeme
1718 könnten unterschiedliche Tonarten und Notenschlüssel
1721 Der @code{Note_heads_engraver} (Notenkopf-Stempel) und der
1722 @code{Stem_engraver} (Hals-Stempel) befinden sich in jedem
1723 @code{Voice}-Kontext, der untersten Kontextebene.
1725 Jeder Engraver bearbeitet die bestimmten Objekte, die mit
1726 seiner Funktion assoziiert sind, und verwaltet die Eigenschaften
1727 dieser Funktion. Diese Eigenschaften, wie etwa die Eigenschaften,
1728 die mit Kontexten assoziiert sind, können verändert werden,
1729 um die Wirkungsweise des Engravers oder das Erscheinungsbild
1730 der von ihm produzierten Elemente in der Partitur zu ändern.
1732 Alle Engraver haben zusammengesetzte Bezeichnung, die aus
1733 den (englischen) Wörtern ihrer Funktionsweise bestehen. Nur
1734 das erste Wort hat einen Großbuchstaben, und die restlichen
1735 Wörter werden mit einem Unterstrich angefügt. Ein
1736 @code{Staff_symbol_engraver} verantwortet also die Erstellung
1737 der Notenlinien, ein @code{Clef_engraver} entscheidet über die
1738 Art der Notenschlüssel und setzt die entsprechenden Symbole; damit
1739 wird gleichzeitig die Referenztonhöhe auf dem Notensystem festgelegt.
1741 Hier die meistgebräuchlichen Engraver mit ihrer Funktion.
1742 Sie werden sehen, dass es mit etwas Englischkenntnissen
1743 einfach ist, die Funktion eines Engravers von seiner Bezeichnung
1746 @multitable @columnfractions .3 .7
1749 @item Accidental_engraver
1750 @tab Erstellt Versetzungszeichen, vorgeschlagene und Warnversetzungszeichen.
1752 @tab Erstellt Balken.
1754 @tab Erstellt Notenschlüssel.
1755 @item Completion_heads_engraver
1756 @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen.
1757 @c The old Dynamic_engraver is deprecated. -jm
1758 @item New_dynamic_engraver
1759 @tab Erstellt Dynamik-Klammern und Dynamik-Texte.
1760 @item Forbid_line_break_engraver
1761 @tab Verbietet Zeilenumbrüche, solange ein musikalisches Element aktiv ist.
1763 @tab Erstellt die Vorzeichen.
1764 @item Metronome_mark_engraver
1765 @tab Erstellt Metronom-Bezeichnungen.
1766 @item Note_heads_engraver
1767 @tab Erstellt Notenköpfe.
1769 @tab Erstellt Pausen.
1770 @item Staff_symbol_engraver
1771 @tab Ersetllt die (standardmäßig) fünf Notenlinien des Systems.
1773 @tab Erstellt die Notenhälse und Tremolos mit einem Hals.
1774 @item Time_signature_engraver
1775 @tab Erstellt die Taktartbezeichnung.
1780 Es soll später gezeigt werden, wie die LilyPond-Ausgabe
1781 verändert werden kann, indem die Wirkungsweise der
1782 Engraver beeinflusst wird.
1786 Referenz der Interna: @rinternals{Engravers and Performers}.
1789 @node Změna vlastností prostředí
1790 @subsection Změna vlastností prostředí
1791 @translationof Modifying context properties
1793 @cindex Kontext-Eigenschaften, Verändern
1794 @cindex Eigenschaften von Kontexten
1795 @cindex Verändern von Kontext-Eigenschaften
1801 Kontexte sind dafür verantwortlich, die Werte bestimmter
1802 Kontext-@emph{Eigenschaften} zu speichern. Viele davon
1803 können verändert werden, um die Interpretation der
1804 Eingabe zu beeinflussen und die Ausgabe zu verändern.
1805 Kontexte werden mit dem @code{\set}-Befehl geändert.
1809 \set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert}
1813 verwendet, wobei @var{KontextBezeichnung} üblicherweise
1815 @code{Staff} oder @code{Voice} ist. Der erste Teil kann auch
1816 ausgelassen werden; in diesem Fall wird der aktuelle
1817 Kontext (üblicherweise @code{Voice}) eingesetzt.
1819 Die Bezeichnung von Kontexten-Eigenschaften besteht
1820 aus zwei Wörtern, die ohne Unterstrich oder Bindestrich
1821 verbunden sind. Alle außer dem ersten werden am Anfang
1822 groß geschrieben. Hier einige Beispiele der gebräuchlichsten
1823 Kontext-Eigenschaften. Es gibt sehr viel mehr.
1825 @c attempt to force this onto a new page
1827 @multitable @columnfractions .25 .15 .45 .15
1828 @headitem eigenschaftsBezeichnung
1833 @tab boolescher Wert
1834 @tab Wenn wahr, werden zusätzliche Auflösungszeichen vor Versetzungszeichen gesetzt.
1835 @tab @code{#t}, @code{#f}
1836 @item currentBarNumber
1838 @tab Setzt die aktuelle Taktnummer.
1841 @tab boolescher Wert
1842 @tab Wenn wahr, werden Legatobögen über und unter die Noten gesetzt.
1843 @tab @code{#t}, @code{#f}
1844 @item instrumentName
1846 @tab Setzt die Instrumentenbezeichnung am Anfang eines Systems.
1847 @tab @code{"Cello I"}
1850 @tab Vergrößert oder verkleinert die Schriftgröße.
1854 @tab Setzt den Text zu Beginn einer Strophe.
1859 Ein boolescher Wert ist entweder wahr (@code{#t})
1860 oder falsch (@code{#f}),
1861 ein Integer eine positive ganze Zahl, ein Real (reelle Zahl) eine positive
1862 oder negative Dezimalzahl, und Text wird in doppelte
1863 Anführungszeichen (Shift+2) eingeschlossen. Beachten Sie
1864 das Vorkommen des Rautenzeichens
1865 (@code{#}) an unterschiedlichen Stellen: als Teil eines
1866 booleschen Wertes vor dem @code{t} oder @code{f}, aber
1867 auch vor einem @emph{Wert} in der
1868 @code{\set}-Befehlskette. Wenn ein boolescher Wert
1869 eingegeben werden soll, braucht man also zwei
1870 Rautenzeichen, z. B. @code{##t}.
1872 @cindex Eigenschaften in Kontexten
1873 @cindex Veränderung von Eigenschaften in Kontexten
1875 Bevor eine Eigenschaft geändert werden kann, muss man wissen,
1876 in welchem Kontext sie sich befindet. Manchmal versteht das
1877 sich von selbst, aber in einigen Fällen kann es zunächst
1878 unverständlich erscheinen. Wenn der falsche Kontext angegeben
1879 wird, wird keine Fehlermeldung produziert, aber die
1880 Veränderung wird einfach nicht ausgeführt.
1881 @code{instrumentName} befindet sich offensichtlich innerhalb
1882 von einem @code{Staff}-Kontext, denn das Notensystem soll
1883 benannt werden. In dem folgenden Beispiel erhält das erste
1884 System korrekt die Instrumentenbezeichnung, das zweite aber
1885 nicht, weil der Kontext ausgelassen wurde.
1887 @lilypond[quote,verbatim,ragged-right]
1889 \new Staff \relative c'' {
1890 \set Staff.instrumentName = #"Soprano"
1893 \new Staff \relative c' {
1894 \set instrumentName = #"Alto" % Wrong!
1900 Denken Sie daran, dass der Standardkontext @code{Voice} ist; in dem
1901 zweiten @code{\set}-Befehl wird also die Eigenschaft @code{instrumentName}
1902 im @code{Voice}-Kontext auf @qq{Alto}, gesetzt, aber weil LilyPond diese
1903 Eigenschaft nicht im @code{Voice}-Kontext vermutet, passiert einfach
1904 gar nichts. Das ist kein Fehler, und darum wird auch keine Fehlermeldung
1907 Ebenso gibt es keine Fehlermeldung, wenn die Kontext-Bezeichnung
1908 falsch geschrieben wird und die Änderung also nicht ausgeführt werden
1909 kann. Tatsächlich kann eine beliebige (ausgedachte) Kontextbezeichnung
1910 mit dem @code{\set}-Befehl eingesetzt werden, genauso wie die, die
1911 wirklich existieren. Aber wenn LilyPond diese Bezeichnung nicht
1912 zuordnen kann, bewirkt der Befehl einfach gar nichts. Manche Editoren,
1913 die Unterstützung für LilyPond-Befehle mitbringen, markieren existierende
1914 Kontextbezeichnungen mit einem Punkt, wenn man mit der Maus darüber
1915 fährt (wie etwa JEdit mit dem LilyPondTool), oder markieren
1916 unbekannte Bezeichnungen anders (wie ConTEXT). Wenn Sie keinen
1917 Editor mit LilyPond-Unterstützung einsetzen, wird empfohlen, die
1918 Bezeichnungen in der Interna-Referenz zu überprüfen: siehe
1919 @rinternals{Tunable context properties}, oder
1920 @rinternals{Contexts}.
1922 Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie
1923 in einem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften
1924 können in mehr als einem Kontext benutzt werden. Als Beispiel mag die
1925 @code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen
1926 setzt. Die Standardeinstellung ist ##t (wahr) in allen Systemen.
1927 Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch)
1928 gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus. Wird
1929 sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das
1930 auf alle darin enthaltenen Systeme aus.
1932 Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System
1935 @lilypond[quote,verbatim,ragged-right]
1937 \new Staff \relative c'' {
1940 \new Staff \relative c'' {
1941 \set Staff.extraNatural = ##f
1948 während das dazu dient, sie in allen Systemen auszuschalten:
1950 @lilypond[quote,verbatim,ragged-right]
1952 \new Staff \relative c'' {
1955 \new Staff \relative c'' {
1956 \set Score.extraNatural = ##f
1962 Ein anderes Beispiel ist die Eigenschaft @code{clefOctavation}:
1963 wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort
1964 der Wert der Oktavierung in allen aktuellen Systemen und wird
1965 auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt.
1967 Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft
1968 effektiv wieder von dem Kontext: in den meisten Fällen wird der
1969 Kontext auf ihre Standardeinstellungen zurückgesetzt.
1970 Normalerweise wird aber @code{\unset} nicht benötigt,
1971 denn ein neues @code{\set} erledigt alles, was man braucht.
1973 Die @code{\set}- und @code{\unset}-Befehle könne überall im
1974 Eingabequelltext erscheinen und werden aktiv von dem Moment, an
1975 dem sie auftreten bis zum Ende der Partitur oder bis die Eigenschaft
1976 mit @code{\set} oder @code{\unset} neu gesetzt wird. Versuchen
1977 wir als Beispiel, die Schriftgröße mehrmals zu ändern, was sich unter anderem
1978 auf die Notenköpfe auswirkt. Die Änderung bezieht sich immer auf den Standard,
1979 nicht vom letzten gesetzten Wert.
1981 @lilypond[quote,verbatim,ragged-right,relative=1]
1983 % make note heads smaller
1986 % make note heads larger
1987 \set fontSize = #2.5
1989 % return to default size
1994 Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
1995 Eigenschaften ändern lassen. Beachten Sie, dass Integer und
1996 Zahlen immer mit einem Rautenzeichen beginnen, während
1997 die Werte wahr und falsch (mit @code{##t} und @code{##f}
1998 notiert) immer mit zwei Rauten beginnen. Eine Eigenschaft, die
1999 aus Text besteht, muss in doppelte Anführungsstriche gesetzt werden,
2000 auch wenn wir später sehen werden, dass Text auf eine sehr viel
2001 allgemeinere und mächtigere Art mit dem @code{\markup}-Befehl
2002 eingegeben werden kann.
2004 @subsubheading Kontexteigenschaften mit @code{\with} setzen
2008 @cindex Kontexteigenschaft, setzen mit \with
2010 Die Standardwerte von Kontexteigenschaften können zu dem Zeitpunkt
2011 definiert werden, an welchem der Kontext erstellt wird. Manchmal
2012 ist das eine saubere Weise, eine Eigenschaft zu bestimmen, die für
2013 die gesamte Partitur erhalten bleichen soll. Wenn ein Kontext mit
2014 einem @code{\new}-Befehl erstellt wird, können in einer
2015 direkt folgenden @code{\with @{ .. @}}-Umgebung die Eigenschaften
2016 bestimmt werden. Wenn also die zusätzlichen
2017 Auflösungszeichen für eine ganze Partitur gelten sollen, könnte
2021 \new Staff \with @{ extraNatural = ##f @}
2027 @lilypond[quote,verbatim,ragged-right]
2033 \new Staff \with { extraNatural = ##f } {
2041 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
2042 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
2043 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden,
2044 wie sie vorher in der @code{\with}-Umgebung definiert wurden.
2046 @cindex Schriftgröße, Standardeinstellung
2047 @cindex fontSize (Schriftgröße), Standardeinstellung
2049 Wenn also die @code{fontSize}-Eigenschaft in einer @code{\with}-Umgebung
2050 definiert wird, wird der Standardwert für die Schriftgröße
2051 festgelegt. Wenn dieser Wert später mit @code{\set} verändert
2052 wird, kann dieser neue Standardwert mit dem Befehl
2053 @code{\unset fontSize} wieder erreicht werden.
2055 @subsubheading Kontexteigenschaften mit @code{\context} setzen
2057 @cindex Kontexteigenschaften, mit \context setzen
2058 @cindex Eigenschaften von Kontexten, mit \context setzen
2062 Die Werte von Kontext-Eigenschaften können in @emph{allen} Kontexten
2063 eines bestimmten Typs (etwa alle @code{Staff}-Kontexte)
2064 gleichzeitig mit einem Befehl gesetzt werden. Der Kontext wird
2065 spezifiziert, indem seine Bezeichnung benutzt wird, also etwa
2066 @code{Staff}, mit einem Backslash davor: @code{\Staff}. Der Befehl
2067 für die Eigenschaft ist der gleiche, wie er auch in der
2068 @code{\with}-Konstruktion benutzt wird, wie oben gezeigt. Er wird in
2069 eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
2070 von einer @code{\layout}-Umgebung steht. Jede @code{\context}-Umgebung
2071 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
2072 aktuellen Partitur befinden (d. h. innerhalb einer @code{\score}-
2073 oder @code{\book}-Umgebung). Hier ist ein Beispiel, wie man diese
2076 @lilypond[verbatim,quote]
2092 Wenn die Veränderung der Eigenschaft sich auf alle Systeme einer
2093 @code{score}-Umgebung beziehen soll:
2095 @lilypond[quote,verbatim]
2111 \Score extraNatural = ##f
2118 Kontext-Eigenschaften, die auf diese Weise gesetzt werden, können für
2119 bestimmten Kontexte überschrieben werden, indem die
2120 @code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
2121 innerhalb der aktuellen Noten.
2126 @ruser{Die Standardeinstellungen von Kontexten ändern},
2127 @ruser{Der set-Befehl}.
2129 Referenz der Interna:
2130 @rinternals{Contexts},
2131 @rinternals{Tunable context properties}.
2134 @node Přidání a odstranění rytců
2135 @subsection Přidání a odstranění rytců
2136 @translationof Adding and removing engravers
2138 @cindex Engraver, Hinzufügen von
2139 @cindex Engraver, Entfernen von
2140 @cindex Hinzufügen von Engravern
2141 @cindex Entfernen von Engravern
2148 Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern
2149 (Stempeln) beinhaltet, von denen ein jeder einen bestimmten
2150 Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien,
2151 Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus
2152 einem Kontext entfernt wird, kann er seine Objekte nicht
2153 länger produzieren. Das ist eine eher grobe Methode, die
2154 Notenausgabe zu beeinflussen, aber es kann von großem
2158 @subsubheading Einen einzelnen Kontext verändern
2160 Um einen Engraver von einem einzelnen Kontext zu entfernen,
2161 wir der @code{\with}-Befehl eingesetzt, direkt hinter
2162 den Befehl zur Kontext-Erstellung geschrieben, wie
2163 in dem vorigen Abschnitt gezeigt.
2165 Als ein Beispiel wollen wir das Beispiel aus dem letzten
2166 Abschnitt produzieren, aber die Notenlinien entfernen. Erinnern
2167 Sie sich, dass die Notenlinien vom @code{Staff_symbol_engraver}
2170 @lilypond[quote,verbatim,ragged-right]
2172 \remove Staff_symbol_engraver
2176 \set fontSize = #-4 % make note heads smaller
2178 \set fontSize = #2.5 % make note heads larger
2180 \unset fontSize % return to default size
2185 @cindex Ambitus-Engraver
2187 Engraver können auch zu einem bestimmten
2188 Kontext hinzugefügt werden. Dies geschieht
2191 @code{\consists @var{Engraver_bezeichnung}}
2194 welcher auch wieder innerhalb der @code{\with}-Umgebung
2195 gesetzt wird. Einige Chorpartituren zeigen einen
2196 Ambitus direkt zu Beginn der ersten Notenzeile, um
2197 den Stimmumfang des Stückes anzuzeigen, siehe auch
2198 @rglos{ambitus}. Der Ambitus wird vom
2199 @code{Ambitus_engraver} erstellt, der normalerweise
2200 in keinem Kontext enthalten ist. Wenn wir
2201 ihn zum @code{Voice}-Kontext hinzufügen, errechnet
2202 er automatisch den Stimmumfang für diese einzelne Stimme
2205 @lilypond[quote,verbatim,ragged-right]
2208 \consists Ambitus_engraver
2225 wenn wir den Ambitus-Engraver allerdings zum
2226 @code{Staff}-Kontext hinzufügen, wird der Stimmumfang aller
2227 Stimmen in diesem Notensystem errechnet:
2229 @lilypond[quote,verbatim,ragged-right]
2231 \consists Ambitus_engraver
2250 @subsubheading Alle Kontexte des gleichen Typs verändern
2254 Die vorigen Beispiele zeigen, wie man Engraver in einem
2255 bestimmten Kontext hinzufügen oder entfernen kann. Es ist
2256 auch möglich, Engraver in jedem Kontext eines bestimmten
2257 Typs hinzuzufügen oder zu entfernen. Dazu werden die
2258 Befehle in dem entsprechenden Kontext in einer
2259 @code{\layout}-Umgebung gesetzt. Wenn wir also z. B.
2260 den Ambitus für jedes Notensystem in einer Partitur
2261 mit vier Systemen anzeigen wollen, könnte das so aussehen:
2263 @lilypond[quote,verbatim,ragged-right]
2292 \consists Ambitus_engraver
2299 Die Werte der Kontext-Eigenschaften können auch für
2300 alle Kontexte eines bestimmten Typs auf die gleiche
2301 Weise geändert werden, indem der @code{\set}-Befehl in
2302 einer @code{\context}-Umgebung angewendet wird.
2306 Notationsreferenz: @ruser{Umgebungs-Plugins verändern},
2307 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2310 Die @code{Stem_engraver} und @code{Beam_engraver} fügen ihre
2311 Objekte an Notenköpfe an. Wenn der @code{Note_heads_engraver}
2312 entfernt wird, werden keine Notenköpfe erstellt und demzufolge auch keine
2313 Hälse oder Bögen dargestellt.
2316 @node Rozšíření příkladů
2317 @section Rozšíření příkladů
2318 @translationof Extending the templates
2320 Sie haben sich durch die Übung gearbeitet, Sie
2321 wissen jetzt, wie Sie Notensatz produzieren, und Sie
2322 haben die grundlegenden Konzepte verstanden. Aber wie
2323 erhalten Sie genau die Systeme, die Sie brauchen? Es
2324 gibt eine ganze Anzahl an fertigen Vorlagen
2325 (siehe @ref{Předlohy}), mit denen Sie beginnen
2326 können. Aber was, wenn Sie nicht genau das finden,
2327 was Sie brauchen? Lesen Sie weiter.
2330 * Soprán a violoncello::
2331 * Čtyřhlasý notový zápis SATB::
2332 * Vytvoření notového zápisu od základu::
2333 * Úspora psaní na stroji pomocí proměnných a funkcí::
2334 * Notové zápisy a hlasy::
2338 @node Soprán a violoncello
2339 @subsection Soprán a violoncello
2340 @translationof Soprano and cello
2342 @cindex Template, Verändern von
2343 @cindex Vorlage, Verändern von
2344 @cindex Veränderung von Vorlagen
2346 Beginnen Sie mit der Vorlage, die Ihren Vorstellungen
2347 am nächsten kommt. Nehmen wir einmal an, Sie wollen
2348 ein Stück für Soprán a violoncello schreiben. In diesem
2349 Fall könnten Sie mit der Vorlage @qq{Noten und Text}
2350 (für die Sopran-Stimme) beginnen.
2353 \version @w{"@version{}"}
2354 melody = \relative c' @{
2361 text = \lyricmode @{
2367 \new Voice = "one" @{
2371 \new Lyrics \lyricsto "one" \text
2378 Jetzt wollen wir die Cello-Stimme hinzufügen. Schauen wir uns das
2379 Beispiel @qq{Nur Noten} an:
2382 \version @w{"@version{}"}
2384 melody = \relative c' @{
2398 Wir brauchen den @code{\version}-Befehl nicht zweimal. Wir
2399 brauchen aber den @code{melody}-Abschnitt. Wir wollen
2400 keine zwei @code{\score} (Partitur)-Abschnitte -- mit zwei
2401 @code{\score}-Abschnitten würden wir zwei Stimmen
2402 getrennt voneinander erhalten. In diesem Fall wollen wir
2403 sie aber zusammen, als Duett. Schließlich brauchen wir
2404 innerhalb des @code{\score}-Abschnittes nur einmal die
2405 Befehle @code{\layout} und @code{\midi}.
2407 Wenn wir jetzt einfach zwei @code{melody}-Abschnitte in
2408 unsere Datei kopieren würden, hätten wir zwei @code{melody}-Variable.
2409 Das würde zu keinem Fehler führen, aber die zweite von ihnen
2410 würde für beide Melodien eingesetzt werden. Wir müssen
2411 ihnen also andere Bezeichnungen zuweisen, um sie voneinander
2412 zu unterscheiden. Nennen wir die Abschnitte also @code{SopranNoten}
2413 für den Sopran und @code{CelloNoten} für die Cellostimme. Wenn
2414 wir schon dabei sind, können wir @code{text}auch nach
2415 @code{SoprText} umbenennen. Denken Sie daran, beide
2416 Vorkommen der Bezeichnung zu ändern: einmal die Definition
2417 gleich am Anfang (@code{melody = \relative c' @{ }) und
2418 dann auch noch die Benutzung der Variable innerhalb des
2419 @code{\score}-Abschnittes.
2421 Gleichzeitig können wir auch noch das Notensystem für das
2422 Cello ändern -- das Cello hat normalerweise einen Bassschlüssel.
2423 Wir ändern auch die Noten etwas ab.
2426 \version @w{"@version{}"}
2428 SopranNoten = \relative c' @{
2435 SoprText = \lyricmode @{
2439 CelloNoten = \relative c @{
2448 \new Voice = "eins" @{
2452 \new Lyrics \lyricsto "eins" \Soprantext
2459 Das sieht schon vielversprechend aus, aber die Cello-Stimme
2460 erscheint noch nicht im Notensatz -- wir haben vergessen,
2461 sie in den @code{\score}-Abschnitt einzufügen. Wenn die
2462 Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
2466 \new Staff \CelloNoten
2470 unter dem Befehl für den Sopran hinzufügen. Wir brauchen auch
2471 die spitzen Klammern (@code{<<} und @code{>>}) um die
2472 Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
2473 ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
2474 zwei @code{Staff}-Instanzen). Der @code{\score}-Abschnitt
2477 @c Indentation in this example is deliberately poor
2482 \new Voice = "eins" @{
2486 \new Lyrics \lyricsto "eins" \SoprText
2488 \new Staff \CelloNoten
2496 Das sieht etwas unschön aus, vor allem die Einrückung stimmt
2497 nicht mehr. Das können wir aber schnell in Ordnung bringen.
2498 Hier also die gesamte Vorlage für Soprán a violoncello:
2500 @lilypond[quote,verbatim,ragged-right,addversion]
2501 sopranoMusic = \relative c' {
2508 sopranoLyrics = \lyricmode {
2512 celloMusic = \relative c {
2522 \new Voice = "one" {
2526 \new Lyrics \lyricsto "one" \sopranoLyrics
2528 \new Staff \celloMusic
2537 Die Vorlagen, mit denen wir begonnen haben, können im
2538 Anhang @qq{Předlohy} gefunden werden, siehe
2539 @ref{Jednotlivá notová osnova}.
2542 @node Čtyřhlasý notový zápis SATB
2543 @subsection Čtyřhlasý notový zápis SATB
2544 @translationof Four-part SATB vocal score
2546 @cindex Vorlage, SATB
2547 @cindex Vorlage, Chorpartitur
2548 @cindex SATB-Vorlage
2549 @cindex Chorpartitur, Vorlage
2551 Die meisten Partituren für vierstimmigen gemischten Chor
2552 mit Orchesterbegleitung (wie etwa Mendelssohns @notation{Elias}
2553 oder Händels @notation{Messias}) sind so aufgebaut, dass
2554 für jede der vier Stimmen ein eigenes System besteht und
2555 die Orchesterbegleitung dann als Klavierauszug darunter
2556 notiert wird. Hier ein Beispiel aus Händels @notation{Messias}:
2558 @c The following should appear as music without code
2559 @lilypond[quote,ragged-right]
2560 global = { \key d \major \time 4/4 }
2562 sopranoMusic = \relative c'' {
2564 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2566 sopranoWords = \lyricmode {
2567 Wor -- thy | is the lamb | that was slain |
2569 altoMusic = \relative a' {
2571 r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2573 altoWords = \sopranoWords
2574 tenorMusic = \relative c' {
2576 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2578 tenorWords = \sopranoWords
2579 bassMusic = \relative c' {
2581 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2583 bassWords = \sopranoWords
2584 upper = \relative a' {
2587 r4 <a d fis>2 <a e' a>4
2588 <d fis d'>4. <d fis d'>8 <a d a'>2
2589 <g cis g'>4 <a d fis> <a cis e>2
2591 lower = \relative c, {
2594 <d d'>4 <d d'>2 <cis cis'>4
2595 <b b'>4. <b' b'>8 <fis fis'>2
2596 <e e'>4 <d d'> <a' a'>2
2600 << % combine ChoirStaff and PianoStaff in parallel
2602 \new Staff = "sopranos" <<
2603 \set Staff.instrumentName = #"Soprano"
2604 \new Voice = "sopranos" {
2609 \new Lyrics \lyricsto "sopranos" {
2612 \new Staff = "altos" <<
2613 \set Staff.instrumentName = #"Alto"
2614 \new Voice = "altos" {
2619 \new Lyrics \lyricsto "altos" {
2622 \new Staff = "tenors" <<
2623 \set Staff.instrumentName = #"Tenor"
2624 \new Voice = "tenors" {
2629 \new Lyrics \lyricsto "tenors" {
2632 \new Staff = "basses" <<
2633 \set Staff.instrumentName = #"Bass"
2634 \new Voice = "basses" {
2639 \new Lyrics \lyricsto "basses" {
2645 \set PianoStaff.instrumentName = #"Piano"
2646 \new Staff = "upper" \upper
2647 \new Staff = "lower" \lower
2653 Keine der Vorlage bietet diesen Aufbau direkt an. Die Vorlage, die
2654 am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer
2655 Klavierauszug}, siehe @ref{Vokální soubor}. Wir müssen diese
2656 Vorlage aber so anpassen, dass die Noten für das Klavier nicht
2657 automatisch aus dem Chorsatz generiert werden. Die Variablen
2658 für die Noten und den Text des Chores sind in Ordnung, wir
2659 müssen nun noch Variablen für die Klaviernoten hinzufügen.
2661 Die Reihenfolge, in welcher die Variablen in das Chorsystem
2662 (@code{ChoirStaff}) eingefügt werden, entspricht nicht der
2663 in dem Beispiel oben. Wir wollen sie so sortieren, dass die
2664 Texte jeder Stimme direkt unter den Noten notiert werden.
2665 Alle Stimmen sollten als @code{\voiceOne} notiert werden,
2666 welches die Standardeinstellung ist; wir können also die
2667 @code{\voiceXXX}-Befehle entfernen. Wir müssen auch noch
2668 den Schlüssel für den Tenor ändern. Die Methode, mit der
2669 der Text den Stimmen zugewiesen wird, ist uns noch nicht
2670 bekannt, darum wollen wir sie umändern auf die Weise, die
2671 wir schon kennen. Wir fügen auch noch Instrumentbezeichnungen
2672 zu den Systemen hinzu.
2674 Damit erhalten wir folgenden @code{ChoirStaff}:
2678 \new Staff = "sopranos" <<
2679 \set Staff.instrumentName = #"Sopran"
2680 \new Voice = "sopranos" @{
2685 \new Lyrics \lyricsto "sopranos" @{
2688 \new Staff = "altos" <<
2689 \set Staff.instrumentName = #"Alt"
2690 \new Voice = "altos" @{
2695 \new Lyrics \lyricsto "altos" @{
2698 \new Staff = "tenors" <<
2699 \set Staff.instrumentName = #"Tenor"
2700 \new Voice = "tenors" @{
2705 \new Lyrics \lyricsto "tenors" @{
2708 \new Staff = "basses" <<
2709 \set Staff.instrumentName = #"Bass"
2710 \new Voice = "basses" @{
2715 \new Lyrics \lyricsto "basses" @{
2721 Als nächstes müssen wir das Klaviersystem bearbeiten.
2722 Das ist einfach: wir nehmen einfach den Klavierteil
2723 aus der @qq{Piano solo}-Vorlage:
2727 \set PianoStaff.instrumentName = #"Piano "
2728 \new Staff = "oben" \oben
2729 \new Staff = "unten" \unten
2734 und fügen die Variablen @code{oben}
2735 und @code{unten} hinzu.
2737 Das Chorsystem und das Pianosystem müssen mit
2738 spitzen Klammern kombiniert werden, damit beide
2739 übereinander erscheinen:
2742 << % ChoirStaff und PianoStaff parallel kombinieren
2744 \new Staff = "sopranos" <<
2745 \new Voice = "sopranos" @{
2750 \new Lyrics \lyricsto "sopranos" @{
2753 \new Staff = "altos" <<
2754 \new Voice = "altos" @{
2759 \new Lyrics \lyricsto "altos" @{
2762 \new Staff = "tenors" <<
2763 \clef "G_8" % tenor clef
2764 \new Voice = "tenors" @{
2769 \new Lyrics \lyricsto "tenors" @{
2772 \new Staff = "basses" <<
2774 \new Voice = "basses" @{
2779 \new Lyrics \lyricsto "basses" @{
2785 \set PianoStaff.instrumentName = #"Piano"
2786 \new Staff = "upper" \upper
2787 \new Staff = "lower" \lower
2792 Alles miteinander kombiniert und mit den Noten für drei
2793 Takte sieht unser Beispiel nun so aus:
2795 @lilypond[quote,verbatim,ragged-right,addversion]
2800 sopranoMusic = \relative c'' {
2802 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2804 sopranoWords = \lyricmode {
2805 Wor -- thy | is the lamb | that was slain |
2807 altoMusic = \relative a' {
2809 r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2811 altoWords = \sopranoWords
2812 tenorMusic = \relative c' {
2814 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2816 tenorWords = \sopranoWords
2817 bassMusic = \relative c' {
2819 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2821 bassWords = \sopranoWords
2822 upper = \relative a' {
2825 r4 <a d fis>2 <a e' a>4
2826 <d fis d'>4. <d fis d'>8 <a d a'>2
2827 <g cis g'>4 <a d fis> <a cis e>2
2829 lower = \relative c, {
2832 <d d'>4 <d d'>2 <cis cis'>4
2833 <b b'>4. <b' b'>8 <fis fis'>2
2834 <e e'>4 <d d'> <a' a'>2
2838 << % combine ChoirStaff and PianoStaff in parallel
2840 \new Staff = "sopranos" <<
2841 \set Staff.instrumentName = #"Soprano"
2842 \new Voice = "sopranos" {
2847 \new Lyrics \lyricsto "sopranos" {
2850 \new Staff = "altos" <<
2851 \set Staff.instrumentName = #"Alto"
2852 \new Voice = "altos" {
2857 \new Lyrics \lyricsto "altos" {
2860 \new Staff = "tenors" <<
2861 \set Staff.instrumentName = #"Tenor"
2862 \new Voice = "tenors" {
2867 \new Lyrics \lyricsto "tenors" {
2870 \new Staff = "basses" <<
2871 \set Staff.instrumentName = #"Bass"
2872 \new Voice = "basses" {
2877 \new Lyrics \lyricsto "basses" {
2883 \set PianoStaff.instrumentName = #"Piano "
2884 \new Staff = "upper" \upper
2885 \new Staff = "lower" \lower
2892 @node Vytvoření notového zápisu od základu
2893 @subsection Vytvoření notového zápisu od základu
2894 @translationof Building a score from scratch
2896 @cindex Template, eigene schreiben
2897 @cindex Vorlagen, eigene schreiben
2898 @cindex eigene Vorlagen erstellen
2899 @cindex Erstellen von eigenen Vorlagen
2900 @cindex Schreiben von eigenen Vorlagen
2902 Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code
2903 gewonnen haben, werden Sie vielleicht feststellen, dass es
2904 manchmal einfacher ist, von Grund auf anzufangen, anstatt
2905 die fertigen Vorlagen zu verändern. Auf diese Art könne Sie
2906 auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen,
2907 die Sie notieren wollen. Als Beispiel wollen wir demonstrieren,
2908 wie man die Partitur für ein Orgelpreludium von Grund auf
2911 Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt.
2912 Hier notieren wir den Titel, den Namen des Komponisten usw.
2913 Danach schreiben wir die einzelnen Variablen auf und
2914 schließlich am Ende die eigentliche Partitur, den
2915 @code{\score}-Abschnitt. Beginnen wir mit einer groben
2916 Struktur, in die wir dann die Einzelheiten nach und nach
2919 Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium
2920 @notation{Jesu, meine Freude} von J. S. Bach, notiert
2921 für zwei Manuale und Pedal. Sie können die Noten am Ende
2922 dieses Abschnittes sehen. Das obere Manual trägt zwei Stimmen,
2923 das untere und das Pedalsystem jeweils nur eine. Wir
2924 brauchen also vier Variablen für die Noten und eine, um
2925 Taktart und Tonart zu definieren.
2928 \version @w{"@version{}"}
2930 title = "Jesu, meine Freude"
2931 composer = "J. S. Bach"
2933 keyTime = @{ \key c \minor \time 4/4 @}
2934 ManualOneVoiceOneMusic = @{ s1 @}
2935 ManualOneVoiceTwoMusic = @{ s1 @}
2936 ManualTwoMusic = @{ s1 @}
2937 PedalOrganMusic = @{ s1 @}
2943 Im Moment haben wir eine unsichtbare
2944 Note in jede Stimme eingesetzt (@code{s1}).
2945 Die Noten werden später hinzugefügt.
2947 Als nächstes schauen wir uns an, was in die
2948 Partitur (die @code{\score}-Umgebung)
2949 kommt. Dazu wird einfach die Notensystemstruktur
2950 konstruiert, die wir benötigen. Orgelmusik
2951 wird meistens auf drei Systemen notiert, eins
2952 für jedes Manual und ein drittes für die Pedalnoten.
2953 Die Systeme für die Manuale werden mit einer
2954 geschweiften Klammer verbunden, wir
2955 benutzen hier also ein @code{PianoStaff}.
2956 Das erste Manualsystem braucht zwei Stimmen,
2957 das zweite nur eine.
2961 \new Staff = "ManualOne" <<
2963 \ManualOneVoiceOneMusic
2966 \ManualOneVoiceTwoMusic
2968 >> % Ende ManualOne Systemkontext
2969 \new Staff = "ManualTwo" <<
2973 >> % Ende ManualTwo Systemkontext
2974 >> % Ende PianoStaff Kontext
2977 Als nächstes soll das System für das Pedal hinzugefügt
2978 werden. Es soll unter das Klaviersystem gesetzt
2979 werden, aber muss gleichzeitig mit ihm erscheinen.
2980 Wir brauchen also spitze Klammern um beide
2981 Definitionen. Sie wegzulassen würde eine Fehlermeldung
2982 in der Log-Datei hervorrufen. Das ist ein sehr
2983 häufiger Fehler, der wohl auch Ihnen früher
2984 oder später unterläuft. Sie können das fertige
2985 Beispiel am Ende des Abschnittes kopieren und die
2986 Klammern entfernen, um zu sehen, wie die
2987 Fehlermeldung aussehen kann, die Sie in solch
2988 einem Fall erhalten würden.
2991 << % PianoStaff and Pedal Staff must be simultaneous
2993 \new Staff = "ManualOne" <<
2995 \ManualOneVoiceOneMusic
2998 \ManualOneVoiceTwoMusic
3000 >> % end ManualOne Staff context
3001 \new Staff = "ManualTwo" <<
3005 >> % end ManualTwo Staff context
3006 >> % end PianoStaff context
3007 \new Staff = "PedalOrgan" <<
3015 Es ist nicht notwendig, die simultane Konstruktion
3016 @code{<< .. >>} innerhalb des zweiten Manualsystems
3017 und des Pedalsystems zu benutzen, denn sie enthalten
3018 nur eine Stimme. Andererseits schadet es nichts, sie
3019 zu schreiben, und es ist eine gute Angewohnheit, immer
3020 die spitzen Klammern nach einem @code{\new Staff} zu
3021 schreiben, wenn mehr als eine Stimme vorkommen könnten.
3022 Für Stimmen (@code{Voice}) dagegen gilt genau das
3023 Gegenteil: eine neue Stimme sollte immer von
3024 geschweiften Klammern (@code{@{ .. @}}) gefolgt
3025 werden, falls Sie ihre Noten in mehrere Variable aufteilen,
3026 die nacheinander gesetzt werden sollen.
3028 Fügen wir also diese Struktur zu der @code{\score}-Umgebung
3029 hinzu und bringen wir die Einzüge in Ordnung. Gleichzeitig
3030 wollen wir die richtigen Schlüssel setzen und die Richtung der
3031 Hälse und Bögen in den Stimmen des oberen Systems
3032 kontrollieren, indem die obere Stimme ein
3033 @code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
3034 erhält. Die Taktart und Tonart werden mit unserer fertigen
3035 Variable @code{\keyTime} eingefügt.
3039 << % PianoStaff and Pedal Staff must be simultaneous
3041 \new Staff = "ManualOne" <<
3042 \keyTime % set time signature and key
3046 \ManualOneVoiceOneMusic
3050 \ManualOneVoiceTwoMusic
3052 >> % end ManualOne Staff context
3053 \new Staff = "ManualTwo" <<
3059 >> % end ManualTwo Staff context
3060 >> % end PianoStaff context
3061 \new Staff = "PedalOrgan" <<
3067 >> % end PedalOrgan Staff
3069 @} % end Score context
3072 @cindex Spreizbarkeit von Systemen
3073 @cindex Dehnung von Systemen, vertikal
3074 @cindex Systeme, vertikales Dehnen
3076 Das Layout des Orgelsystems oben ist fast perfekt, es hat jedoch einen kleinen
3077 Fehler, den man nicht bemerken kann, wenn man nur ein einzelnes System
3078 betrachtet: Der Abstand des Pedalsystems zum System der linken Hand
3079 sollte in etwa der gleiche sein wie der Abstand zwischen den Systemen
3080 der linken und rechten Hand. Die Dehnbarkeit von Systemen in einem
3081 Klaviersystem (@code{PianoStaff})-Kontext ist beschränkt (sodass der
3082 Abstand zwischen den Systemen der linken und rechten Hand nicht zu groß
3083 wird), und das Pedalsystem sollte sich genauso verhalten.
3085 @cindex Untereigenschaft
3086 @cindex sub-properties
3087 @cindex graphische Objekte
3089 @cindex Objekte, graphische
3091 Die Spreizbarkeit von Systemen kann mit der @code{staff-staff-spacing}-Eigenschaft
3092 des @code{VerticalAxisGroup}-@qq{graphischen Objekts} (üblicherweise als
3093 @qq{Grob} innerhalb der LilyPond-Dokumentation bezeichnet) kontrolliert
3094 werden. An dieser Stelle brauchen Sie sich um die Details nicht zu
3095 sorgen, sie werden später erklärt. Sehr Neugierige können sich den
3096 Abschnitt @ruser{Grundlagen zum Verändern von Eigenschaften} anschauen. Im Moment
3097 kann man nicht nur die @code{strechability} (Spreizbarkeit)-Untereigenschaft verändern,
3098 darum müssen hier auch die anderen Untereigenschaften kopiert werden. Die
3099 Standardeinstellungen dieser Untereigenschaften finden sich in der Datei
3100 @file{scm/define-grobs.scm} in den Definitionen für den
3101 @code{VerticalAxisGroup}-Grob. Der Wert für @code{strechability} wird aus
3102 der Definition für das Klaviersystem (@code{PianoStaff}) entnommen
3103 (in der Datei @file{ly/engraver-init.ly}), damit die Werte identisch
3108 << % PianoStaff and Pedal Staff must be simultaneous
3110 \new Staff = "ManualOne" <<
3111 \keyTime % set key and time signature
3115 \ManualOneVoiceOneMusic
3119 \ManualOneVoiceTwoMusic
3121 >> % end ManualOne Staff context
3122 \new Staff = "ManualTwo" \with @{
3123 \override VerticalAxisGroup
3124 #'staff-staff-spacing #'stretchability = 5
3131 >> % end ManualTwo Staff context
3132 >> % end PianoStaff context
3133 \new Staff = "PedalOrgan" <<
3139 >> % end PedalOrgan Staff
3141 @} % end Score context
3144 Damit ist das Grundgerüst fertig. Jede Orgelmusik mit drei
3145 Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen
3146 in einem System sich ändern kann. Jetzt müssen wir nur noch
3147 die Noten einfügen und alle Teile zusammenfügen, indem wir
3148 die Variablen mit einem Backslash in die Partitur einbauen.
3150 @lilypond[quote,verbatim,ragged-right,addversion]
3152 title = "Jesu, meine Freude"
3153 composer = "J S Bach"
3155 keyTime = { \key c \minor \time 4/4 }
3156 ManualOneVoiceOneMusic = \relative g' {
3160 ManualOneVoiceTwoMusic = \relative c' {
3161 ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
3162 c8 c4 b8 c8. g16 c b c d |
3164 ManualTwoMusic = \relative c' {
3165 c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
3166 f16 ees f d g aes g f ees d e8~ ees16 f ees d |
3168 PedalOrganMusic = \relative c {
3169 r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
3170 r16 g ees f g f g8 c,2 |
3174 << % PianoStaff and Pedal Staff must be simultaneous
3176 \new Staff = "ManualOne" <<
3177 \keyTime % set time signature and key
3181 \ManualOneVoiceOneMusic
3185 \ManualOneVoiceTwoMusic
3187 >> % end ManualOne Staff context
3188 \new Staff = "ManualTwo" \with {
3189 \override VerticalAxisGroup
3190 #'staff-staff-spacing #'stretchability = 5
3197 >> % end ManualTwo Staff context
3198 >> % end PianoStaff context
3199 \new Staff = "PedalOrgan" <<
3205 >> % end PedalOrgan Staff context
3207 } % end Score context
3215 @node Úspora psaní na stroji pomocí proměnných a funkcí
3216 @subsection Úspora psaní na stroji pomocí proměnných a funkcí
3217 @translationof Saving typing with variables and functions
3221 Bis jetzt wurde immer derartige Notation vorgestellt:
3223 @lilypond[quote,verbatim,ragged-right]
3224 hornNotes = \relative c'' { c4 b dis c }
3233 Sie können sich vorstellen, dass das etwa für minimalistische
3234 Musik sehr nützlich sein könnte:
3236 @lilypond[quote,verbatim,ragged-right]
3237 fragmentA = \relative c'' { a4 a8. b16 }
3238 fragmentB = \relative c'' { a8. gis16 ees4 }
3239 violin = \new Staff {
3240 \fragmentA \fragmentA |
3241 \fragmentB \fragmentA |
3251 Diese Variablen (die man auch als Makros oder Benutzer-Befehl
3252 bezeichnet) können jedoch auch für eigene Anpassungen eingesetzt
3255 @c TODO Avoid padtext - not needed with skylining
3256 @lilypond[quote,verbatim,ragged-right]
3257 dolce = \markup { \italic \bold dolce }
3258 padText = { \once \override TextScript #'padding = #5.0 }
3260 \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p
3263 violin = \relative c'' {
3265 c4._\dolce b8 a8 g a b
3267 c4.^"hi there!" d8 e' f g d
3268 c,4.\fthenp b8 c4 c-.
3276 \layout{ragged-right=##t}
3280 Derartige Variablen sind offensichtlich sehr nützlich, zu Tipparbeit zu ersparen. Aber es lohnt sich schon, sie zu
3281 benutzen, wenn man sie nur einmal benutzen will, denn sie
3282 vereinfachen die Struktur einer Datei sehr stark. Hier das
3283 vorige Beispiel ohne jede Benutzung von Variablen. Es ist
3284 sehr viel schwerer lesbar, besonders die letzte Zeile.
3287 violin = \relative c'' @{
3289 c4._\markup @{ \italic \bold dolce @} b8 a8 g a b
3290 \once \override TextScript #'padding = #5.0
3291 c4.^"hi there!" d8 e' f g d
3293 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3300 @c TODO Replace the following with a better example -td
3301 @c Skylining handles this correctly without padText
3303 Bisher haben wir vor allem statische Ersetzungen betrachtet:
3304 wenn LilyPond etwa @code{\padText} sieht, wird es ersetzt mit
3305 all dem Code, mit dem wir es definiert haben (also alles,
3306 was sich rechts von @code{padtext=} befindet).
3308 LilyPond kann auch nicht-statische Ersetzungen bewältigen. Man
3309 kann sie sich als Funktionen vorstellen.
3311 @lilypond[quote,verbatim,ragged-right]
3313 #(define-music-function
3314 (parser location padding)
3317 \once \override TextScript #'padding = $padding
3321 c4^"piu mosso" b a b |
3323 c4^"piu mosso" d e f |
3325 c4^"piu mosso" fis a g |
3329 Die Benutzung von Variablen ist auch eine gute Möglichkeit,
3330 Arbeit zu vermeiden, wenn sich einmal die Syntax von LilyPond
3331 ändern sollte (siehe auch @rprogram{Updating old input files
3333 Wenn man eine einzige Definition hat (wie etwa @code{\dolce}),
3334 die für alle Vorkommen in der Notation eingesetzt wird, muss
3335 man auch nur einmal diese Definition aktualisieren, anstatt
3336 dass man sie in jeder @file{.ly}-Datei einzeln ändern müsste.
3339 @node Notové zápisy a hlasy
3340 @subsection Notové zápisy a hlasy
3341 @translationof Scores and parts
3343 In Orchestermusik werden alle Noten zweimal gedruckt. Einmal
3344 in einer Stimme für die Spieler, und einmal ein der Partitur
3345 für den Dirigenten. Variablen können benutzen, um sich doppelte
3346 Arbeit zu ersparen. Die Noten werden nur einmal eingegeben und
3347 in einer Variable abgelegt. Der Inhalt der Variable wird dann
3348 benutzt um sowohl die Stimme als auch die Partitur zu erstellen.
3350 Es bietet sich an, die Noten in einer extra Datei abzulegen.
3351 Nehmen wir an, dass die Datei @file{horn-music.ly} folgende
3352 Noten eines Horn/@/Fagott-Duos enthält:
3355 hornNotes = \relative c @{
3357 r4 f8 a | cis4 f | e4 d |
3362 Eine Stimme wird also erstellt, indem man folgendes in eine
3366 \include "horn-music.ly"
3369 instrument = "Horn in F"
3373 \transpose f c' \hornNotes
3380 \include "horn-music.ly"
3384 ersetzt den Inhalt von @file{horn-music.ly} an dieser Position
3385 in der Datei, sodass @code{hornNotes} im Folgenden definiert
3386 ist. Der Befehl @code{\transpose f@tie{}c'} zeigt an, dass
3387 das Argument (@code{\hornNotes}) eine Quinte nach oben transponiert
3388 werden soll. Klingendes @code{f} wird als @code{c'}, wie es
3389 die Stimmung eines normalen F-Hornes verlangt. Die Transposition
3390 kann in folgender Notenausgabe gesehen werden:
3392 @lilypond[quote,ragged-right]
3393 \transpose f c' \relative c {
3395 r4 f8 a | cis4 f | e4 d |
3399 In Ensemblestücken sind manche Stimmen für viele Takte stumm.
3400 Das wird durch eine besondere Pause notiert, die Mehrtaktpause.
3401 Sie wird mit einem großen @code{R} notiert, gefolgt von der
3402 Dauer (@code{1}@tie{}für eine Ganze, @code{2}@tie{}für eine Halbe usw.). Indem man die Dauern multipliziert, kann man auch
3403 längere Dauern erzeugen. Diese Pause etwa dauert drei Takte
3410 Wenn die Stimme gesetzt wird, werden Mehrtaktpausen komprimiert. Das geschieht, indem man folgendes in die Datei
3414 \set Score.skipBars = ##t
3418 Dieser Befehl setzt die Eigenschaft @code{skipBars} im
3419 @code{Score}-Kontext auf wahr (@code{##t}). Die Pause und diese Option zu der Musik von oben hinzugefügt, ergibt folgendes
3422 @lilypond[quote,ragged-right]
3423 \transpose f c' \relative c {
3425 \set Score.skipBars = ##t
3427 r4 f8 a | cis4 f | e4 d |
3431 Die Partitur wird erstellt, indem man alle Noten kombiniert.
3432 Angenommen, die andere Stimme ist in @code{bassoonNotes}
3433 in der Datei @file{bassoon-music.ly} definiert, würde eine
3434 Partitur erstellt mit:
3437 \include "bassoon-music.ly"
3438 \include "horn-music.ly"
3441 \new Staff \hornNotes
3442 \new Staff \bassoonNotes
3449 @lilypond[quote,ragged-right]
3455 r4 f8 a | cis4 f | e4 d |
3460 r4 d,8 f | gis4 c | b4 bes |
3461 a8 e f4 | g4 d | gis4 f |