LilyPond is muziek­notatie­software die is bedoeld om met zo weinig mogelijk handelingen goed opgemaakte bladmuziek te maken naar voorbeeld van traditioneel gegraveerde muziek. Het idee is dat componisten, bewerkers en uitgevers hun aandacht liever richten op het schrijven van muziek dan op het verbeteren van de leesbaarheid ervan, en dat prettig leesbare bladmuziek uitvoerende musici steunt.

Gebruikers beschrijven muziek in lilypondnotatie, de opmaaktaal van LilyPond. Dan start de gebruiker LilyPond, dat op basis van de beschrijving bladmuziek maakt. LilyPond is vrij en crossplatform.

Opmaak LilyPond maakt de bladmuziek zonder tussenkomst van de gebruiker. Het programma optimaliseert het aantal maten in een notenbalk en het aantal notenbalken of systemen op een pagina, en ook de plaatsing van noten, tekst, dynamische tekens, wijzigingstekens, waardestrepen en andere muzieksymbolen, en het vermijdt onderlinge botsingen van muzieksymbolen.

De gebruiker kan alle instellingen voor de opmaak en de typografie aanpassen. Aanwijzingen en instellingen zijn mogelijk voor de hele compositie, voor delen ervan en voor individuele noten en muzieksymbolen. Alle instellingen en aanwijzingen voor de opmaak zijn onderdeel van de beschrijving van de muziek.

Later ingevoerde wijzigingen, uitbreidingen en inkortingen zijn niet in het resultaat gemarkeerd of herkenbaar en hebben geen invloed op de kwaliteit van de bladmuziek.

Typografie Het 'lettertype' van het notenschrift verandert mee met de grootte van de notenbalk. Bij kleinere notenbalken worden de noten niet alleen kleiner, maar ook ronder en wordt de relatieve lijndikte van notenbalken groter. Eventuele hulplijnen worden iets korter als er een wijzigingsteken voor de noot staat. Het wijzigingsteken kan daardoor dichter bij de noot geplaatst worden, wat de muziek leesbaarder maakt. Als de richting van de stokken verandert van boven naar beneden of andersom kan de afstand tussen noten groter of juist kleiner lijken. Door op die plaatsen de afstanden tussen de noten iets kleiner of juist iets groter te maken lijkt het of de tussenruimte tussen de noten steeds gelijk is. Dit is 'optische spatiëring'. Ook de afstand tussen noten geeft de duur van de noten weer. De afstand tussen kwartnoten is bijvoorbeeld ongeveer twee keer zo groot als de afstand tussen achtste noten. Dit is 'proportionele spatiëring'. Standaard gaat LilyPond hier losjes mee om, maar er is ook een instructie die ervoor zorgt dat LilyPond proportionele spatiëring strikt toepast. De gebruiker kan eigen afbeeldingen, tekeningen en symbolen toevoegen. Alle lettertypen die op de computer zijn geïnstalleerd zijn ook beschikbaar voor LilyPond. Er zijn alternatieven voor het notenschrift.

Speciale muziek LilyPond ondersteunt oude muziekschriften zoals gregoriaans en mensurale notatie, wereldmuziek en eigentijdse muziek. Instrumentspecifieke symbolen voor onder andere koperblaas- en strijkinstrumenten, piano, accordeon en harp zijn aanwezig. LilyPond biedt tabulaturen en alternatieve stemmingen voor tokkelinstrumenten zoals de gitaar.

Gebruik Productiviteit Het beschrijven van muziek in lilypondnotatie vraagt om het typen van tekst, wat sneller is dan het klikken of slepen van noten en andere muzieksymbolen. LilyPond heeft modellen voor onder andere piano, koorwerken en orkest. In een model staan standaardbeschrijvingen van tekstregels, notenbalken, systemen, titels en dergelijke. De gebruiker hoeft alleen de muziek in te voeren, en bij koorwerken natuurlijk ook de liedteksten. De gebruiker kan de modellen aanpassen. De gebruiker geeft herhalingen aan. Hij kan terugkerende thema's éénmaal invoeren en er dan naar verwijzen. Hij kan daarbij ook transponeren. Dat voorkomt niet alleen schrijfwerk, maar ook het onvolledig doorvoeren van correcties. In een compositie met meer partijen beschrijft de gebruiker alle partijen en geeft aan hoe die in een compositie gecombineerd zijn. 'Extractie' van een of enkele partijen uit een compositie is daardoor niet nodig. De gebruiker geeft in de beschrijving van de muziek aan welke producten de uitgave van de compositie omvat, bijvoorbeeld een (orkest)partituur, de partijen voor alle instrumenten, een (piano)reductie en geluidsbestanden van het hele orkest en per partij. Als hij LilyPond start maakt het programma de aangegeven producten.

