GNU LilyPond

A Wikipédiából, a szabad enciklopédiából
GNU LilyPond
LilyPond-logo-with-music.png

Fejlesztő LilyPond development team[1]
Legfrissebb stabil kiadás ismeretlen +/-
Legfrissebb fejlesztői kiadás ismeretlen +/-
Programozási nyelv C++
Python
Kategória szabad szoftver
Licenc GNU General Public License
[lilypond.org A GNU LilyPond weboldala]

A GNU LilyPond egy kottaszedésre használható szabad szoftver. Automatikusan gyönyörű kottát állít elő egyszerű szöveges formátumú fájlokból. A programot 1996-ban kezdte el fejleszteni Han-Wen Nienhuys és Jan Nieuwenhuizen azzal a céllal, hogy a számítógép által előállított kotta „olyan életteli legyen, mintha kézzel szedték volna”.

Képességek[szerkesztés | forrásszöveg szerkesztése]

A LilyPond a gregorián kvadrátnotációtól kezdve a kortárs műveken keresztül a könnyűzenei slágerekig mindenféle zene szedésére alkalmas. Az általa előállított kottakép tipográfiailag kiváló minőségű. Képességei rugalmasan bővíthetők.

A legtöbb operációs rendszer, például Linux, Windows és OS X alatt is fut. A kottát PDF, PS, SVG vagy PNG, a hangzását pedig MIDI fájlba képes menteni. A többi kottaszerkesztő által exportált MusicXML formátumú fájlokat is beolvassa. Kiválóan együttműködik más dokumentumszedő rendszerekkel, mint pl. a LaTeX vagy a Texinfo, így jól használható szövegbe ágyazott kottapéldák szedésére is.

Formátum[szerkesztés | forrásszöveg szerkesztése]

\book {
\score {
<<
\new Staff {
\relative … {
\cleff
\key
\time
dallam
}
\addlyrics {
szöveg
}
}
>>
\header { … }
\layout { … }
\midi { … }
}

}

A LilyPond bemenetét szöveges formában kell megadni. A bemeneti fájlok általában ly kiterjesztéssel rendelkeznek.

Egy input file-ban egy vagy több könyv (\book) lehet. Minden könyv külön eredményfile-ba kerül. Ugyanezt elérhetjük úgy is, hogy minden könyv külön bemeneti file-ban van.

Egy könyvben egy vagy több partitúra (\score) lehet. A partitúra egy mű, vagy annak egy opusza, de végső soron rajtunk áll, hogyan osztjuk részekre a kottát. Minden partitúrához megadhatók szöveges információk (\header, pl. szerző, cím) és a lapon való elhelyezkedés (\layout). A \midi utasítja a lilypond-ot midifile generálására.

A partitúra kottasorokból (Staff) áll. A kottasoroknak közös ütemvonalaik vannak. Egy kottasorba kerülhet egy hangszer, vagy pl. zongoramű esetén az egyik kéz. A kottasor elején kulcs (\clef), előjegyzés (\key), az első sor előtt ütemjel (\time) áll. Ezeket elég egyszer megadni, de módosíthatók partitúrán ill. kottasoron belül is.

Egy kottasor egy vagy több szólam (voice) dallamát adja meg akkord vagy külön-külön hangjegyek formájában. Kórusmű esetén szövege (\addlyrics) lehet a partitúrának vagy az egyes kottasoroknak (ha a szólamok szövege különböző). Az összetartozó kottasort és szöveget << … >> közé kell zárni.

A szomszédos hangjegyek távolsága ritkán nagyobb egy oktávnál, ezért az oktáv-magasságot az előző hanghoz relatívan érdemes megadni, bár hangjegyenként is megadhatók. Az első hang magasságát a \relative utasítás adja meg.

Egyszerű kotta esetén a fenti utasítások jó része elhagyható. Ha pl. az egyetlen partitúra egyetlen kottasorból áll, és szövege sincs, elég a \relative blokkot megadni: Ha a hangjegyeket abszolút magassággal adjuk meg, csak a kapcsos zárójelre és annak tartalmára van szükség:

