[ < ] [ > ]   [ << ] [Fel] [ >> ]         [Címoldal] [Tartalom] [Tárgymutató] [ ? ]

3.1 Hogyan működnek a LilyPond bemeneti fájlok?

@translationof How LilyPond input files work @translationof How LilyPond input files work

A LilyPond bemeneti formátuma meglehetősen rugalmas, így a tapasztalt felhasználóknak nagy szabadságot ad abban, hogyan strukturálják a forrásfájljaikat. Azonban ez a rugalmasság az újdonsült felhasználók számára bonyolult lehet. Ez a szakasz elmagyarázza a struktúra nagy részét, az egyszerűség kedvéért bizonyos részleteket elnagyolva. A bemeneti formátum felépítésének teljes leírása a (notation)File structure section ‘File structure’ in A kottaírás kézikönyve c. szakaszban olvasható.


[ < ] [ > ]   [ << ] [Fel] [ >> ]         [Címoldal] [Tartalom] [Tárgymutató] [ ? ]

3.1.1 Bevezetés a LilyPond fájlok szerkezetébe

@translationof Introduction to the LilyPond file structure @translationof Introduction to the LilyPond file structure

A LilyPond bemeneti fájlok szerkezetére egy tipikus példa:

 
\version "2.21.3"

\header { }

\score {
  ...összetett zenei kifejezés...  % ide jön a zene!
  \layout { }
  \midi { }
}

Ennek az alapvető mintának sok változata lehetséges, de ez a példa jó kiindulási alapot jelent.

Eddig egyik példa sem használta a \score{} parancsot. Ennek oka, hogy a LilyPond automatikusan hozzáadja az egyszerű bemenethez a szükséges parancsokat. A következő bemenet például:

 
\relative {
  c''4 a d c
}

a következő rövidítése:

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

Más szóval, ha a bemenet egyetlen zenei kifejezést tartalmaz, a LilyPond úgy értelmezi a fájlt, mintha a zenei kifejezés körül már szerepelnének a fenti parancsok.

Figyelem! A dokumentációban sok példa nem tartalmazza a \new Staff és \new Voice parancsokat, így azok implicite kerülnek létrehozásra. Ez egyszerű példáknál jól működik, de bonyolultabb esetekben, főleg, ha más parancsokat is használunk, a kontextusok implicit létrehozása meglepő kimenetet eredményezhet, például nemkívánatos kottasorok jelenlétét. A kontextusok explicit megadásának módja a Kontextusok és ábrázolók c. részben olvasható.

Figyelem: Többszólamú zeneművek esetén ajánlott explicit módon létrehozni a kottasorokat és az azon belüli szólamokat.

Egyelőre térjünk vissza az első példánkhoz, és vizsgáljuk meg csak a \score parancsot.

A \score blokkon belül először pontosan egy zenei kifejezésnek kell következnie. Emlékezzünk arra, hogy egy zenei kifejezés lehet egy hang is, de akár egy olyan nagy összetett kifejezés is, mint:

 
{
  \new StaffGroup <<
    ...egy teljes Wagner-opera zenei anyaga...
  >>
}

Mivel mindez egy { ... } blokkban szerepel, egy zenei kifejezésnek számít.

Ahogy korábban láttuk, a \score blokk a zenén kívül más definíciókat is tartalmazhat, mint például:

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

Ez a három parancs – \header, \layout és \midi – speciális: az eddigi parancsokkal ellentétben nem zenei kifejezések, és nem azok részei. A \score blokkon belül vagy kívül is elhelyezkedhetnek – például a \header (fejléc) blokk, melyben a kotta adatait (pl. cím, szerző stb.) lehet megadni, legtöbbször a \score parancs előtt szerepel, ahogy a szakasz elején található példában is látható.

A két további, még ismeretlen parancs: \layout {} és \midi {}. Ezek ebben a formában rendre azt jelentik, hogy a LilyPond kottaképet, ill. hangzó anyagot állítson elő. Teljes leírásuk a Kottaírás Kézikönyvében található, a (notation)Score layout section ‘Score layout’ in A kottaírás kézikönyve és a (notation)Creating MIDI files section ‘Creating MIDI files’ in A kottaírás kézikönyve szakaszokban.

Egy fájlban több \score blokk lehet. Mindegyik egy-egy zeneművet vagy tételt jelöl, de ezek egy kimeneti fájlban fognak megjelenni. Nem szükséges \book blokkba foglalni őket – ez implicite megtörténik. Ha azonban több kimeneti fájlt szeretnénk kapni egy forrásfájlból, akkor több \book blokkot kell megadnunk – kimeneti fájlonként egyet-egyet.

Összegezve:

Minden \book blokk külön kimeneti fájlt eredményez (pl. egy-egy PDF állományt). Ha nem szerepel explicit módon a forráskódban, akkor a LilyPond körülveszi az egész forráskódot egy \book blokkal.

Egy \book blokkon belül minden \score blokk különálló zenei egységet jelöl.

