„Kottaszerkesztési útmutató” változatai közötti eltérés
(Új oldal, tartalma: „A magyar Wikipédiában a Mediawiki <code>score</code> pluginja segítségével kottát lehet írni. A plugin a lilypond nevű külső programot használja. Ez a sz…”) |
(Nincs különbség)
|
A lap jelenlegi, 2019. február 9., 23:28-kori változata
A magyar Wikipédiában a Mediawiki score pluginja segítségével kottát lehet írni. A plugin a lilypond nevű külső programot használja. Ez a szócikk bevezető a Wikipédián belüli kottaírásba.
| Magyar | angol |
|---|---|
| bé | flat |
| dallam | music |
| dalszöveg | lyrics |
| dalszöveg sorszáma | stanza |
| előjegyzés | key signature |
| feloldójel | natural |
| felütés | upbeat anacrusis |
| hangjegy | note |
| hangmagasság | pitch |
| hangjegy szára | stem |
| kereszt | sharp |
| kotta | score sheet music |
| kottafej | note head, grob |
| kottafelirat | text |
| kottasor[1] | staff, staves |
| kulcs | clef |
| módosítójel | accidental |
| partitúra | score |
| szólam | voice |
| szótag | syllable |
| szünet | rest |
| ütem | measure |
| ütemmutató | time signature |
| ütemvonal | bar, bar line |
| versszak | stanza |
Alapok
A hangok neve
<score vorbis="1" midi="1">
{ \relative c' {
c cis d dis e f fis g gis a ais b c r
}
}
</score>
|
![]() |
A kottát a <score> és </score> között, { } közé zárva kell írni. A kapcsos zárójel a strukturált programnyelvekben jól ismert blokkhatároló: ezzel lehet kisebb részeket kijelölni a kottában. A blokkok tetszőleges mélységben egymásba skatulyázhatók, a blokkban beállított módosításokat az alblokkok öröklik, de a blokkot tartalmazó blokkra nincs hatásuk.
A nyelv szabad formátumú: ahol helyköz lehet, oda egy vagy több új sor, tabulátor vagy helyköz írható.
A hangok a zenében szokásos betűjellel adhatók meg. A magyar névtől eltérően a h-t b-vel, a magyar b-t bes-szel jelöljük. Elég a hang nevét megadni, a kottázóprogram kiteszi elé a kereszt, bé módosítót vagy a feloldójelet, ha szükséges. A szünet jele r, a rejtett szüneté s.
A hegedűkulcsot és a 4 negyedes ütemjelzést a lilypond automatikusan teszi ki, ha mást nem adunk meg, ill. nem tiltjuk le a jelzést.
A midi="1" paraméter az audiófájl létrehozását írja elő. A vorbis="1" hatására a score plugin a kottaképre linket tesz, mellyel lejátszható az audiófájl. Célszerű használni, mert így nehezebb ellopni a kottaképet. A lilypond a zongora hangszínét használja alaphelyzetben, de ez is változtatható. Mintegy 30 hangszín létezik.
A score-nek van egy harmadik paramétere is: raw="1" esetén a lilypond program jóval több lehetősége használható. Az esetek többségében elég az alaphelyzetben beépített.
Az oktáv megadása
Kétféleképpen lehetséges: abszolút vagy relatív módon. Az abszolút hangmagasság megadását lásd itt. Alaphelyzetben a lilypond abszolút módban működik.
Relatív oktávmegadáskor az új hang oktávját a lilypond úgy választja meg, hogy az előző hanghoz képest ne legyen kvartnál nagyobb ugrás. Az így kapott oktávmagasság módosítható a ' (aposztróf) jellel fölfelé, a , (vessző) jellel lefelé.
Szinte mindig a relatív magasságmegadást használjuk, mert jóval kevesebb oktávmódosító jelet kell írni. Megadása a \relative utasítással történik, mely az utasítás utáni blokkra (és annak alblokkjaira) vonatkozik. Az utasításbeli c' az első hang oktávmagasságát adja meg abszolút módon. Ez az egyvonalas C, hegedűkulcsban pótvonalon van a kotta alatt.
Példa:
<score vorbis="1" midi="1">
{ \relative c' {
a a' a a' a,, a''
}
}
</score>
|
![]() |
A hang hossza
Ha mást nem adunk meg, a hang vagy szünet hossza azonos az előző hangéval, a 0. hang hossza negyed. Az egész hang jele 1 (egy), más szám azt adja meg, a hossz hányadrésze az egésznek. A szám csak 2 nemnegatív egész hatványa lehet. Pl.:
<score vorbis="1" midi="1">
{ \relative c' {
a' a2 a1 a4 a8 a16 a32
}
}
</score>
|
![]() |
A hossz után pont is írható. Az egyik kórusban pl. felvételkor az alábbi dallamot kellett a zongora után énekelni:
<score vorbis="1" midi="1">
{ \relative c' {
a'8 f4. d4 f a8 gis4. f2
}
}
</score>
|
![]() |
A hossz többszörözhető, pl.: 8*5 öt nyolcadnyi hossz.
Sortörés
Új kottasor kezdése: \break. A lilypond törekszik rá, hogy egyforma hosszúak legyenek a kottasorok, így nem okvetlenül veszi figyelembe a jelzést. Ütemen belül csak akkor hajlandó sort törni, ha kézzel kitesszük az ütemvonalat. A \bar "" láthatatlan ütemvonalat csinál. A \noBreak tiltja a sortörést az adott ütemvonalnál.
- Lásd még: Ütemvonal.
A kotta eleje
A kotta elején megadott jelek – az ambitus kivételével – megadhatók a kottán belül is.
Ambitus
A teljes mű ambitusa a kotta (kulcs) elején.
Ha egy új szólam a kotta belsejében indul, a szólam eleje elé kerül az ambitus, ami nagyon zavaró. Ilyenkor nem Voice, hanem Staff környezetben érdemes az ambitust engedélyezni.
<score vorbis="1" midi="1" raw="1">
\version "2.14.2"
\header {
tagline = "" % ne legyen copyright szöveg
}
\layout {
\context {
\Voice
\consists "Ambitus_engraver"
}
}
dallam = \relative c' { e4 e f g g f e d }
\score {
\dallam
}
|
![]() |
Kulcs
Clef. Pl.: \override Clef.stencil = ##f
A Score (kotta) a kulcs (Clef) objektum környezete. Egy objektumnak több tulajdonsága lehet, stencil a láthatóság. Az egyenlőségjel jobb oldalán levő értéket #-jellel kell kezdeni. A #f a hamis logikai érték (#t az igaz).
Hegedűkulcs: \clef treble. A lilypond automatikusan kiteszi a kotta elejére. Basszuskulcs: \clef bass A tenor G-kulcsa: \clef "G_8". Természetesen a hangokat is egy oktávval mélyebben kell írni, mint hegedűkulcsban. Pl.:
<score vorbis="1" midi="1">
{
\clef bass
\relative c' {
c d es r
\clef treble
c d es r
}
}
</score>
|
![]() |
A kulcs elhagyása (pl. kottarészletben): \override Score.Clef #'stencil = ##f.[2] Pl.:
<score vorbis="1" midi="1">
{
\override Score.Clef #'stencil = ##f
\relative c' {
c d es r
}
}
</score>
|
Előjegyzés
KeySignature. Pl.: \override KeySignature.stencil = ##f
| Alap- hang |
Név | Lilypond |
|---|---|---|
| dó | dúr | \major \ionian |
| ré | dór | \dorian |
| mi | fríg | \phrygian |
| fá | líd | \lydian |
| szó | mixolíd | \mixolydian |
| lá | moll | \minor \aeolian |
| ti | lokriszi | \locrian |
A hangnemet kell megadni, a lilypond ebből tudja az előjegyzést. Alakja: \key hang hangfaj. Pl. F dúrban egy bé előjegyzés van:
<score vorbis="1" midi="1">
{
\key f \major
\relative c'' {
a bes c b
}
}
</score>
|
![]() |
Látható, hogy a feloldójelet nem kellett kiírni: az előjegyzésből és a hang megadásából a lilypond tudja.
Az előjegyzés kiírásának tiltása: \set Staff.explicitKeySignatureVisibility = #all-invisible.
Nem diatonikus hangnem esetén az előjegyzésben a keresztek és bék helyét kell megadni:
<score vorbis="1" midi="1">
{
\set Staff.keySignature = #`((6 . ,FLAT)
(3 . ,SHARP))
\relative a {
d8 e fis g a bes a g
}
}
</score>
|
![]() |
FLAT a bé, SHARP a kereszt. Az előtte álló szám az előjegyzés helyét adja meg C-hez képest. (Az is megadható, hogy az előjegyzés melyik oktávban látszódjék, de ezt célszerű a lilypondra bízni.)
Ütemmutató
TimeSignature. Pl.: \override TimeSignature.stencil = ##f
Alakja: \time szám/4. A 4 a negyedre utal; általában így adjuk meg az ütemet, de nyolcad is megadható. A szám azt jelenti, hogy egy percbe hány negyed (nyolcad) férjen.
<score vorbis="1" midi="1">
{
\time 3/8
\relative c'' {
a8 a b c b4
}
}
</score>
|
![]() |
Megadható, hogy a 4/4 is számmal íródjék ki (pl. ha az ütem változik a darabban):
<score vorbis="1" midi="1">
{
\numericTimeSignature
\time 4/4
\relative c' {
d8 d b'4 a r
}
}
</score>
|
![]() |
Az ütemjelölés elhagyása (pl. példában):[2].
<score vorbis="1" midi="1">
{
\once \override Staff.TimeSignature #'stencil = ##f
\time 4/4
\relative c' {
d8 d b'4 a r
}
}
</score>
|
![]() |
A \once nélkül a kottában megváltoztatott ütem sem látszódnék.
A kotta
Ütemvonal
Az ütemvonalak kikapcsolása: \cadenzaOn. Visszakapcsolás: \cadenzaOff. A kézi ütemvonalakat használni kell, legalább a sortöresek helyén.
Kézi ütemvonal: \bar "|". Dupla ütemvonal: \bar "||". Mű vége: \bar "|.". Szaggatott ütemvonal: \bar "!".
Az ütemvonal elhagyása: \override Score.BarLine.stencil = ##f Ha a kotta több soros, érdemes az ütemszámozást is elhagyni: \override Score.BarNumber #'break-visibility = #'#(#f #f #f)
Ütemszámozás
A számok kiírása az első ütemvonaltól kezdődik, vagyis az első soré nem íródik ki, hacsak nem írunk a kotta elé ütemvonalat (\bar "").
A számozás 1-től kezdődik. Változtatás: \set Score.currentBarNumber = #szám.
Ritmus
A gerendázás ki- és bekapcsolása: \autoBeamOff, \autoBeamOn.
Hajlítás
Alulról konkáv (normál) ív: \slurNeutral. Alulról konvex: \slurDown.
A kottasorok távolsága
\override DynamicText.Y-offset=#szám.
A kottavonal kikapcsolása
\stopStaff kikapcsolja, \startStaff visszakapcsolja az öt vonalat az ütemvonalakkal együtt.
Az ütemvonalak meghagyásával: \override Staff.StaffSymbol #'transparent = ##t
Dallam változóban
Az üres hang jele <>. Szöveg/dinamika adható meg neki, ami a következő hangra vonatkozik. Nagyon jól jön, ha a következő hang változóban van.
A változóban megjelölhetünk egy részt, amelyek közül az egyiket szedi ki a lilypond a változóra hivatkozástól függően.
A megjelölés:
dallam = \relative c' { ...
\tag #'nevegy { dallam1 }
\tag #'nevket { dallam2 }
... }
A hivatkozás:
\keepWithTag #'nevegy \dallam
Például:
<score vorbis="1" midi="1" raw="1">
\version "2.18.2"
\layout { \context { \Voice \consists "Ambitus_engraver" } }
\header { tagline = "" } % ne legyen copyright szöveg
dallam = \relative c' {
\tag #'eles { a'8 a4. a4 g }
\tag #'nyujtott { a4 a a8 g4. }
e4 c e d a2 a4 r }
\score {
<<
\new Voice {
\keepWithTag #'eles \dallam \bar "||"
\keepWithTag #'nyujtott \dallam \bar "|."
}
\addlyrics {
De sze -- ret -- nék haj -- nal -- csil -- lag len -- ni.
Sar -- kon van egy öz -- vegy -- asz -- szony há -- za.
}
>>
\layout { indent = 0.0\cm }
}
\score { \new Staff {
\unfoldRepeats
\keepWithTag #'eles \dallam
\keepWithTag #'nyujtott \dallam
}
\midi { }
}
</score>
Az eredmény:

(A \new Staff csak akkor kell, ha a választható rész a változó elején van.)
Hangok, hangfejek
Artikuláció
<score>
{ \relative c' {
c4-^ d-+ e-- f-! g4-> a-. b-_ c\staccato
}
}
</score>
|
![]() |
Lásd: List of articulations
Trilla: \trill
A kánon vége:
<score>
{ \relative c' {
d4^\markup { \path #0.25 #'((moveto 0 0) (lineto 0 1) (lineto 1 1) (lineto 1 0)) }
}
}
</score>
|
![]() |
Két UTF-8 vonalhúzó karakterrel:
<score>
{ \relative c' {
d4^\markup { \hspace #-0.7 "┍┑" }
}
}
</score>
|
![]() |
A kottafejek alakja
× alakú kottafej: \override NoteHead.style = #'cross. Visszaállítás: \revert NoteHead.style
A kottafejek mérete
\teeny, \tiny, \small, \normalsize, \large, \huge. A kotta fölötti felirat méretét is változtatja.
Ha azt akarjuk, hogy a kisebbel írt kotta a ritmust (ne) befolyásolja, előkét vagy utókát kell használni.
Tremolo
Egy hangon és két hang között adható meg. Az előbbit a kotta szárán ferde áthúzás jelzi. Szintaxis: a hang után kettősponttal egy tremolo hossza. Más szóval: ha a tremolohossz a hanghossz fele, az két tremolot jelent, amit egy ferde áthúzás jelez a hang szárán.
<score>
{ \relative c' { e8:16 dis: e: fis: | g: ais: b: cis: } }
</score>
|
![]() |
A tremolohosszt a lilypond – a hanghosszhoz hasonlóan – megjegyzi, így csak akkor kell kiírni, ha változik.
Szövegek, feliratok, jelzések
Fajtái:
- dalszöveg
- kottafelirat és jel a lejátszás módjára (pl. cresc., korona). Tartozhatik
- hangjegyhez: a hang után idézőjelben adható meg. A
^a hang fölé, a_a hang alá írja a szöveget. - ütemvonalhoz
- hangjegyhez: a hang után idézőjelben adható meg. A
- kották közötti szöveg
- help (szöveges segítség a kotta lejátszásához)
A hangfájlra csak a másodiknak van hatása.
A kották közé tetszőleges szöveg írható, mint a szövegszerkesztőben. A formázást a \markup végzi.
Szöveges segítség így adható meg:
\new Voice \with { \consists "Balloon_engraver" } {
…
\balloonGrobText #'Stem #'(0 . 1.5) szöveg hang
…
}
A koordináta a hang-hoz tartozó segítségszöveg helye.
Hangjegyhez tartozó jelek és feliratok
Korona, ciffer
Ciffer megadás:
<score>
{
\relative c' {
\time 2/4
\transposition c'
g'4 g f^\markup { \raise #1 \box \abs-fontsize #16 2 } e g^\markup { \raise #1 \abs-fontsize #16 { \hspace #-1 (3) } } g f e \fermata
}
}
</score>
\raisefeljebb emeli a szöveget. Az emelés mértékét#után kell megadni.\boxkeretezi a szöveget.\abs-fontsizenöveli a betűméretet.\hspace #szám: vízszintes helyet hagy, negatív szám esetén balra.\fermataa korona neve. Ilyenkor nem kell\markup