{
  \time 2/4% Ütemmutató
  \clef bass % Basszuskulcs
  c4 c g g a a g2
}

Ha a fenti bemenet a hullaho.ly-ben van, akkor a fordítás parancssorból:

A fenti bemenetbő előállított kottakép
lilypond hullaho.ly                  # eredmeny: hullaho.pdf
lilypond --png hullaho.ly            # eredmeny: hullaho.png
lilypond -d backend=svg hullaho.ly   # eredmeny: hullaho.svg

A kotta a Wikipédiába is beágyazható, és a lilypond által előállított midi-file is lejátszható. A fenti példát egyúttal kiegészítve a dallamszöveggel:

<score vorbis="1">
{
  \time 2/4% Ütemmutató
  \clef bass % Basszuskulcs
  c4 c g g a a g2
}
\addlyrics { Hull a pely -- hes fe -- hér hó }
</score>

Az eredmény:


{
  \time 2/4% Ütemmutató
  \clef bass % Basszuskulcs
  c4 c g g a a g2
}
\addlyrics { Hull a pely -- hes fe -- hér hó }

A <score> parancs raw="1" paraméterével (csaknem) teljes lilypond-programot tudunk beilleszteni. E nélkül csak néhány utasítást ért a wiki. A legfontosabbak: \addlyrics és \relative.

A dallam megadása[szerkesztés | forrásszöveg szerkesztése]

Hangnemek Lilypondban
Alap-
hang
Név Lilypond
dúr \major
\ionian
dór \dorian
mi fríg \phrygian
líd \lydian
szó mixolíd \mixolydian
moll \minor
\aeolian
ti lokriszi \locrian
Az Adeste Fideles első néhány üteme a LilyPonddal szedve.
  • Kulcs: \clef. Kulcsok: treble vagy french: hegedűkulcs (default), bass: basszuskulcs, alto, tenor, soprano, mezzosoprano, baritone, varbaritone, subbass, percussion, tab.
  • Előjegyzés: a hangnemet kell megadni. Pl.: \key g \minor: g-moll (két bé előjegyzés), \key g \major: g-dúr (egy kereszt). Nem szabványos (egy kereszt + egy bé) előjegyzésre példa a Kecskemét is kiállítja c. népdal kottája.
  • Ütem: pl. \time 2/4. Az utasítás előtti \numericTimeSignature a 4/4-et is szám formájában íratja ki.

Egy hanghoz több adatot kell megadni. Az alábbi lista nem teljes:

  1. a hang 12-féle lehet: c, cis=des, d, dis=es, e, f, fis=ges, g, gis=as, a, ais=bes, b. A hangok neve nyelvfüggő.
  2. a hang oktávja. Az aposztróf eggyel magasabb, a vessző eggyel alacsonyabb oktávot jelöl az előző hangnál (ha relatív megadást használunk). Kettő vagy több vessző ill. aposztróf is használható. Példa: gis''.
  3. a hang hosszát szám adja meg. 1=egész, 2=fél, 4=negyed, 8=nyolcad, 16=tizenhatod. A számot pont követheti, ami másfélszeresére növeli a hosszt. Ha a hossz nincs megadva, azonos az előző hangéval. Triola \times 2/3 { hang1, hang2, hang3 } alakban adható meg: három hang kettő hosszúságú. A \override TupletBracket #'bracket-visibility = ##t hatására a triolát alkotó három hangot össze is kapcsolja a lilypond. A beállítás alapértéke hamis (##f): ilyenkor csak a hármas szám jelzi a triolát.
  4. szöveg/jel: a hangjegy alá vagy fölé írható. Az előbbi jele ^, az utóbbié _ (TeX-jelölés). A szöveg lehet hangerőjel: \ppppp, \pppp, \ppp, \pp, \p, \mp, \mf, \f, \ff, \fff, \ffff, \fp, \sf, \sff, \sp, \spp, \sfz és \rfz. A \p pl. piano-t jelent. A „szöveg” lehet korona: \fermata. Ha a szöveg nem \-sel kezdődik, kiíródik a hangjegy fölé.
  5. hajlítás: az ív elejét (, végét ) jelzi (természetesen más-más hangnál).
  6. dinamika: a crescendo jele \<, a descrescendoé \>. A végét \! jelzi.
  7. gerendázás[2]: a gerenda eleje \[, vége \].