Minden \layout blokk arra a \score vagy \book blokkra érvényes, amelyben szerepel – tehát egy \score blokkon belüli \layout blokk csakis arra az egy \score blokkra vonatkozik, de egy \score blokkon kívüli \layout blokk a \score blokkot tartalmazó (akár explicit, akár implicit) \book blokkon belüli minden \score blokkra érvényes.

A részletek a (notation)Multiple scores in a book section ‘Multiple scores in a book’ in A kottaírás kézikönyve c. részben olvashatók.

Fájljainkat áttekinthetőbbé tehetjük változók definiálásával (ld. Művek szervezettebbé tétele változók segítségével). Minden sablonban ezt a módszert használjuk:

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

\score {
  \dallam
}

Amikor a LilyPond feldolgozza ezt a fájlt, a dallam változó értékét (azaz mindent az egyenlőségjel utáni zenei kifejezésből) beszúrja mindenhova, ahol \dallam hivatkozást lát. A változók nevére nincs sok megkötés – a következők mind helyes példák: dallam, jobbkéz, fuvola, BII stb. A Kevesebb gépelés változókkal és függvényekkel c. szakasz további információkat tartalmaz. Mindössze annyi a korlátozás, hogy a változónevek csak betűket tartalmazhatnak, és nem ütközhetnek a LilyPond parancsok neveivel. A pontos szabályok a (notation)File structure section ‘File structure’ in A kottaírás kézikönyve c. részben vannak leírva.

Lásd még

A bemeneti formátum teljes definíciója a (notation)File structure section ‘File structure’ in A kottaírás kézikönyve c. szakaszban található.


[ < ] [ > ]   [ << ] [Fel] [ >> ]         [Címoldal] [Tartalom] [Tárgymutató] [ ? ]

3.1.2 A kotta egy összetett zenei kifejezés

@translationof Score is a (single) compound musical expression @translationof Score is a (single) compound musical expression

Az előző szakaszban (Bevezetés a LilyPond fájlok szerkezetébe) már láttuk a LilyPond fájlok általános felépítését. De a legfontosabb részt mintha átugrottuk volna: mi kerüljön a \score blokk belsejébe?

Valójában ez sokkal egyszerűbb, mint gondolnánk. Ez a mondat mindent megmagyaráz:

A \score blokknak egy összetett zenei kifejezéssel kell kezdődnie.

Az összetett zenei kifejezés fogalmát már tisztáztuk A zenei kifejezés fogalma c. részben. Láttuk, hogy építhetünk fel nagy zenei kifejezéseket kis részekből – először hangokból, aztán akkordokból stb. Most egy összetett zenei kifejezést vizsgálunk meg felülről lefelé. Az egyszerűség kedvéért egy zongorakíséretes dal lesz a példánk. Először is szükségünk van az énekes és a zongorista szólamára.

 
\score {
  <<
    \new Staff = "ének" <<
    >>
    \new PianoStaff = "zongora" <<
    >>
  >>
  \layout { }
}

Elneveztük a két szólamot „ének” és „zongora” néven. Ez nem kötelező, de jó szokás, hogy első pillantásra lássuk, melyik szólam mire szolgál.

