LilyPond

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.

LilyPond software mulriplataforma da, eta hainbat sistema eragiletarako erabilgarri dago; GNU Lizentzia Publiko Orokorraren arabera askatuta dago, LilyPond software librea da eta GNU proiektuaren zati bat da.

Historia 
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. Haren izena Rosegarden proiektuak inspiratu zuen, baita Nienhuys eta Nieuwenhuizen Suzanne izeneko ezagunak ere, hebreeraz lirio esan nahi duen izenak (Lily ingelesez).

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. 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.

Musika idazteko testu-notazio sinple bat erabiltzen du, LilyPond-ek zenbait etapatan interpretatu eta prozesatzen duena. 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.

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:

 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.

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.
 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).
 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.
 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.  Beste adibide bat notak lotzea da, non [ eta ] habearen luzera adierazten baitute.

LilyPond-ek Pangorekin duen interfazeak sarrera-karaktereen kodetzea UTF-8 izatea eskatzen du.  Horren abantaila bat da hizkuntza bat baino gehiago sar daitekeela iturburu-artxibo berean.

LilyPond-en sarrera-fitxategiaren adibide bat 
\version "2.22.1"

\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' {
      \accidentalStyle Score.piano
      \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
    }
  >>
}

Dagokion emaitza

Emaitza konplexuago bat 
Lilypond-ek oso irteera pertsonalizatua ere sor dezake.  Adibidez, Stockhausen-en piano-piezaren laburpen hau.

Beste proiektu batzuekiko lankidetza 

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.

Emacs-eko org-mode moduak dokumentuetan LilyPond-en partiturak txertatzeko euskarria du.

OOoLilyPond-ek, LibreOffice-ren luzapen batek, dokumentuetan partiturak sartzeko laguntza ematen du LilyPondi deituz.

MediaWikin integratzea 
Lilypond eskuragarri dago MediaWikin Score luzapen-kodearen bidez.
Horrek, adibidez, notazio hau hartuta:<score sound="1">\relative c' { f d f a d f e d cis a cis e a g f e }</score>partitura hau ematen du: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.

Erreferentziak

Ikus, gainera 
 Musika-notazio
 Partitura-editore

Kanpo estekak 
Webgune ofiziala
 

GNU proiektuaren softwarea
Musika-notazioa
Plataforma anitzeko softwarea