A szünet betűjele r, hosszát a hang hosszával azonosan kell megadni.

Kottasor vége: \break.

Szöveg megadása[szerkesztés | forrásszöveg szerkesztése]

A szöveget szótagolva kell megadni \addlyrics { szöveg } formában. A szótagokat helyközök közé írt dupla kötőjellel (--) kell elválasztani. A lilypond automatikusan rendeli hozzá a szótagokat a hangokhoz, az ívvel összekötött hangokhoz egy szótagot. A -- jel helyére a kottában két szótag közé középre írt elválasztójel kerül, szükség esetén pedig el is marad.

Ha egy hanghoz több szót vagy szótagot akarunk írni, helyköz helyett aláhúzással (_) kell őket elválasztani. Tipikus példa magyarban az s szócska.

Ismétlés[szerkesztés | forrásszöveg szerkesztése]

Alakja:

\repeat volta szám { dallamrészlet }
\alternative {
     { 1. dallamvég }
     { 2. dallamvég }
}

ahol szám az ismétlések száma. Az első ismétlés után dallamrészletet az első alternatíva, a második után a második követi. Egyszerű ismétléskor a \alternative elmarad.

Az ismétlésnek két módja van. volta módban a dallam ismétlőjelek közé kerül a kottában. Ha a volta helyett az unfold szót használjuk, a lilypond kétszer fogja kiszedni ugyanazt a dallamot vagy szöveget.

Ha az ismétlődő dallamot a kottában ismétlőjelek között szeretnénk látni, a midifile-ban viszont kétszer hallani, akkor ugyanarról a dallamról külön állítjuk elő a kottát és a midifile-t (a lilypond file-ban két \score lesz). Hogy a dallamot ne kelljen kétszer leírni, érdemes azt változóba tenni.[3][4][5] Az \unfoldRepeats utasítás hatására a volta típusú ismétlés unfold típusúra változik. Az utasításnak akkor van értelme, ha a dallam változóban van: a kottában és a midiben ugyanazt a változót lehet használni.

A Csordapásztorok szócikkben látható példa e megoldásra.

Szerkesztők[szerkesztés | forrásszöveg szerkesztése]

A kényelmes szerkesztés végett több olyan szövegszerkesztő-kiterjesztés létezik, mely LilyPond-specifikus funkciókkal bír, ilyen például a LilyPondTool vagy az Elysium.

Létezik grafikus felület is a gyors bevitelhez, például a Denemo, illetve a szabad kottaszerkesztő szoftverek legtöbbje, pl. a MuseScore képes a kottát a LilyPond formátumába menteni.

Kottatárak[szerkesztés | forrásszöveg szerkesztése]

Néhány online kottagyűjtemény, amely LilyPonddal szedett kottákat tartalmaz:

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]

  1. Authors. LilyPond Development team. (Hozzáférés: 2012. december 17.)
  2. Gerendázás: a nyolcadok, tizenhatodok, stb. jelölése a hangjegyszárak vízszintes összekötésével.
  3. Változók bárhol használhatók a lilypond file-ban, nemcsak ismétléskor.
  4. Az ismétlés elkerülésének másik módja külön file használata, mely a \include "filenév" utasítással illeszthető be a megfelelő helyekre. A \include kényelmes, ha ugyanarra a dallamra több lilypond-file-ból szeretnénk hivatkozni, viszont a Wikipédiában nem használható.
  5. A lilypond-változót a programozási nyelvekben nem változónak, hanem makrónak nevezik.

Forrás[szerkesztés | forrásszöveg szerkesztése]

További információk[szerkesztés | forrásszöveg szerkesztése]

Kapcsolódó lapok[szerkesztés | forrásszöveg szerkesztése]