Uitbreidbaarheid Gebruikers kunnen de programmeertaal scheme gebruiken om mogelijkheden aan LilyPond toe te voegen of om het programma aan te passen.

Beperkingen LilyPond is bedoeld voor het maken van goed leesbare, mooie bladmuziek. Andere mogelijkheden zijn beperkt of niet aanwezig. LilyPond biedt bijvoorbeeld geen optische herkenning van bladmuziek. LilyPond heeft een steile leercurve en vraagt kennis van muziekschrift en muziektheorie. Het verfijnen van bladmuziek vraagt een herhaald proces van aanpassen van de beschrijving van de muziek, het opnieuw maken van bladmuziek en die weer beoordelen. LilyPond is niet compatibel met de standard music font layout (SMuFL). LilyPond heeft een hardnekkige bug die soms ongewenste resultaten geeft bij voorslagen. Er zijn extra instructies nodig om het probleem te omzeilen.

Muziek beschrijven De gebruiker beschrijft de muziek in de opmaaktaal van LilyPond, de lilypondnoatie. Muziekbeschrijvingen in lilypondnotatie bestaan uit tekst die voor mensen leesbaar en begrijpelijk is en met een computertoetsenbord ingevoerd kunnen worden. Gebruikers bepalen zelf in welke volgorde ze algemene opmaakvoorkeuren, partijen en liedteksten in beschrijven. Gebruikers kunnen onderdelen van de beschrijving van een compositie ook in meerdere tekstbestanden onderbrengen. Door opmaakvoorkeuren bij elkaar te plaatsen wordt het makkelijker om werken, of delen daarvan, in dezelfde stijl op te maken. Dit komt overeen met het idee van style sheets. De gebruiker kan (standaard)aanwijzingen voor de opmaak van individuele noten en uitgeschreven aanwijzingen voor musici herbruikbaar maken. Dat versnelt het beschrijven van de muziek helpt om de opmaak consequent te houden. De gebruiker kan zijn muziekbeschrijvingen, of delen daarvan, delen met anderen. Dat maakt samenwerking en onderlinge hulp mogelijk. Het delen van beschrijvingen van opmaakvoorkeuren helpt een groep gebruikers muziek in een gelijke stijl op te maken. De tekstgebaseerde invoer maakt het schrijven van muziek ook mogelijk voor gebruikers met beperkingen, omdat spraakherkenningssoftware en voorleessoftware gebruikt kunnen worden.

Invoeren met toetsenbord Alle programma's waarmee platte tekst ingevoerd kan worden zijn geschikt voor het maken van muziekbeschrijvingen. Platte tekst is tekst zonder opmaak. Alle broncode-editors en teksteditors zijn bruikbaar, en vrijwel alle tekstverwerkers. Veel gebruikers gebruiken broncode-editors die syntaxiskleuring bieden. Alle tekens die voor de lilypondnotatie nodig zijn zitten op vrijwel elk toetsenbord. Een muis is niet per se nodig.

Invoeren via een grafische interface Invoeren van muziek via een grafische interface en een realtime previewfunctie is mogelijk via programma's als LilyPondTool, Frescobaldi en Denemo. Sommigen daarvan hebben syntaxiskleuring, automatische aanvulling van sleutelwoorden en/of extra LilyPond-modellen.

Conversie LilyPond biedt beperkte mogelijkheden voor conversie van MusicXML-bestanden, MIDI-bestanden en Finale-bestanden naar lilypondnotatie.

LilyPond kan muziekbeschrijvingen in ABC-notatie lezen en op basis daarvan bestanden met bladmuziek en geluid maken.

LilyPond biedt geen ondersteuning voor uitvoer of conversie naar bestandsformaten van andere muzieknotatieprogramma's of naar MusicXML.

Bladmuziek en geluid LilyPond slaat de aangemaakte bladmuziek standaard op in Portable Document Format (PDF-bestanden). PostScript (PS-bestanden), Scalable Vector Graphics (SVG-bestanden) of Encapsulated PostScript (EPS-bestanden) zijn ook mogelijk. Ook kan LilyPond Portable Network Graphics (PNG-bestanden) maken, maar de resolutie van dit bestandsformaat is beperkt.

