Kottaszerkesztési útmutató
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
 



