Hangerő
A hangerő (dynamics) jelei a hang alatt látszódnak. Így lehet felülre tenni őket: c4^\p. A \dynamicUp parancs után ez a default.
A crescendo eleje \<, a crescendoé \>. Mindkettő végét \! vagy az abszolút dinamikai jel (pl. \f) jelzi. Ez is a kotta alá kerül, ha nincs ^. Egy hangon belüli cresc. és descresc: hang\espressivo.
Dinamikát jelző szövegek: \cresc, \decresc, \dim. Ennek is \!-el lehet véget vetni (addig szaggatott vonallal jelzi az intervallumot). A szaggatott vonalat a \override DynamicTextSpanner.style = #'none utasítással lehet megszüntetni.
Általános megoldás (zárójelbe tett, formázott forte):
\markup {
\center-align \concat { \bold { \italic ( }
\dynamic f \bold { \italic ) } } }
Pl.: \markup { \italic "sempre" \dynamic "f" }
A cresc. szöveg helyére bármit lehet írni:
\set crescendoText = \markup { szöveg }
\set crescendoSpanner = #'text
A második utasításra a \<-re a hajcsat helyett szöveg kerül.
Egyéb feliratok
Angolul: text spanners. Ugyanolyan formátumban jelenik meg, mint a hangerőszöveg. Lejátszási utasításnak szánták, ezért meg kell adni az elejét és a végét is. Ha nem kell a vége, egy hanggal később lezárjuk a szöveget; akkor a szaggatott vonal sem látszik, mert nincs hová kihúzni.
- a szöveg megadása:
\override TextSpanner.bound-details.left.text = "szöveg" - a szöveg helye:
\startTextSpan - vége:
\stopTextSpan
<score vorbis="1" midi="1">
{ \relative c'' {
\override TextSpanner.bound-details.left.text = "rit."
b1\startTextSpan
e,\stopTextSpan
}
}
</score>
|
![]() |
Ismétlés
A codát és signot rendszerint ütemvonalra szeretnénk tenni: lásd ütemvonalhoz tartozó feliratok.
Coda
Jele 𝄌 vagy
, lilypondban \coda). Kétféleképpen használatos:
- D.C. al Fine: kezdd előlról a művet Fine-ig.
- D.C. al Coda: kezdd előlről a művet a coda jelig, majd ugorj a következő coda jelre (a mű zárására).
Segno
Jele 𝄉 vagy
, lilypondban \segno, formázott szövegben \musicglyph #"scripts.segno". Kétféleképpen használatos:
- D.S. al coda: menj vissza a legközelebbi segno-ig. Amint elérted a coda jelet, ugorj oda.
- D.S. al fine: menj vissza a legközelebbi segno-ig, és játszd a művet Fine-ig.
Kézi ismétlés
- Az ismétlőjel eleje:
\set Score.repeatCommands = #'(start-repeat) hangok(ki kell írni a kotta elején is, de nem szedi ki) - Első alternatíva:
\set Score.repeatCommands = #'((volta "szöveg") ) hangok - Második és további alternatívák:
\set Score.repeatCommands = #'((volta #f) (volta "szöveg") end-repeat) hangok - Az ismétlés lezárása:
\set Score.repeatCommands = #'((volta #f))
A fentiek csak a kottaszedésre érvényesek, a hangra hatástalanok. (?)
Dallamváltozat
Felső vonal:
| <score>
{ \override TextSpanner.style = #'line
\override TextSpanner.bound-details.left.text = \markup { \normal-text \circle "1" }
\override TextSpanner.bound-details.left.stencil-align-dir-y = #0
\override TextSpanner.bound-details.right.padding = #-2
\relative c' {
a'\startTextSpan g f\stopTextSpan
}
}
</score>
|
![]() |
A verzió megadása:
<font size="+2">①</font> <score>
{ \relative c' {
\override Staff.TimeSignature #'stencil = ##f
a' e f
}
}
</score>
|
① ![]() |
Szövegformázás
A \markup végzi, { } között. Minden fajta szövegben használható, dalszövegben szótagonként.
Speciális karakterek listája (szinte bármi, ami formázott szövegben használható).
- normál szöveg visszaállítása:
\normal-text - dőlt betű:
\italic szöveg - vastag:
\bold - helyköz:
\hspace #méret - függőleges üres hely:
\vspace #méret - a szöveg függőleges helye:
\raise #szám - betűméret:
\fontsize #szám. Az előjeles szám a csökkentés/növelés mértéke. - a szöveg tömörítése:
\halign #RIGHT szöveg, ahol a tömörítés háromféle lehet: RIGHT (#1), LEFT (#-1), CENTER (#0).\halignrendszerint\markupbelsejében van. A wiki-változat nem ismeri a három szimbolkus nevet. - sortörést táblázattal lehet csinálni. A
\linealkalmasint el is maradhat:
\column {
\line { "1. ismétlés:" \box "2""-től" }
\line "2. sor"
}
Összetett példa:
<score vorbis="1" midi="1">
{
<<
\relative c' {
\key a \major
\time 4/4
\set Score.tempoHideNote = ##t \tempo 4 = 80
\set Staff.midiInstrument = "electric bass (finger)"
\transposition c
\repeat volta 2 { gis''2 a2 | gis4 a8 a ~ a2 | gis4 a8 a ~ a4 a | b a gis a8 gis ~ | gis1 ~ | gis4 fis e fis8 e8 ~ }
\alternative { { e2 r } { e1 ~ e4 d cis d8 cis( ~ | cis b a2. ~ | a4) r r2 | } } \bar "||" \break
\once \override Score.RehearsalMark.break-visibility = ##(#t #t #f)
\once \override Score.RehearsalMark.self-alignment-X = #1
\override Score.RehearsalMark #'direction = #-1 %DOWN
\once \override Score.RehearsalMark.Y-offset = #-3
\mark \markup { \column \right-align { \line { "Először és másodszor: D.C." }
\line { \vcenter { { "Harmadszor: D.C. al" } { \musicglyph #"scripts.coda" } } } } }
\bar "|."
}
\addlyrics {
Min -- den pil -- la -- nat azt í -- gé -- ri, most kez -- dő -- dik el az é -- le -- tem, _ az é -- le -- tem.
}
>>
}
</score>

Ütemvonalhoz tartozó feliratok
A felirat eleje: \mark. A szöveg \markup-pal formázható.
Speciális jelek
Speciális kottajeleket a \musicglyph utasítással lehet írni.
<score>
{ \relative c' {
a'1 \mark \markup { \musicglyph #"scripts.segno" }
e1 \mark \markup { \musicglyph #"scripts.coda" }
f1 \mark \markup { \musicglyph #"scripts.ufermata" }
}
}
</score>
|
![]() |
Más speciális jel is megadható \musicglyph-fel. E jelek nemcsak ütemvonalhoz, hanem hangjegyhez vagy dalszöveghez is tartozhatnak.
Az ütemvonalhoz tartozó szöveg elhelyezése
A felirat sora:
\once \override Score.RehearsalMark.break-visibility = ##(#t #t #f)
A három logikai érték jelentése:
- kiíródjék-e a felirat a sortörés előtti sorban., ha az ütemvonal sor végén van
- Kiíródjék-e a felirat, ha az ütemvonal nem a sor végén van
- kiíródjék-e a felirat a sortörés utáni sorban., ha az ütemvonal sor végén van
A felirat vízszintes helye:
\once \override Score.RehearsalMark.self-alignment-X = #1
-1 az ütemvonaltól balra, 0 középre (default), 1 az ütemvonaltól jobbra.
A felirat függőleges helye:
\override Score.RehearsalMark #'direction = #-1 %DOWN
-1: a kottasor alá, 1: a kottasor fölé
\once \override Score.RehearsalMark.Y-offset = #-8
A felirat függőleges eltolása a megadott pontszámmal.
Példa
<score vorbis="1" midi="1">
{ \relative c'' {
g2 c
d,2 a'
\once \override Score.RehearsalMark.break-visibility = ##(#t #t #f)
\once \override Score.RehearsalMark.self-alignment-X = #1
%\override Score.RehearsalMark #'direction = #-1 %DOWN
%\once \override Score.RehearsalMark.Y-offset = #-8
\mark "D.C. al Fine"
}
}
</score>
|
![]() |
Dalszöveg
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. 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.
Ha bizonyos hangokhoz nem akarunk szöveget írni, a \repeat unfold n { \skip 1 } alakban hagyhatjuk ki, ahol n a kihagyott hangjegyek száma (függetlenül a hosszúságuktól). A másik lehetőség a -, ami szótagnak számít.
<score vorbis="1" midi="1">
{
\time 3/8
<<
\relative c'' {
a8 a b c b4
}
\addlyrics {
Hopp, i -- de tisz -- tán,
}
>>
}
</score>
|
![]() |
A << és >> a kotta időben összetartozó részeit fogja össze.
Több versszak is megadható:
<score vorbis="1" midi="1">
{
<<
\time 2/4
\relative c' {
f8 e d4 f8 e d4
}
\addlyrics { \set stanza = #"1."
Ud -- va -- rom, ud -- va -- rom
}
\addlyrics { \set stanza = #"2."
Ud -- va -- rom kö -- ze -- pén
}
>>
}
</score>
|
![]() |
Több soros szövegrész
Nem teljesen jó, de egyszerű példa:
<score>
{
<<
\relative c' {
\time 2/4
\transposition c'
% Hová mégy te, kis nyulacska?
g'4 g f e g g f e
% Ingyor, bingyor, táliber, tutáliber, máliber, az erdőbe.
\repeat volta 2 { f8 e d e c4 d8 e } f e d4 c r \bar "|."
}
\addlyrics {
Ho -- vá mégy të, kis nyu -- lacs -- ka?
<< { In -- gyor, bin -- gyor, tá -- li -- bër, }
\new Lyrics { tu -- tá -- li -- bër, má -- li -- bër, }
>>
az er -- dő -- be.
}
>>
}
</score>

Ennek az a baja, hogy a szöveg alsó sora jobbra van igazítva a hangjegyekhez képest. Ezen segít, ha az új szövegnek elmagyarázzuk, melyik dallamhoz tartozik. Ehhez sokmindent kell változtatni:
- nevet adni a dallamnak
- az egész szöveget hozzárendelni a dallamhoz (ezt csak
\new Lyrics-szel lehet,\addlyrics-szel nem) - az alsó sor szövegrészében hivatkozni, melyik dallamhoz tartozik.
<score>
{
<<
\new Voice = "dallam" { \relative c' {
\time 2/4
\transposition c'
% Hová mégy te, kis nyulacska?
g'4 g f e g g f e
% Ingyor, bingyor, táliber, tutáliber, máliber, az erdőbe.
\repeat volta 2 { f8 e d e c4 d8 e } f e d4 c r \bar "|."
} }
\new Lyrics \lyricsto "dallam" {
Ho -- vá mégy të, kis nyu -- lacs -- ka?
<< { In -- gyor, bin -- gyor, tá -- li -- bër, }
\new Lyrics { \set associatedVoice = "dallam" tu -- tá -- li -- bër, má -- li -- bër, }
>>
az er -- dő -- be.
}
>>
}
</score>

Itt már az alsó szövegsor is középen van.
Dalszöveg változóba
változó = \lyricmode { szöveg }
A dalszöveg formázása
Szótagonként formázható a \markup paranccsal.
| Forma | Beállítás | Visszavonás |
|---|---|---|
| dőlt betű | \override Lyrics.LyricText.font-shape = #'italic |
\revert Lyrics.LyricText.font-shape
|
| vastag betű | \override Lyrics.LyricText.font-series = #'bold |
\revert Lyrics.LyricText.font-series
|
<score vorbis="1" midi="1">
{
\time 3/8
<<
\relative c'' {
a8 a b c b4
}
\addlyrics {
Hopp, \override Lyrics.LyricText.font-shape = #'italic
i -- de <code>\override Lyrics.LyricText.font-series = #'bold
tisz -- \revert Lyrics.LyricText.font-shape
\revert Lyrics.LyricText.font-series
tán,
}
>>
}
</score>
|
![]() |
Dalszöveg folytatása
Hosszú kottát érdemes darabolni. Ilyenkor a szöveg is több részből áll, és meg kell adni, hogy melyik dallamrészhez tartozik. A második és további részekben a \new Lyrics nem használható, mert új szövegsort kezdene. így lehet folytatni:
\new Lyrics = "first" \lyricsto… { … } % a dalszöveg eleje
\context Lyrics = "first" \lyricsto … { … } % a dalszöveg folytatása
Ha a dal három részből áll (dalegy, dalket, dalhar), és az első és harmadik dallamrészlethez van szöveg, az elsőhöz két versszak: (daltxtegy, daltxtket és daltxthar):[3]
<<
{
\new Voice = "dalegy" { \dalegy }
\new Voice { \dalket }
\new Voice = "dalhar" { \dalhar }
}
\new Lyrics = "vszegy" \lyricsto "dalegy" { \daltxtegy }
\new Lyrics = "vszket" \lyricsto "dalegy" { \daltxtket }
\context Lyrics = "vszegy" \lyricsto "dalhar" { \daltxthar }
>>
Több szólam
Az ambitusjelzés időnként furcsa dolgokat tud produkálni, érdemes átállítani a környezetét Staff-ra.
A szöveggel is lehetnek gondok.
A szüneteket képtelen közössé tenni több szólamban: vissza kell kapcsolni egy szólamba. A másik lehetőség: megadni a szünet függőleges helyét: b\rest (a b helyére kerül a szünetjel).
Két hangjegy fejét akkor vonja össze, ha a hangmagasság és -hosszúság azonos, a két szár viszont különböző irányú. Minden más ütközéskor vízszintes eltolást csinál, és erről nem lehet lebeszélni.
Ha azt akarjuk, hogy az akkord felső hangjainak a szára felfelé, az alsóké lefelé mutasson, két szólamot kell csinálni \voiceOne és \voiceTwo-val, és a szólamokon belül szükség esetén akkordot írni. Másképp nem megy. Magyarul: \voiceThree-t és \voiceFour-t ne használjuk, mert az eltolást nem lehet elkerülni.
Akkord
Az akkord hangjait < és > közé kell tenni. Minden hang egyenlő hosszú, a hosszúságot a > után kell megadni. Példa:
<score vorbis="1" midi="1">
{ \relative c' {
<a' f>8
}
}
</score>
|
![]() |
Akkord mód
\chordmode utáni blokk.
A dúr hármashangzatból indul ki, melynek neve az alaphang. Az akkor módosítható mollá, szeptimmé, hozzáadhatók ill. elhagyhatók belőle hangok. A \chordmode keverhető más kottarészekkel.
Azonos ritmusú két szólam egy kottasorba
<score>
{ \new Voice = "szolam"
<<
\relative c' { e8 f g c }
\relative c' { c8 c c g' }
\new Lyrics \lyricsto "szolam" { egy két há -- rom }
>>
}
</score>
|
![]() |
\new Voice nélkül két kottasorba írná őket.
Különböző ritmusú két szólam egy kottasorba
<score vorbis="1" midi="1">
{ \key c \major
<<
\relative c' {
\new Voice = "dallam" {
c
<<
{ \voiceOne g' c }
\new Voice { \voiceTwo d,2 }
>>
\oneVoice c'4 d
\bar "|."
}
}
\new Lyrics \lyricsto "dallam"{ egy ket -- tő há -- rom }
>>
}
</score>
|
![]() |
A \voiceOne felfelé, a \voiceTwo lefelé húzza a hangjegyek szárát, egyúttal a szünetjelet is feljebb ill. lejjebb teszi. Az eredeti állapotot a \oneVoice állítja vissza.
A gond a szünetekkel van, mert az alsó és felső szólam szüneteit különböző helyre írja, így a közös szünetnél mindig meg kell adni annak helyét, nyolcad szünetnél pl. b''\rest alakban, ahol b'' a középső vonal (abszolút magasságban). A szünet ráadásul a \relative-ot is megbolondítja... Minden, csak nem szép, de legalább mindkét szólamban leírható a szünet.
A másik gond: \voiceOne és \voiceThree azonos hangjait nem tudja összevonni, és egymás mellé írja. A lilypond dok. is azt a kerülő megoldást használja, hogy \voiceThree-ben a hang helyett s-et ír.
Kényelmesebb megoldás, viszont ehhez nem írható szöveg:
<score vorbis="1" midi="1">
{ \key c \major
\relative c' {
\partial 4
<<
{ c8 d e4 e e f8( e) d4 d d }
\\
{ c4 c c c f, g g g }
>>
}
</score>
|
![]() |
A \\ automatikusan kezd új szólamot, és beállítja ellenkezőre a szárat. Az alsó és felső szólam kottafejét akkor vonja össze, ha azonos hosszúságúak (és persze magasságúak).
Két szólam kombinálása egy kottasorba
A hangjegyek szárai egyirányúak, kivéve, ahol a ritmus eltér. Szöveg megadható.
felso = \relative c' { … }
also = \relative c' { … }
szoveg = \lyricmode { … }
\score {
\new Staff \with { printPartCombineTexts = ##f }
{
<<
\key …
\time …
\partcombine \felso \also
\new NullVoice = "aligner" \felso
\new Lyrics \lyricsto "aligner" \szoveg
>>
}
…
}
A \partcombine parancs feliratai:
\set Staff.soloText = #"…": az alsó szólamban szünet van\set Staff.soloIIText = #"…": a felső szólamban szünet van\set Staff.aDueText = #"…": a két szólam azonos
A printPartCombineTexts az összeset kikapcsolja a kottasor elején (lásd fenn).
Hátrányok: teljes kotta lehet csak, részkotta nem. Következésképp csak két szólamra jó, Összetákolt megoldásnak tűnik, de két szólam azonosságának összehasonlítására jó lehet (pl. ha az egyik a másik transzponált változata).
Szólamonként külön kottasorba
<score vorbis="1" midi="1">
{ \key c \major
\relative c' {
\partial 4
<<
{ c8 d e4 e e f8( e) d4 d d }
\new Staff {
c4 c c c f, g g g
}
>>
}
</score>
|
![]() Az első kottasorhoz nem szabad kiírni a |
A kottasorok összekötése szabályozható \new név << … >> alakban, ahol név:
- StaffGroup: szögletes zárójel, egy ütemvonal az összes szólamnak
- ChoirStaff: szögletes zárójel, az ütemvonal a soron belül marad (hogy a sorok közé szöveget lehessen írni)
- GrandStaff: kapcsos zárójel, egy ütemvonal
- PianoStaff: kapcsos zárójel, egy ütemvonal, a két kéz közös neve Piano.
Példa:
<score vorbis="1" midi="1" raw="1">
\version "2.18.2"
\header { tagline = "" } % ne legyen copyright szöveg
gyongedsop = \relative c' { \time 2/4 f4 bes8. bes16 | bes4. b8\rest | f4 c'8. a16 | bes4. b8\rest | }
gyongedalt = \relative c' { \time 2/4 f4 f8. f16 | f4. b8\rest | f4 f8. f16 | f4. b8\rest | }
gyongedten = \relative c' { \time 2/4 d4 d8. d16 | d4. r8 | d4 es8. c16 | d4. r8 | }
gyongedbas = \relative c' { \time 2/4 bes4 bes8. bes16 | bes4. r8 | bes4 f8. f16 | bes4. r8 | }
dallam = {
\new ChoirStaff <<
\new Staff {
\set Staff.instrumentName = \markup \column { "S" "A" }
\set Score.tempoHideNote = ##t \tempo "Moderato" 4 = 60
\key f \mixolydian
\time 2/4
<<
\new Voice = "dallam" { \set Staff.midiInstrument = "church organ" \voiceOne <>^\p \gyongedsop }
\new Voice { \set Staff.midiInstrument = "church organ" \voiceTwo \gyongedalt }
>> }
\new Lyrics \lyricsto "dallam" { Gyön -- géd ka -- rok rin -- gat -- nak itt, }
\new Staff { \set Staff.instrumentName = "T" \set Staff.midiInstrument = "church organ" \clef "G_8" \key f \mixolydian <>^\p
\new Voice = "tenor" \gyongedten }
\new Lyrics \lyricsto "tenor" { Hű -- ség kí -- sér, szent é -- gi fény, }
\new Staff { \set Staff.instrumentName = "B" \set Staff.midiInstrument = "church organ" \clef bass \key f \mixolydian <>^\p \gyongedbas }
>>
}
\score {
\dallam
\layout {
indent = 0.0\cm
}
}
\score {
\unfoldRepeats
{ \transposition c' \dallam }
\midi { }
}
</score>
A tenor szólamban a Voice-t csak a neve miatt kellett megadni, hogy szöveget rendelhessünk hozzá.

Az első kottasor elejére Staff.instrumentName-t, a többiére Staff.shortInstrumentName-t írja (ez utóbbit a példában nem állítottuk be).
Chordmode
Három hangos akkordok (bár ez módosítható). Az akkordok többsége a szokásos dúr/moll/stb., akkor nagyon kényelmes.
Kottaműveletek
Transzponálás
\transpose mit mire
Tercelés
diatonicScale = \relative c' { c d e f g a b }
dallam = …
\score {...
\modalTranspose e c \diatonicScale \dallam
}
Környezetek
Egymásba ágyazottak. Szintek:
- kotta
- sorcsoport (összekapcsolt kottasorok)
- kottasor: előjegyzés, kottavonalak, módosítójelek. Többnyire a Staff környezetet használjuk, de van külön környezet a tabulatúrának és a gregorián kottának.
- szólam: Voice, de ide tartozik a dalszöveg egy nyomdai sora is (Lyrics).
A környezet megtalálása egy adott fogalomhoz:
- a fogalom leírása az indexben található
- az Internal References megmondja az objektum nevét, a gravert (a szedőprogram nevét), és hogy milyen tulajdonságai vannak. A tulajdonság
\override objektumnév.tulajdonságnév = #értékalakban állítható be. - az engraver leírás végén van egy felsorolás, mely környezetekben található meg a fogalom.
A \new with után nem kell kiírni a környezetet és a \set-et sem, csak az =-t.
Tulajdonságok
Minden tulajdonság az alábbi három környezet legalább egyikébe tartozik:
- Score
- Staff
- Voice
A tulajdonságnév első (pont előtti) része a fenti környezet valamelyike. Több környezetbe tartozó tulajdonságnál a Score a teljes kottára, a Staff csak a kottasorra változtatja az értéket.
Tulajdonság beállítása pl.:
\set Staff.instrumentName = #"Soprano"
Az érték elé #-jelet kell írni. A logikai érték #f vagy #t lehet (ilyenkor két # jön egymás után). A szöveget idézőjelbe kell zárni, vagy a \markup paranccsal megadni. Az egészeket és a (valós) számokat a szokásos módon írjuk.
Az \unset törli a tulajdonságnevet: az általában a default értékre áll vissza.
A környezet elején a tulajdonságérték megadható \new Staff \with { extraNatural = ##f } { … } alakban is.
A \new típus [ név ] kifejezés új környezetet hoz létre, ahol a kifejezés kotta vagy szöveg, a típus Staff, Voice vagy Lyrics. Új kottát nem lehet csinálni. A név segítségével lehet többször felhasználni a definiált dolgot. Pl. szöveget definiálunk, amit több szólamhoz is felhasználhatunk (esetleg időben eltolva).
Egyéb
- Engraver-ek
- Azonosítók, melyek megadják, mit szedjen ki a lilypond és mit ne. Sokféle engraver van, külön van az 5 vonalnak, a kulcsnak, stb. A legtöbb engraver engedélyezve van, de nem minden. Pl. a kotta elé tud ambitust rajzolni a lilypond: ez alapból nincs megengedve.
- A
%a megjegyzés jele. A sor végéig a lilypond figyelmen kívül hagyja a%után írtakat. Kommentzárójel:%{ … %}. Egyik típusú komment sem skatulyázható egymásba. - Levegővétel:
\breathe. Az ötödik vonalra tett aposztróf. - Karambol elkerülése vízszintesen és függőlegesen.
- dinamika balra tolása: a hang előtt
\once\override DynamicText.X-offset = #-9.2 \set Score.skipTypesetting = ##tabbahagyja a kotta kiszedését, amíg az értéket hamisra nem állítjuk (nem próbáltam, tudottan bugos).\single \hideNotes hangvagy\hide hangegy hangot nem szed ki- dinamika beállítása az első hang előtt, pl.:
<>\p. A<>az üres akkord/hang.
Példák
- Mondd, hogy nem hiszed el: több részes kotta, több rész ismétlése, szöveges és nem szöveges részek, tercelés, text spanner, transzponálás
- Láss, ne csak nézz: hosszú próza a dallamban
Egy bonyolultabb kotta felépítése:
\version "2.18.2"
\layout { \context { \Staff \consists "Ambitus_engraver" } }
dallam = \relative c' {
\key d \minor
\time 4/4
\set Score.tempoHideNote = ##t \tempo 4 = 72
\set Staff.midiInstrument = "drawbar organ"
\transposition c'
\new Voice = "szolegy" { … } % első részlet
\new Voice = "szolket" { % példa két szólamú részletre
<< { \voiceOne … } % fölső szólam
\new Voice { \voiceTwo … } % alsó szólam ugyanabban a kottasorban
>>
…
}
\score {
<<
\new Voice = "dallam" { \dallam }
\new Lyrics = "veszegy" \lyricsto "szolegy" { … } % szöveg első versszak eleje
\new Lyrics = "veszegy" \lyricsto "szolket" { … } % szöveg második versszak eleje
\context Lyrics = "veszegy" \lyricsto "szolket" { … } % szöveg első versszak, folytatás
\context Lyrics = "veszket" \lyricsto "szolket" { … } % szöveg második versszak versszak, folytatás
>>
…
}
Fontos, hogy új szólam belépésekor új részt kezdjünk, hogy ne kelljen átugorni az új szólamot nem érintő korábbi részeket.
Debian-csomagok
- rosegarden - music editor and MIDI/audio sequencer: provides a mixed Audio/MIDI sequencer, lilypond files export
- denemo - GTK+ front end to GNU Lilypond
- frescobaldi - Qt4 LilyPond sheet music editor, olyasmi lehet, mint a TurboC
- nted - WYSIWYG musical score editor lilypond export
- rumor - Realtime MIDI keyboard to Lilypond converter: transcripting simple music played on (MIDI) keyboard to Lilypond text notation
- laborejo - music notation workshop: Lilypond GUI frontend
- lilyquick
Jegyzetek
- ↑ Az öt vonal a hangjegyekkel.
- ↑ 2,0 2,1 A szintaxis időközben megváltozott, de a magyar Wikipédián nem a legújabb lilypond van.
- ↑ http://lilypond.1069038.n5.nabble.com/Scoring-song-with-multiple-sections-td190277.html



























