LilyPond musika grabatzeko programa informatikoa eta fitxategi-formatua da. LilyPond-en helburu nagusietako bat diseinu-arau tradizionalekin idatzitako partiturak ekoiztea da, partiturak eskuz idazten zireneko aroa gainditzeko.
Han-Wen Nienhuys eta Jan Nieuwenhuizen izan ziren LilyPond proiektuari ekin ziotenak 1996an, MPPri (MusiXTeX PreProcessor) buruzko lana utzi ondoren. 1995ean hasi ziren aurreko proiektu horretan parte hartzen.[1][2] Haren izena Rosegarden proiektuak inspiratu zuen, baita Nienhuys eta Nieuwenhuizen Suzanne izeneko ezagunak ere, hebreeraz lirio esan nahi duen izenak (Lily ingelesez).[3]
1.0 bertsioa
LilyPond1.0 1998ko uztailaren 31n kaleratu zen. Horretan azpimagarriak izan ziren musikako ikurrak konputagailuan lantzeko Feta izeneko tipo pertsonalizatuaren garapena eta MusiXTeX-en LilyPonder-en arteko erabateko bereizketa.
2.0 bertsioa
LilyPond 2.0 2003ko irailaren 24an kaleratu zen, sintaxi-eredu sinplifikatu bat eta hainbat musika-estilo jotzeko tresna-multzo askoz osoagoarekin.
Diseinua
LilyPond C++ lengoaian dago idatzita batez ere, eta Scheme erabiltzen du (GNU Guile-k interpretatua) hedapen-lengoaia gisa, erabiltzailearekin pertsonalizatzeko aukera emanez.[4] Kode-base handi samarra du; 2017ko martxoaren 10etik aurrera, iturburuak 600.000 C++ lerro, 140.000 Scheme lerro eta 120.000 Python kode-lerro ditu.[5]
Musika idazteko testu-notazio sinple bat erabiltzen du, LilyPond-ek zenbait etapatan interpretatu eta prozesatzen duena.[6] Azken etapan, musika-notazioa PDFrako (PostScript bidez) edo beste formatu grafiko batzuetarako (SVG edo PNG) irteera da. LilyPond-ek musika-notazioaren irteerari dagozkion MIDI fitxategiak ere sor ditzake.
LilyPond testuan oinarritutako aplikazioa denez, ez du erabiltzaile-interfaze grafikorik behar partiturak sortzen laguntzeko. (Hala ere, Windowsen eta MacOSen "LilyPad" GUIn oinarritutako testu-editore bat lehenetsita hauetan sartzen da sistema). Doinuak sortzeko sarrera-lengoaia malgua da, sinple izaten saiatzen da, erabiltzaile berriei ikaskuntza-kurba erraztearren. LilyPond WYSIWYM paradigmari atxikitzen zaio; musika-notazioa LilyPondekin osatzeko lan-fluxua LaTeX-ekin dokumentuak prestatzeko lanaren antzekoa da.
LilyPond-ek musika-notazio esperimentala babesten du. Gitarrarako erraztasunetan afinazio alternatiboekin lan egiteko aukerak ere eskaintzen ditu.[7]
Softwarearen ezaugarriak
Profesionalki grabatutako partiturekin aldera daitekeen irteera bat sortzea da LilyPond-en helburu nagusia, ordenagailuz sortutako itxura baldartsuko emaitza izan ordez. LilyPond webgunean dagoen saiakera batek, LilyPond-en garatzaileek idatzia, LilyPond-ek bideratutako zenbait problema tipografiko azaltzen ditu:[8]
Ikurren tipo optikoa eskalatzea: pentagramaren tamainaren arabera, musika-ikurren tipoaren diseinua zertxobait aldatzen da; aukera hori Donald Knuth's Computer Modern ikur-tipoaren ezaugarria da. Ondorioz, nota-buruak biribildu egiten dira, eta pentagrama-lerroak finago bihurtzen dira, itxura baldarra ekidinez.
Bereizketa optikoa: zurtoinaren norabidea (gora edo behera) kontuan hartzen da segidan datozen notak banantzean.
Lerroen erabilera berezia: lerroak laburtu egiten dira aldakari bat (bemol...) hurbil daudenean, eta, hala, irakurgarritasuna hobetzen da.
Tarte proportzionala: noten arteko banatze-distantzia noten iraupenaren araberakoa izan daiteke. Adibidez, doikuntza horrekin, ondoz ondoko nota beltzen arteko tartea ondoz ondoko kortxeaerdikoen artekoa baino lau aldiz handiagoa da.[9]
Sarrerako sintaxia
LilyPond-en jatorrizko lengoaia ulergarria da, zenbait komandoren bidez adierazten da edozein artikulazio, dinamika, iraupen eta abar. TeX-en antzekoa da. LilyPond iturburu-artxibo batean Scheme lengoaiako kodea txertatzeko gaitasunak sarrera-lengoaia nahieran hedatzeko aukera ematen du, eta osaera algoritmikoarekin laguntzen du. Hona hemen ezaugarri sintaktiko orokor batzuk:
Lerro bateko iruzkinak % portzentaje-zeinuarekin hasten dira.[10]
Notak exekuzio-iraupenaren formatuan adierazten dira: tonua Helmholtz tonu-notazioaren bidez zehazten da (a, b, c, d, e, f eta g) eta iraupena zenbakietan oinarritutako sistema baten bidez zehazten da. Exekuzio-iraupenaren formatu-aldaketaren semantika, idazteko modu aktiboaren arabera; hori sakonki azaltzen da LilyPond-en eskuliburuan. Adibidez, modu absolutuan, a'4 A nota bat da, A oinarriaren zortzidun bat gorago (A3 tonu zientifikoko notazioan), nota biribilaren laurdeneko luzera duena (nota beltza).[11]
Komandoen hasieran, normalean, backslash bat erabiltzen da (adibidez, \time, edo \slurUp). Komandoaren funtzioak zehazten du non jarri behar den komandoa; adibidez, komando hori nota jakin baten dinamika bat adierazteko erabiltzen bada, notaren ondoan jartzen da.[12]
Komando arrunt batzuk sinbolikoki adierazita daude, errazago tipifikatzeko. Adibide bat da frase ligaturaren kasua, non ( eta ) parentesiek jaitsieraren hasiera eta amaiera adierazten baitituzte, hurrenez hurren.[13] Beste adibide bat notak lotzea da, non [ eta ] habearen luzera adierazten baitute.[14]
LilyPond-ek Pangorekin duen interfazeak sarrera-karaktereen kodetzea UTF-8 izatea eskatzen du.[15] Horren abantaila bat da hizkuntza bat baino gehiago sar daitekeela iturburu-artxibo berean.
Zenbait partitura-editore grafikok —hala nola Rosegarden, NoteEdit, Canorus, Denemo eta TuxGuitar— zuzenean esporta ditzakete artxiboak LilyPond formatura. Beste aplikazio grafiko batzuek LilyPond-en aurreko mutur gisa balio dute, Frescobaldi eta jEdit-erako LilyPondTool plugina barne. Denemok LilyPond-en PDF irteera integratzen du bere pantailan, eta edizio-eragiketa batzuk ahalbidetzen ditu azken partituran.
Mutopia Proiektuak, eduki askeko musika-partiturak doan banatzen dituenak, LilyPond erabiltzen du bere musika idazteko, Musipediak bezala, elkarlaneko musika-entziklopedia bat.
Aurreko zatia Solfeggio-ren bertsio sinplifikatua da C Minor-en, C.P.E. Bach musikagilearena. Partitura konplexuagoak ere, hitzak barne adibidez, egin daitezke MediaWikiren barruan.