Emlékezzünk arra, hogy << ... >> szolgál több szólam jelölésére. Ennek hatására az ének- és a zongoraszólam egymás alatt fog megjelenni a kottában. A zongoraszólam két kottasort fog tartalmazni, az énekszólam pedig egy kottasort és egy dalszöveget, így mindkettőhöz << ... >> blokk kell. A dalszöveghez az \addlyrics parancsot fogjuk használni. Ha szükséges feleleveníteni, az Egyszerű dalok kottázása c. részben olvashatunk róla.

 
\score {
  <<
    \new Staff = "ének" <<
      \new Voice = "dallam" { c'1 }
      \addlyrics { Szólt }
    >>
    \new PianoStaff = "zongora" <<
      \new Staff = "jobbkéz" { c'1 }
      \new Staff = "balkéz" { c'1 }
    >>
  >>
  \layout { }
}

[image of music]

Most megvan a teljes struktúra. Az énekszólam egy Voice kontextust tartalmaz a hangoknak, és egy versszaknyi dalszöveget. A zongoraszólam pedig a jobb- és balkéz kottasorait tartalmazza.

Most elkezdhetjük kitölteni a hangokat. Elkezdhetnénk közvetlenül a Voice kontextus belsejébe beleírni, hogy:

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

De ha ezt tennénk, a \score blokk nagyon bonyolult lenne, és nem lehetne átlátni a szólamok szerkezetét. Így érdemes változókat használni. A dalszöveg változóként való megadására a \lyricmode parancsot kell használni, hogy a LilyPond dalszövegként és ne hangokként értelmezze a változó tartalmát. (A dalszöveg egy külön beviteli mód, ezekből még több is van, ld. az (notation)Input modes section ‘Input modes’ in A kottaírás kézikönyve c. részt.)

Tehát miután definiáltuk a megfelelő változókat, hivatkoztunk rájuk, és basszuskulccsal láttuk el a balkezet, kész egy valódi mű kezdete:

 
dallam = \relative { r4 d''8\noBeam g, c4 r }
dalszöveg = \lyricmode { Szólt az Úr, }
jobbkéz = \relative { <g' d g,>2~ <g d g,> }
balkéz = \relative { b,2 e2 }

\score {
  <<
    \new Staff = "ének" <<
      \new Voice = "dallam" { \dallam }
      \addlyrics { \dalszöveg }
    >>
    \new PianoStaff = "zongora" <<
      \new Staff = "jobbkéz" { \jobbkéz }
      \new Staff = "balkéz" {
        \clef "bass"
        \balkéz
      }
    >>
  >>
  \layout { }
}

[image of music]

Amikor a \score blokkot írjuk vagy olvassuk, mindig lassan, gondosan járjunk el. Haladjunk kívülről befelé, a magas szintű felépítéstől a részletek felé haladva. Nagyban segít, ha ügyelünk a behúzásokra – minden blokk kezdődjön egy tabulátorral beljebb, így az egy szinten levő blokkok ugyanolyan mértékben lesznek behúzva.

Lásd még

Referencia: (notation)Structure of a score section ‘Structure of a score’ in A kottaírás kézikönyve.


[ < ] [ > ]   [ << ] [Fel] [ >> ]         [Címoldal] [Tartalom] [Tárgymutató] [ ? ]

3.1.3 Zenei kifejezések egymásba ágyazása

@translationof Nesting music expressions

Ossiák bevitelekor jön jól, hogy kottasorok bármikor, darab közben is kezdődhetnek, és bármikor végződhetnek. Álljon itt erre egy példa:

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

[image of music]

Figyeljük meg, hogy a kulcs mérete némileg kisebb, mint a sor elején szereplő kulcsé (mint ahogy kulcsváltásnál is).

Az ossia a kottasor fölött is elhelyezkedhet:

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

[image of music]

Ebben a példában a még ismeretlen \with parancsot használtuk, amelyet később ismertetünk. Most elég annyit tudni róla, hogy a kottasor bizonyos tulajdonságainak módosítására szolgál. Itt egy olyan tulajdonságot adunk meg, ami azt mondja, hogy az új kottasor a „main” nevű kottasor felett helyezkedjen el (ahelyett, hogy alatta helyezkedne el, ami az alapértelmezés).

Lásd még

Az ossiákat általában kulcs és ütemmutató nélkül, valamint kisebb méretben szedjük. Ehhez további új parancsok kellenek; ld. az @ref{Size of objects} és (notation)Ossia staves section ‘Ossia staves’ in A kottaírás kézikönyve szakaszokat.


[ < ] [ > ]   [ << ] [Fel] [ >> ]         [Címoldal] [Tartalom] [Tárgymutató] [ ? ]

3.1.4 A gerendák és ívek átfedhetik egymást

@translationof On the un-nestedness of brackets and ties

Már sok zárójelfajtával találkoztunk a LilyPond fájlok írása közben. Ezekre különböző szabályok vonatkoznak, amelyeket érdemes tisztázni. Ismételjük át ezeket a típusokat.

ZárójelfajtaSzerep
{ .. }Egymás után megszólaló hangokat tartalmaz
< .. >Egy akkord hangjait tartalmazza
<< .. >>Egyszerre megszólaló zenei kifejezéseket tartalmaz
( .. )Egy ív kezdetét és végét jelöli
\( .. \)Egy frazeálóív kezdetét és végét jelöli
[ .. ]Egy kézi gerenda kezdetét és végét jelöli

A LilyPond világán kívül a különböző fajtájú zárójeleket megfelelően egymásba kell ágyazni, pl. így: << [ { ( .. ) } ] >>. Tehát a záró zárójeleknek pontosan fordított sorrendben kell állniuk, mint a nyitó zárójeleknek. A fenti táblázatban szereplő első három típusnál (a blokkoknál) ezt a LilyPond is megköveteli. A többi parancsnál ez nem követelmény. Valójában ezekre nem is úgy érdemes gondolni, mint a zárójelekre, hanem olyan jelzésekre, amelyek zenei elemek kezdetét és végét jelölik.

Tehát például egy frazeálóív kezdődhet egy kézzel megadott gerenda előtt, és befejeződhet a gerenda vége előtt – lehet, hogy nem a legzeneibb megoldás, de lehetséges:

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

[image of music]

Általánosságban az ívek, frazeálóívek, kötőívek és gerendák átnyúlhatnak a triolák és előkék határain. A következő példában az 1. sorban egy gerenda, a 2. sorban egy kötőív nyúl bele egy triolába, a 3. és 4. sorban pedig mindezek mellett még egy kötőív is található két triola között, valamint egy frazeálóív, amely túlnyúlik a triolán.

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

[image of music]


[ < ] [ > ]   [ << ] [Fel] [ >> ]

This document was generated by gub on július 13, 2020 using texi2html 1.82.

Más nyelvek: English, català, česky, deutsch, español, français, italiano, 日本語, nederlands.
Az automatikus nyelvválasztásról.