Daarnaast kan LilyPond geluidsbestanden oftewel Audiobestanden maken. Geluisbestanden hebben het MIDI-bestandsformaat.

Voorbeelden van gebruik Distributie van vrije bladmuziek Het Mutopia-archief en Musipedia verspreiden vrije bladmuziek en maken hiervoor gebruik van lilypond. De beschrijvingen van de muziek in lilypondnotatie zijn ook beschikbaar. Sommige bladmuziek in de IMSLP Petrucci Partiturenbiliotheek is ook in lilypondnotatie beschikbaar.

Voorbeeld met MediaWiki In de beschrijving hieronder staan de eerste twee maten van 'Op een grote paddenstoel' in lilypondnotatie. <score> \relative c'' { c4 c c d e e e2 } \addlyrics { Op een gro -- te pad -- den -- stoel, } </score>

De uitleg hiervan staat verderop onder het kopje lilypondnotatie. Hieronder staat precies dezelfde beschrijving, maar nu zonder de aanduiding dat deze beschrijving als code zichtbaar moet zijn. Dankzij de ondersteuning van de MediaWikisoftware is dit notenschrift het resultaat:

Notatievoorbeeld zonder MediaWiki Hieronder een beschrijving van 'Fire Breathers!' van de Finse componist Urpo Lankinen. <score raw = 1 sound = 1> \version "2.22" %% Language upgrade helper.

%% Theme to "Fire Breathers", a homebrew NES game perpetually %% under development. Composed by Urpo Lankinen. %% Note: The composer has made this source code available %% to Wikipedia under the GFDL license. Other versions outside %% Wikipedia are typically under CC BY-SA license.

%% This file uses Finnish note names (for example, where %% Americans use "F#" and "Bb", Finns use "Fis" and "B"). %% Dutch note names are used by default. \language "suomi"

%% The header block defines the titles and texts. \header { title = "Theme to ``Fire Breathers!''" instrument = "For the 2A03 or SID" composer = "Urpo Lankinen" enteredBy = "Urpo Lankinen" updatedBy = "Jan Nieuwenhuizen, Marten de Vries" date = "June 2005" tagline = ##f }

Melody = \relative c'' { \clef treble \time 3/4 \key a \minor

\partial 4 a4 | e'4.( d8[ c]) r8 | d4.( c8[ h]) r8 | a2. | e2 a4 | e'4.( d8[ c]) r8 | d4.( e8[ f]) r8 | e2. | r2 e4 | f4.( e8[ d]) r8 | d4.( c8[ h]) r8 | a2. | e2 a4 | e'4.( d8[ c]) r8 | d4.( c8[ h]) r8 | a2. ~ a2 r4 | \bar " | ." }

%% This is the second voice. SecondVoice = \relative c { \clef bass \time 3/4 \key a \minor

\partial 4 r4 | e2. | d2. | a2. | e2 a4 | e'2. | d2 f4 | e2. | r2. | f2. | d2. | a2. | e2 a4 | e'2. | d2 h4 | a2. ~ a2 r4 | \bar " | ." }

%% Melodies, lyrics and chords can be assigned to a variable and then %% be *reused* elsewhere. Here are three different accompaniment %% ,patterns, which are used throughout the accompaniment melody. AccompA = \relative c { a4 e'8 a, e' a, | } AccompB = \relative c { g4 d'8 g, d' g, | } AccompC = \relative c { e,4 h'8 e, h' e, | }

Accompaniment = { \clef bass \time 3/4 \key a \minor

\partial 4 r4 | \AccompA \AccompB \AccompA \AccompA \AccompA \AccompB \AccompA \AccompA \AccompC \AccompC \AccompA \AccompA \AccompA \AccompB \AccompA | a2 r4 | \bar " | ." }

%% The top level music definition. \score { << \new StaffGroup \with { midiInstrument = bagpipe } << \new Staff \Melody \new Staff \Accompaniment \new Staff \SecondVoice >> >> \layout { } \midi { \tempo 4 = 116 } } </score> Deze beschrijving is met LilyPond omgezet in het notenschrift dat hieronder staat. miniatuur|links|Het notenschrift van 'Fire Breathers!' als PNG-bestand. Klik op afbeelding om SVG-bestand te zien.

De lilypondnotatie De lilypondnotatie is de opmaaktaal van LilyPond. De belangrijke semantische elementen zijn noten, ornamenten, lijnen, commando's, haakjes (tekens voor groepering), commentaar en uitbreidingen.

Noten