Remove ads
vrije muzieknotatiesoftware Van Wikipedia, de vrije encyclopedie
LilyPond is muzieknotatiesoftware. De ontwikkelgroep van LilyPond wil goed opgemaakte en prettig leesbare bladmuziek van de beste kwaliteit maken, naar voorbeeld van traditioneel gegraveerde bladmuziek.[3] Het idee is dat mooie en goed leesbare bladmuziek musici steunt en stimuleert.[4]
LilyPond | ||||
---|---|---|---|---|
Ontwerper(s) | Han-Wen Nienhuys, Jan Nieuwenhuizen, Graham Keith Percival | |||
Ontwikkelaar(s) | LilyPond ontwikkelgroep | |||
Uitgebracht | 1 augustus 1997 (27 jaar geleden) | |||
Recentste versie | 2.24.4 (21 juli 2024)[1] | |||
Recentste bètaversie | 2.25.22 (30 november 2024)[2] | |||
Besturingssysteem | GNU/Linux, BSD, Windows, macOS | |||
Geschreven in | C++, Python, Scheme | |||
Categorie | music engraving, muzieknotatiesoftware | |||
Licentie(s) | GPL-3.0+ | |||
Versiebeheer | Officiële broncode | |||
Website | https://lilypond.org | |||
|
Het maken van bladmuziek met LilyPond gebeurt in twee stappen. Eerst beschrijft de gebruiker de muziek in LilyPondnotatie. Vervolgens start de gebruiker LilyPond, dat op basis van de beschrijving bladmuziek maakt.
LilyPond maakt de bladmuziek automatisch op en heeft daarvoor een redeneermechanisme of algoritme. Het optimaliseert keuzes voor onder andere het aantal maten in een notenbalk en het aantal notenbalken of systemen op een pagina. Het programma vermijdt botsingen tussen noten, tekst, dynamische tekens en andere muzieksymbolen.
De gebruiker kan alle instellingen van het redeneermechanisme voor de typografische opmaak aanpassen. Aanwijzingen en instellingen zijn mogelijk voor het hele compositie, voor delen en voor individuele noten en muzieksymbolen. Alle instellingen en aanwijzingen voor de opmaak zijn onderdeel van de beschrijving van de muziek.
Lilypond biedt dezelfde gebruiksmogelijkheden als de meeste andere muzieknotatiesoftware. Hieronder staan enkele specifieke mogelijkheden:
LilyPond heeft voorzieningen om de productiviteit te verhogen.
Beperkingen ten opzichte van andere muzieknotatiesoftware.
De gebruiker beschrijft de muziek in LilyPondnotatie. Voor het beschrijven van de muziek is alleen een teksteditor nodig. Alle tekens die voor deze notatie nodig zijn zitten op vrijwel elk toetsenbord. Bij het maken of lezen van de beschrijving is LilyPond dus niet nodig, wat gebruikers veel vrijheden geeft:
Gebruikers kunnen beschrijvingen van muziek maken met alle programma's die platte tekst maken. 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. Daarnaast is een toetsenbord of spraakherkenningssoftware en eventueel voorleessoftware nodig. Een muis is niet per se nodig.
Invoeren van muziek via een grafische interface en een realtime previewfunctie is mogelijk via programma's als LilyPondTool, Frescobaldi[10] en Denemo[11]. Sommigen daarvan hebben syntaxiskleuring, automatische aanvulling van sleutelwoorden en/of extra LilyPond-modellen.
Er zijn programma's die invoer met een toetsenblok of met een MIDI-klavier ondersteunen.
Er is ondersteuning voor het converteren van MIDI- en MusicXML-bestanden naar LilyPondnotatie.
De standaarduitvoer is in Portable Document Format (PDF) en PostScript (PS). Scalable Vector Graphics (SVG) en Encapsulated PostScript (EPS) zijn ook mogelijk. Ook is uitvoer in Portable Network Graphics (PNG) mogelijk, maar de resolutie van dit bestandsformaat is beperkt.
Daarnaast kan LilyPond muziek als audiobestanden uitvoeren. Audiobestanden hebben het MIDI-bestandsformaat. Uitvoer naar MusicXML biedt LilyPond niet.
Het Mutopia-archief[12] en Musipedia[13] verspreiden vrije bladmuziek en maken hiervoor gebruik van lilypond. De beschrijvingen van de muziek in LilyPondnotatie zijn ook beschikbaar.
In de beschrijving hieronder staan de eerste twee maten van 'Op een grote paddenstoel' in LilyPondnotatie.
<score> \relative c'' { c4 c d 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:
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.
De taal of syntaxis van de LilyPondnotatie bestaat hoofdzakelijk uit noten, commando's, commentaar en uitbreidingen.
Namen van tonen verschillen per taal. Wat bijvoorbeeld een bes is in het Nederlands, is in het Engels b-flat, in het Duits een B en in het Frans een si-bémol. Daarom geeft de gebruiker in de beschrijving aan welke spreektaal hij gebruikt. In het Nederlands noteert de gebruiker de stamtonen met de kleine letters c, d, e, f, g, a en b. Voorbeelden van tonen met wijzigingstekens zijn bes, es en fis. LilyPond ondersteunt namen van tonen in twaalf talen.[14]
Komma's of quotes direct na de toonnaam geven het octaaf aan. De toon c'
is de centrale c en de laagste stamtoon van het 'eengestreept octaaf'. De toon a'
zit ook in het eengestreept octaaf en wordt wel de stemtoon genoemd. De toon c
is een octaaf lager dan de toon c'
, en de toon c,
is weer een octaaf lager.
Cijfers geven de duur van een noot aan. Een 4 geeft een kwartnoot aan, een 2 een halve noot en 1 een hele noot. Een punt na het getal heeft dezelfde betekenis als in het gewone notenschrift, de duur van de noot is dan anderhalf keer zo lang. Als een volgende noot dezelfde lengte heeft als de voorgaande noot, dan is het niet nodig om bij die volgende noot het getal te noteren.
Commando's beginnen met een \
. Een voorbeeld is \relative
. Dit commando geeft aan dat het octaaf van de volgende noten niet absoluut wordt aangegeven, maar ten opzichte van de voorgaande noot. Dan is het interval tussen de stamtoon van een noot en de stamtoon van de vorige noot een kwart of minder. De gebruiker kan dat interval naar beneden of naar boven bijstellen met comma's repectievelijk quootjes. Het commando \addlyrics
betekent "voeg liedtekst toe". Lettergrepen worden gescheiden door --
ofwel een spatie, twee afbreekstreepjes en weer een spatie. Dat stelt LilyPond in staat om de woorden correct onder de noten te plaatsen. LilyPond heeft meerdere mogelijkheden om melisme's, klanken over meerdere noten, te noteren.
Standaard gaat LilyPond uit van muziek in de toonsoort c‑groot en vierkwartsmaat. Met \time
kan een andere maatsoort worden aangegeven, met \key
een andere toonsoort en met \clef
een andere muzieksleutel.
Met \markup
kan de gebruiker tekst boven of onder de notenbalk plaatsen en opmaken.
Lilypond heeft specifieke codes voor dynamiek, zoals \pp
, \mf
; een crescendoteken begint met \<
en eindigt met \!
. De gebruiker kan ook specifieke elementen van de muziek aanpassen, zoals de vorm van de noten of de richting van de stok. Er zijn meerdere mogelijkheden om aan te geven hoe lang een dergelijke wijziging geldt. Het commando \once
geeft aan dat het volgende commando voor bijvoorbeeld een specifieke noot geldt. Sommige veelgebruikte commando's hebben een eigen symbool om het invoeren te vergemakkelijken. Een legatoboog begint bijvoorbeeld met een (
en eindigt met een )
.
Intensief gebruik van commando's vermindert de leesbaarheid van de beschrijving. Daarom kunnen commando's ook in een apart bestand opgenomen worden. De oorspronkelijke beschrijving wordt dan overzichtelijker. Dat maakt het makkelijker om de opmaak van het muziekschrift consequent te houden en maakt het beschrijven van muziek sneller.[15]
Commentaar op een regel wordt voorafgegaan door een procentteken %
. Langer commentaar begint met %{
en eindigt met %}
.
De gebruiker kan naast de LilyPondnotatie ook gebruik maken van de scripttaal waarin LilyPond zelf voor een belangrijk deel is geschreven. Gebruikers kunnen hiermee instellingen doen die niet mogelijk zijn in de LilyPondnotatie, en zelf extra mogelijkheden aan LilyPond toevoegen. Dit biedt gebruikers ook een weg om door te groeien naar ontwikkelaar.[16]
LilyPond kan ook muziek die genoteerd is in de ABC-notatie omzetten in bladmuziek.
LilyPond is vrije software. Dat betekent onder andere dat het gebruik ervan kosteloos is, ook voor commercieel gebruik.
LilyPond werkt op de besturingssystemen GNU/Linux, MacOS X en Windows.
De gebruiker kan LilyPondmuziek invoegen in LaTeX en HTML. Met behulp van OOoLilyPond kan dat ook in OpenOffice.org[17] en er zijn Plug-ins voor het gebruik van LilyPondnotatie in verschillende blogs. De Wiki-software MediaWiki, die voor Wikipedia gebruikt wordt, ondersteunt LilyPond sinds 2013.[16][18] Zo kan met de LilyPondnotatie notenschrift toegevoegd worden aan teksten.
De kern van LilyPond bestaat uit modules die in C++ zijn geprogrammeerd. De meeste mogelijkheden die LilyPond biedt zijn geprogrammeerd met de ingebouwde scripttaal Guile, die deze modules gebruikt en combineert. Guile is een dialect van Scheme.[19] De omvang van de code is bijna 600.000 regels, waarvan bijna 240.000 regels in C++ en ruim 100.000 regels in Guile.[20]
De muzieksymbolen van het standaardnotenschrift van LilyPond zijn gemaakt met Metafont en de documentatie van LilyPond is gegenereerd met Python en Make. Flex en GNU Bison ontleden of 'parsen' de beschrijvingen en zetten daarmee de eerste stappen van het vertalen van de beschrijving naar de uitvoer. PostScript en SVG worden gebruikt bij het maken van van de uitvoer.[19]
Lilypond is een consoletoepassing. Dat betekent dat de gebruikersinterface volledig op tekst is gebaseerd en dat gebruiker het programma start met een startcommando dat hij invoert in de commandoregel van het besturingssysteem van de computer.[21] Het startcommando om bevat minimaal de naam 'lilypond' en de naam van het tekstbestand met de muziekbeschrijving.
Bij een computer met een grafisch besturingssysteem, zoals MS-Windows, kan het starten ook door te (dubbel)klikken op de bestandsnaam van het tekstbestand met de beschrijving van de muziek.
LilyPond werkt als batchprogramma, wat betekent dat het programma op basis van het startcommando de beschrijving interpreteert en verwerkt zonder verdere tussenkomst van de gebruiker.[22] Het resultaat is een logbestand met een beschrijving van de stappen van het compileren oftewel het maken van de bladmuziek. Het programma controleert de beschrijving en schrijft eventuele waarschuwingen en foutmeldingen ook in het logbestand. Als het geen fouten vindt maakt het ook de bladmuziek en audiobestanden zoals de beschrijving dat aangeeft.
De softwarevoetafdruk van LilyPond is klein. De gebruiker plaatst de bestanden met de software in het vaste geheugen van de computer om LilyPond gebruiksklaar te maken. De gebruiker hoeft geen instellingen van de computer te wijzigen en er is geen installatieprogramma.[23] Het programma werkt op vrijwel elke personal computer.
Han-Wen Nienhuys en Jan Nieuwenhuizen begonnen de ontwikkeling van LilyPond in 1996[24] en presenteerden de eerste versie, met versienummer 0.1, op 1 augustus 1997[25]. De naam is terug te voeren op Rosegarden, een eerder project, en op een kennis van Nienhuys, Suzanne, een Hebreeuwse naam die lelie betekent.[26]
LilyPond 1.0 verscheen op 31 juli 1998. Vanaf die versie heeft het een eigen muziekschrift, Feta.[27] LilyPond 2.0 verscheen op 24 september 2003. Deze versie bracht een vereenvoudigde syntaxis en veel nieuwe mogelijkheden om verschillende muziekstijlen weer te geven.[28] In 2024 heeft LilyPond een actief ontwikkelteam en een actieve gebruikersgemeenschap.[29]
De pakketten Finale van MakeMusic, Sibelius van Avid Technology en Dorico van Steinberg worden vaak met LilyPond vergeleken. Andrew Hawryluk bijvoorbeeld, een gebruiker van Finale en LilyPond, vergeleek deze twee pakketten en schreef erover.[30] Een vergelijking met MuseScore staat op slant.co.[31]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.