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>
\raise
feljebb emeli a szöveget. Az emelés mértékét#
után kell megadni.\box
keretezi a szöveget.\abs-fontsize
növeli a betűméretet.\hspace #szám
: vízszintes helyet hagy, negatív szám esetén balra.\fermata
a 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).\halign
rendszerint\markup
belsejében van. A wiki-változat nem ismeri a három szimbolkus nevet. - sortörést táblázattal lehet csinálni. A
\line
alkalmasint 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ék
alakban á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 = ##t
abbahagyja a kotta kiszedését, amíg az értéket hamisra nem állítjuk (nem próbáltam, tudottan bugos).\single \hideNotes hang
vagy\hide hang
egy 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