| [ < ] | [ > ] | [ << ] | [Fel] | [ >> ] | [Címoldal] | [Tartalom] | [Tárgymutató] | [ ? ] |
@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ó.
| 3.1.1 Bevezetés a LilyPond fájlok szerkezetébe | ||
| 3.1.2 A kotta egy összetett zenei kifejezés | ||
| 3.1.3 Zenei kifejezések egymásba ágyazása | ||
| 3.1.4 A gerendák és ívek átfedhetik egymást |
| [ < ] | [ > ] | [ << ] | [Fel] | [ >> ] | [Címoldal] | [Tartalom] | [Tárgymutató] | [ ? ] |
@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.
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ó] | [ ? ] |
@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
\scoreblokknak 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 { } }
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 { } }
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.
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ó] | [ ? ] |
@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 | } }
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 | } }
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).
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ó] | [ ? ] |
@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ójelfajta | Szerep |
|---|---|
{ .. } | 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] }
Á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.\) }
| [ < ] | [ > ] | [ << ] | [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.