LilyPond

Wikipedia, Entziklopedia askea
LilyPond-logo.png LilyPond
PL-lilypond-2.10.33-screenshot.png
Jatorria
SortzaileaHan-Wen Nienhuys eta Jan Nieuwenhuizen
Sorrera-urtea1996
Mugimenduasoftware librearen mugimendua
Azken bertsioa2.22.2
Ezaugarriak
Programazio-lengoaiaC++, Python eta Scheme (en) Itzuli
Programazio paradigmaWYSIWYM (en) Itzuli
Sistema-eragileaLilyPond music score (en) Itzuli
Irakur dezakeGNU/Linux, Microsoft Windows, macOS eta Linux
Idatz dezakeLilyPond music score (en) Itzuli, Standard MIDI File (en) Itzuli, PDF, PostScript (en) Itzuli, PNG, SVG eta Encapsulated PostScript
Egile-eskubideakcopyrightduna
LizentziaGNU General Public License, version 3.0 or later (en) Itzuli eta GNU Free Documentation License, version 1.3 or later (en) Itzuli
Ekoizpena
GaratzaileaGNU Project (en) Itzuli
lilypond.org
Iturri-kodeahttps://gitlab.com/lilypond/lilypond, http://git.savannah.gnu.org/cgit/lilypond.git eta git://git.sv.gnu.org/lilypond.git

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[aldatu | aldatu iturburu kodea]

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[aldatu | aldatu iturburu kodea]

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[aldatu | aldatu iturburu kodea]

LilyPond 2.0 2003ko irailaren 24an kaleratu zen, sintaxi-eredu sinplifikatu bat eta hainbat musika-estilo jotzeko tresna-multzo askoz osoagoarekin.

Diseinua[aldatu | aldatu iturburu kodea]

LilyPond-en pantaila-argazkia, Linuxen korritzen

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[aldatu | aldatu iturburu kodea]

Beethovenen 5. Sinfoniaren partitura, LilyPond-ek digitalki sortutako PDF artxibo batetik abiatuta; Mutopia Proiektuak argitaratua

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[aldatu | aldatu iturburu kodea]

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.

LilyPond-en sarrera-fitxategiaren adibide bat[aldatu | aldatu iturburu kodea]

\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[aldatu | aldatu iturburu kodea]

Irteera urtua

Emaitza konplexuago bat[aldatu | aldatu iturburu kodea]

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

Stockhausengo Klavierstück ii.aren laburpena, irudikapenaren adibide gisa

Beste proiektu batzuekiko lankidetza[aldatu | aldatu iturburu kodea]

LilyPond-ek sortutako Adeste Fidelesen lehen konpasak.

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.[16]

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

MediaWikin integratzea[aldatu | aldatu iturburu kodea]

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:

\relative c' { f d f a d f e d cis a cis e a g f e }

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[aldatu | aldatu iturburu kodea]

Ikus, gainera[aldatu | aldatu iturburu kodea]

Kanpo estekak[aldatu | aldatu iturburu kodea]