[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Jak pracují vstupní soubory LilyPondu

@translationof How LilyPond input files work

Vstupní formát pro LilyPond měl poměrně volnou podobu, takže zkušení uživatele tu mají hodně volnosti v ovlivnění stavby jejich zdrojových souborů. Pro nováčky ale tato ohebnost může být zprvu matoucí. V této kapitole by proto z toho důvodu měla být představena část z těchto staveb. Mnohé ale bude pro zjednodušení vynecháno. Na úplný popis vstupního formátu se podívejte na (notation)Stavba souboru section ‘Stavba souboru’ in Doporučení pro notový zápis.

Většinu příkladů v této příručce představují malé úryvky, jako je tento:

 
c4 a b c

Jak je snad známo, nedá se takový úryvek v této podobě přeložit. Tyto příklady jsou tedy jen zkrácenou formou skutečných příkladů. Přinejmenším se musí dodatečně uzavřít ve složených závorkách.

 
{
  c4 a b c
}

Většina příkladů rovněž používá příkaz \relative c'. Ten pro překlad souborů není nezbytný, ale ve většině případů tak notová sazba vypadá zřídka, když se tento příkaz vynechá.

 
\relative {
  c''4 a b c
}

[image of music]

Úplné vymezení vstupního formátu se nachází v kapitole (notation)Stavba souboru section ‘Stavba souboru’ in Doporučení pro notový zápis.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.1 Uvedení do stavby souboru v LilyPondu

@translationof Introduction to the LilyPond file structure

Základní příklad vstupního souboru pro LilyPond zní:

 
\version "2.21.3"

\header { }

\score {
  ...složený hudební výraz...  % Celé noty přijdou sem!
  \layout { }
  \midi { }
}

Na základě pružnosti LilyPond je mnoho obměn tohoto schématu, ale tento příklad slouží jako jednoduchý výchozí bod.

Až dosud ještě žádný z příkladů příkaz \score{} nepoužil, neboť LilyPond takové dodatečné příkazy automaticky vkládá v případě potřeby, když má vstupní soubor jednoduchou stavbu.

Podívejme se na jeden takový jednoduchý příklad:

 
\relative {
  c''4 a d c
}

Na pozadí k tomu přichází ještě několik rovin: LilyPondovský kód v hořejší podobě je ve skutečnosti zestručněním. I když by se takové soubory daly napsat a také správně zapsat, znamená úplný kód, který je zde míněn, vlastně:

 
\book {
  \score {
    \new Staff {
      \new Voice {
        \relative {
          c''4 a b c
        }
      }
    }
    \layout { }
  }
}

Jinými slovy: Když vstupní soubor obsahuje nějaký jednoduchý výraz, LilyPond bude soubor vykládat tak, jakoby byl onen výraz zadán uvnitř výše ukázaných příkazů. Tato nutná stavba je vytvořena automaticky v paměti při vyvolání LilyPondu, aniž by si uživatel něčeho z toho všiml.

Slovo varování je však vysloveno! Mnohé z příkladů v dokumentaci k LilyPondu vědomě vynechávají příklady \new Staff a \new Voice k vytvoření notové osnovy a hlasu (obojí je v LilyPondu tak zvané prostředí), aby byla LilyPondem v paměti vytvořena skrytě. Pro jednoduché dokumenty to obecně pracuje velmi dobře, u složitějších notových zápisů z toho ale mohou povstat neočekávané výsledky, částečně dokonce neočekávané prázdné notové osnovy. Jak otevřeně vytvářet odpovídající prostředí v takovém případě, se podívejte na prostředí a rytce.

Pozor: Když se zadává více jak dvojice notových řádků, doporučuje se vytvořit notové osnovy a hlasy vždy otevřeně pomocí new Staff a new Voice.

V této chvíli se ale chceme vrátit k našemu prvnímu příkladu a blíže se podívat jen na příkaz \score.

Notový zápis (\score) musí vždy začínat nějakým hudebním výrazem. To je koneckonců každá hudba, počínaje jednotlivou notou až po rostoucí notový zápis s mnoha notovými osnovami (zde označeno pomocí GrandStaff):

 
{
  \new GrandStaff <<
    ...zde celý notový zápis...
  >>
}

Protože se vše nachází uvnitř složených závorek { ... }, zachází se s tím jako s jediným hudebním výrazem.

Jak již bylo řečeno předtím, může blok \score obsahovat i jiné věci, jako například

 
\score {
  { c'4 a b c' }
  \layout { }
  \midi { }
  \header { }
}

Jak je vidět, jsou ty tři příkazy \header, \layout a \midi zvláštní povahy: V protikladu k mnoha jiným příkazům, které také začínají zpětným lomítkem \, nejsou hudebním výrazem a také nejsou částí nějakého hudebního výrazu. Z toho důvodu mohou být umístěny jak dovnitř bloku \score tak mimo něj. Ve skutečnosti jsou tyto příkazy většinou umisťovány mimo blok \score, například se příkaz \header nachází velice často nad prostředím \score, jak ukazuje příklad na začátku tohoto oddílu. Pracuje to právě tak dobře.

Dvěma dosud neviděnými příkazy jsou \layout { } a \midi {}. Když se objeví v nějakém souboru, vede to k tomu, že LilyPond vytvoří tisknutelný soubor PDF popřípadě soubor MIDI. Přesněji jsou popsány v uživatelské příručce - notace – (notation)Rozvržení notového zápisu section ‘Rozvržení notového zápisu’ in Doporučení pro notový zápis a (notation)Vytváření souborů MIDI section ‘Vytváření souborů MIDI’ in Doporučení pro notový zápis.

Váš LilyPondovský kód může obsahovat více bloků \score. Každý z nich je vykládán jako samostatný notový zápis, ovšem všechny jsou umístěny v tomtéž výstupním souboru. Příkaz \book není otevřeně nezbytný – je vytvořen skrytě. Když však má být vytvořen pro každý blok \score v souboru ‘.ly’ vlastní výstupní soubor, potom se musí každý z těchto bloků zapsat do vlastního bloku \book: Každý blok \book pak vytváří vlastní výstupní soubor.

Shrnutí:

Každý blok \book vytváří vlastní výstupní soubor (např. soubor PDF). Pokud jste otevřeně žádný takový blok nezadali, LilyPond celý obsah souboru zapíše dovnitř jednoho jediného skrytého bloku \book.

Každý blok \score popiseje jeden samostatný hudební kus uvnitř bloku \book.

Každý blok \layout ovlivňuje \score nebo \book, ve kterém se vyskytuje. Tak působí například blok \layout uvnitř bloku \score jen na tento jeden blok a celý jeho obsah, blok \layout mimo blok \score (a proto uvnitř skrytě vytvořeného otevřeně zadaného bloku \book) však na všechny bloky \score uvnitř tohoto bloku \book.

Více podrobností se nachází v části (notation)Více notových zápisů v knize section ‘Více notových zápisů v knize’ in Doporučení pro notový zápis.

Dobrou možností pro zjednodušení jsou vlastní vymezené proměnné, jak je to také ukázáno v Pořádání děl pomocí proměnných. Všechny předlohy používají tuto možnost:

 
melodie = \relative {
  c'4 a b c
}

\score {
  { \melodie }
}

Když LilyPond zpracovává tento soubor, bere obsah z melodie (vše po rovnítku) a vkládá to, kdykoli vidí \melodie. Názvy jsou volně volitelné, proměnná se právě tak dobře může jmenovat melodie, GLOBAL, praváRukaKlavír, nebo cokoliDalšího. Jako název proměnné se dá použít skoro jakýkoli oblíbený název, musí se v něm ovšem vyskytovat jen písmena (takže žádná čísla, podtržítka, zvláštní znaky, atd.) a nesmí znít jako příkaz pro LilyPond. Pro více informací se podívejte na úsporu psaní na stroji pomocí proměnných a funkcí. Přesně jsou tato omezení popsána v části (notation)Stavba souboru section ‘Stavba souboru’ in Doporučení pro notový zápis.

Podívejte se také na

Úplné vymezení vstupního souboru se nachází v (notation)Stavba souboru section ‘Stavba souboru’ in Doporučení pro notový zápis.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.2 Notový zápis je jedním (jediným) složeným hudebním výrazem

@translationof Score is a (single) compound musical expression

V předchozí kapitole, Uvedení do stavby souboru v LilyPondu, byla popsána obecná stavba jednoho LilyPondovského zdrojového souboru. Ale zjevně jsme vypustili nejdůležitější otázku, totiž jak se zjistí, co se má napsat po \score.

Ve skutečnosti to ale není vůbec žádným tajemstvím. Tento řádek je odpovědí:

Notový zápis začíná vždy \score, který je následován jedním hudebním výrazem.

Možná byste si měl ještě jednou zběžně přečíst, abyste pochopil, co jsou to hudební výrazy, vysvětlení hudebních výrazů. V této kapitole bylo ukázáno, jak se velké hudební výrazy skládají z malých částí. Noty mohou být spojeny s akordy atd. Nyní ale jdeme v jiném směru a pozorujeme, jak se dá rozložit velký hudební výraz. Kvůli zjednodušení v našem příkladu použijeme jen jednoho zpěváka a klavír. Nepotřebujeme žádnou skupinu osnov (StaffGroup), která jednoduše způsobeje jen to, že osnovy jsou spojeny závorkami, seskupuje je; ty tedy budou odstraněny. Potřebujeme ale osnovy pro zpěváka a klavír.

 
\score {
  {
    <<
      \new Staff = "Zpěvák" <<
      >>
      \new PianoStaff = "Klavír" <<
      >>
    >>
  }
  \layout { }
}

Zde byly osnovy pojmenovány: „Zpěvák“ a „Klavír“. To v tomto případě není přímo nutné, ale je dobré zvyknout si na tento způsob psaní, aby se hned poznalo, o kterou osnovu se jedná.

K zapamatování: << a >> jsou noty vysázeny zároveň. To způsobuje, že se hlasová část a klavírní osnova objevují v notovém zápisu nad sebou. Konstrukce << ... >> pro zpěvákovu osnovu v příkladu výše není nutná, protože zde se mají vkládat noty jen jednoho hlasu, ale << ... >> namísto závorek jsou nezbytné, hned jak se má vkládat více než jeden hlas, tedy dva a více současných výrazů, nebo jeden notový hlas a text písně. V našem případě se má zapsat jeden hlas s textem písně, takže jsou potřeba špičaté závorky. Noty přidáme teprve později, pro teď tedy přidáme nějaké noty a text. Pokud si nevzpomínáte, jak se text písně zapisuje, přečtěte si ještě jednou o \addlyrics v zápisu jednoduchých písní.

 
\score {
  <<
    \new Staff = "singer" <<
      \new Voice = "vocal" { c'1 }
      \addlyrics { And }
    >>
    \new PianoStaff = "piano" <<
      \new Staff = "upper" { c'1 }
      \new Staff = "lower" { c'1 }
    >>
  >>
  \layout { }
}

[image of music]

Nyní máme mnohem více podrobností. Máme osnovu (angl. staff) pro jednoho zpěváka, ve které se zase nachází jeden hlas (angl. voice). Voice znamená pro LilyPond hlas (jak zazpívaný tak zahraný; prostě soubor not, nikoli nutně zpívaných zpěvákem – například housle hrají jeden hlas) a případně dodatečný text. Dodatečně se zapíší dvě notové osnovy pro klavír příkazem \new PianoStaff. PianoStaff označuje prostředí klavíru (procházející taktové čáry a složené závorky na začátku), v němž se potom opět zřizují dvě vlastní osnovy ("nahoře" pro pravou ruku a "dole" pro levou), i když spodní osnova musí ještě dostat basový klíč.

Nyní bychom do tohoto prostředí mohli začít vkládat noty. Uvnitř složených závorek vedle \new Voice = "Zpěvní hlas" bychom mohli zapisovat

 
\relative {
  r4 d''8\noBeam g, c4 r
}

Ale když se soubor píše takto přímo, začne být část \score velmi dlouhá a je dosti obtížné porozumět tomu, jak vše souvisí. Z toho důvodu se nabízí použití identifikátorů (nebo jinak také proměnných). Byly vysvětleny na začátku předchozí části, jak si zajisté vzpomínáte? Abychom zajistili, že obsah proměnné text je vykládán jako text písně, interpretiert wird, uvedeme jej \lyricmode. Tak jako \addlyrics, je tímto vstupní režim přepnut na text písně. Bez tohoto příkazu by se LilyPond pokoušel vykládat obsah proměnné jako noty a přitom by docházelo k vytváření množství chyb. (Kromě toho je dostupných ještě několik dalších zadávacích režimů, podívejte se na (notation)Vstupní režimy section ‘Vstupní režimy’ in Doporučení pro notový zápis.)

Takže nyní máme, když přidáme několik not a basový klíč pro levou ruku, následující příklad:

 
melody = \relative { r4 d''8\noBeam g, c4 r }
text   = \lyricmode { And God said, }
upper  = \relative { <g' d g,>2~ <g d g,> }
lower  = \relative { b,2 e }

\score {
  <<
    \new Staff = "singer" <<
      \new Voice = "vocal" { \melody }
      \addlyrics { \text }
    >>
    \new PianoStaff = "piano" <<
      \new Staff = "upper" { \upper }
      \new Staff = "lower" {
        \clef "bass"
        \lower
      }
    >>
  >>
  \layout { }
}

[image of music]

Při zapisování (nebo při čtení) prostředí \score by se mělo postupovat pomalu a pečlivě. Nejlepší je začít s největšími útvary, a pak vymezit v nich obsažené menší útvary. Také pomáhá velice dbát na přesné odsazení, aby každý řádek, jenž přísluší k téže úrovni, skutečně vodorovně začínal na tom samém místě.

Podívejte se také na

Notace: (notation)Stavba notového zápisu section ‘Stavba notového zápisu’ in Doporučení pro notový zápis.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.3 Naskládání hudebních výrazů do sebe

@translationof Nesting music expressions

Notové osnovy (prostředí ‚Staff‘) není bezpodmínečně potřeba vytvořit hned na začátku – mohou být uvedeny i kdykoli později. To je obzvláště užitečné při vytváření oddílů (music-glossary)ossia section ‘Ossias’ in Slovníček. Zde následuje krátký příklad toho, jak je možné vytvořit dodatečnou dočasnou notovou osnovu jen pro dobu trvání tří not:

 
\new Staff {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff {
        f8 f c
      }
    >>
    r4 |
  }
}

[image of music]

Jak je vidět, velikost notového klíče je tatáž, jaká se vyskytuje i při změně klíče – o něco menší, než jakou má klíč na začátku notové osnovy. Toto je obvyklé u notových klíčů, které jsou zapsány uvnitř notové osnovy.

Oddíl ossia může být zapsán i mimo hlavní notovou osnovu:

 
\new Staff = "main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = "main"
      } { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Tento příklad používá příkaz \with, který bude později vysvětlen ještě přesněji. Jím lze měnit výchozí chování jedné notové osnovy: Zde se jednoduše říká, že nová notová osnova se má umístit nad již jsoucí osnovu s názvem „main“ namísto výchozího umístění, které je pod ní.

Podívejte se také na

Ossia jsou často tisknuta bez notového klíče a bez taktového označení, většinou také o něco menší, než jiné osnovy. Toto je přirozeně možné i v LilyPondu, vyžaduje to ale příkazy, jež dosud ještě nebyly představeny. Podívejte se na velikosti předmětů a (notation)Osnovy ossia section ‘Osnovy ossia’ in Doporučení pro notový zápis.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.4 O ne-naskládatelnosti závorek a ligatur

@translationof On the un-nestedness of brackets and ties

Již jste při psaní vstupního souboru pro LilyPond poznali četné různé druhy závorek a staveb na způsob závorek. Tyto se řídí různými pravidly, která mohou zpočátku působit matoucím dojmem. Předtím než budou představena přesná pravidla, pojďme si tyto různé druhy závorek a staveb na způsob závorek krátce projít znovu:

Druh závorekFunkce
{ .. }Uzavírá postupnou část hudby
< .. >Uzavírá noty jednoho akordu
<< .. >>Uzavírá souběžné hudební výrazy
( .. )Označuje začátek a konec obloučku
\( .. \)Označuje začátek a konec frázovacího obloučku
[ .. ]Označuje začátek a konec ručně vytvořeného trámce

Dodatečně by snad měly být ještě dále zmíněny některé další konstrukce, které noty ať už jakkoli spojují: ligatury (označované vlnovkou ~), trioly (psané jako \times x/y {..}) und ozdoby (poznamenávané jako \grace{..}).

Mimo LilyPond vyžaduje běžné používání závorek, aby byly jejich odpovídající druhy správně seskládány, jako je tomu například tady << [ { ( .. ) } ] >>. Uzavírající závorky přitom přicházejí v obráceném pořadí k otevírajícím závorkám. Toto je také v LilyPondu nutnost pro ony tři druhy závorek, jež byly v hořejší tabulce popsány slovem ‚uzavírá‘ – musí být správně vkládány. Nicméně zbývající stavby na způsob závorek (v tabulce popsány slovem ‚označuje‘), ligatury a trioly bezpodmínečně s jinými závorkami nebo stavbami na způsob závorek seskládány být čistě nemusí. Vlastně také ani nejsou nějakými závorkami v tom smyslu, že by něco svíraly, nýbrž mnohem více jsou ukazateli, na kterém místě určitý hudební předmět začíná nebo končí.

Tak tedy může například takový frázovací oblouček začínat před ručně vloženým trámcem, a přece končit již před jeho koncem. Toto sice může z hudebního pohledu dávat málo smyslu, ale v LilyPondu je možné i toto:

 
{ g8\( a b[ c b\) a] g4 }

[image of music]

Ve všeobecnosti se dá říct, že mohou být různé druhy závorek, staveb na způsob závorek, legatových obloučků, triol a ozdob libovolně dávány dohromady. Následující příklad ukazuje trámec, který sahá až k triole (řádek 1), ligaturu, která rovněž dosahuje k triole (řádek 2), trámec a ligaturu sahající k triole, oblouček, který běží přes dvě trioly, jakož i frázovací oblouček, který začíná u trioly (řádky 3 a 4).

 
{
r16[ g \tuplet 3/2 { r16 e'8] }
g16( a \tuplet 3/2 { b16 d) e' }
g8[( a \tuplet 3/2 { b8 d') e'~] } |
\tuplet 5/4 { e'32\( a b d' e' } a'4.\)
}

[image of music]


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by gub on July 13, 2020 using texi2html 1.82.

Jiné jazyky: English, català, deutsch, español, français, magyar, italiano, 日本語, nederlands.
O automatickém výběru řeči.