GNU LilyPond je multiplatformní svobodný software určený pro sazbu notových zápisů distribuovaný pod licencí GNU General Public License, který je k dispozici pro Microsoft Windows, Linux a macOS. Program pracuje v prostředí příkazového řádku, ale lze jej používat s grafickou nadstavbou Frescobaldi. Pro zápis not používá vlastní textový souborový formát s příponou .ly.
Historie
Project LilyPond započali roku 1996 Han-Wen Nienhuys a Jan Nieuwenhuizen poté, co v roce 1995 pracovali na preprocesoru MPP k MusiXTeXu.
Principy
LilyPond převádí zápis v poměrně jednoduchém značkovací jazyce na notový zápis ve formátu PDF (nebo v jiném grafickém formátu, jako je SVG nebo PNG) a na zvukový soubor formátu MIDI. LilyPond usiluje o automatickou sazbu co nejkvalitnějšího notového zápisu, který bude pěkně vypadat a dobře se číst. V tomto směru překonává komerční notační programy, jako Finale nebo Sibelius. Nevýhodou je nižší rychlost formátování.
LilyPond je konzolová aplikace, která poskytuje snadno naučitelný jazyk v duchu WYSIWYM, kterým uživatel sděluje, co chce zobrazit (podobně jako například LaTeX); grafické uživatelské rozhraní je k dispozici jako samostatný program Frescobaldi, které sice neumožňuje přímo zadávání not v grafickém prostředí, přesto však nabízí funkce, které u takto rozdělených programů nejsou obvyklé (vyhledání zápisu noty ve zdrojovém souboru poklikáním na notu v grafickém výstupu).
Program LilyPond je napsaný zejména v jazyce C++, ale je uživatelsky rozšiřitelný programy v jazyce Scheme interpretovanými interpretem GNU Guile. Vstupní soubory zpracovává v několika krocích, formát PDF získává přes PostScript.
Příklad zdrojových kódů LilyPondu \version "2.15.14"
\include "english.ly"
\header { title = \markup { "Excerpt from" \italic "fibonacci" } composer = "Patrick McCarty" %copyright = % \markup \fontsize #-5 { % Copyright © 2009. % Typeset with GNU LilyPond. % Released into public domain by the composer. % } }
\paper { paper-height = 4.6\in paper-width = 8.5\in indent = #0 system-count = #2 }
\score { \new PianoStaff = "pianostaff" << \new Staff = "RH" \relative c' { #(set-accidental-style 'piano 'Score) \clef "treble" \time 2/4 \set Score.currentBarNumber = #51 \tempo "Slow and steady" 4 = 60 <e gs,>4 \acciaccatura { cs16[ ds] } <e gs,>4 | % m. 51 <ds gs,>4 \acciaccatura { e16[ ds] } <cs gs>4 | % m. 52 <cs gs>4 \acciaccatura { ds16[ cs] } <c g>4 | % m. 53 <cs gs>4 \acciaccatura { ds16[ e] } <es bs gs>4 | % m. 54
<e gs,>4 \acciaccatura { cs16[ ds] } e16 f gs a | % m. 55 <gs c,>8 \acciaccatura { as16[ gs] } <es b>8 ~ <es b>16 ds b as | % m. 56
b16 d8 bf32 f' g16 af bf c | % m. 57 <df df,>16 ( c af ) <e' e,> ( ds b ) <g' g,> ( ds | % m. 58
\time 3/4 <gs gs,>16 ) \noBeam d,16 f gs a16 e f b c16 d, ( f gs | % m. 59
a16 b ) e, ( f gs16 b c ) f, ( gs16 as b c ) | % m. 60
\new Dynamics = "Dynamics_pf" { s4 \p \< s4 | % m. 51 s4 s4 | % m. 52 s4 \mp \> s4 | % m. 53 s4 s4 \! | % m. 54 s4 \p s4 | % m. 55 s1 * 2/4 | % m. 56 s4 \< s4 | % m. 57 s4 s4 | % m. 58 \override DynamicText #'extra-spacing-width = #'(-0.75 . 0.75) s16 \mf s16 \p s8 s4 s4 | % m. 59 s2. | % m. 60
\new Staff = "LH" \relative c, { \clef "bass" \time 2/4 cs4. cs8 | % m. 51 cs4. d8 | % m. 52 f4. a8 | % m. 53 f4. d8 | % m. 54
cs4. cs8 | % m. 55 d4 ds | % m. 56 gs4. bf,8 | % m. 57 f'4 b, | % m. 58
\time 3/4 d4. d8 ~ d4 | % m. 59 ef2 f4 | % m. 60
>> } 700px|Výstup z ukázkového zdrojáku
Spolupráce s ostatním softwarem
Pro LilyPond je k dispozici grafické uživatelské rozhraní Frescobaldi a zásuvný modul pro editor jEdit.
Kromě toho do formátu LilyPondu umí zapisovat svůj výstup řada notových programů, například Rosegarden, MuseScore, NoteEdit, Canorus, Denemo a TuxGuitar.
LilyPondem sází svůj výstup Mutopia Project, který se zaměřuje na šíření svobodných partitur, a Musipedia, hromadně vytvářená hudební encyklopedie.
Mediawiki LilyPond je také možné používat v rámci systému MediaWiki pomocí rozšíření Score. Například zápis <score vorbis="1">\relative c' { f d f a d f e d cis a cis e a g f e }</score> vytvoří
Odkazy Reference
Externí odkazy
domovská stránka
Kategorie:Notové programy Kategorie:Značkovací jazyky Kategorie:GNU Kategorie:Multiplatformní software Kategorie:Software pro Linux Kategorie:Software pro Windows Kategorie:Software pro macOS Kategorie:Svobodný software naprogramovaný v C++ Kategorie:Software pod licencí GPL