LilyPond Het muziekprogramma Beginnershandleiding Het LilyPond ontwikkelteam
This file provides an introduction to LilyPond version 2.18.2. ¨
©
Voor meer informatie over waar deze handleiding in de rest van de documentatie past, of over ¨ het lezen van deze handleiding in andere formaten, zie Sectie “Handleidingen” in Algemene Informatie. Mocht je een handleiding missen, de volledige documentatie is altijd te vinden op http://www.lilypond.org/.
© Copyright c 1999–2012 door de auteurs. The translation of the following copyright notice is provided for courtesy to non-English speakers, but only the notice in English legally counts. De vertaling van onderstaande copyright voorwaarden wordt gegeven ter ori¨enteringvoor niet- Engelstalige lezers. Juridisch gezien is echter uitsluitend de engelstalige versie rechtsgeldig. Toestemming wordt verleend tot het kopi¨eren,verspreiden en/of wijzigen van dit document onder de bepalingen van de GNU Vrije Documentatie Licentie, versie 1.1 of iedere latere versie uitgegeven door de Free Software Foundation; zonder Invariante Secties, zonder Omslagteksten voor de Voorkant en zonder Omslagteksten voor de Achterkant. Een kopie van de licentie is opgenomen in de sectie getiteld “GNU Vrije Documentatie Licentie”. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled “GNU Free Documentation License”. Voor LilyPond versie 2.18.2 i
Inhoudsopgave
1 Leerboek ...... 1 1.1 Het compileren van een bestand ...... 1 1.1.1 Invoer schrijven...... 1 1.1.2 MacOS X...... 2 1.1.3 Windows ...... 6 1.1.4 Commandoregel ...... 10 1.2 Het schrijven van invoerbestanden ...... 11 1.2.1 Eenvoudige notatie ...... 11 1.2.2 Werken met invoerbestanden ...... 16 1.3 Omgaan met foutmeldingen ...... 17 1.3.1 Algemene tips voor het oplossen van problemen ...... 17 1.3.2 Enkele algemene fouten ...... 17 1.4 Het lezen van de handleidingen ...... 17 1.4.1 Weggelaten materiaal ...... 17 1.4.2 Klikbare voorbeelden ...... 18 1.4.3 Overzicht van handleidingen ...... 18
2 Algemene muzieknotatie ...... 19 2.1 Notatie voor een enkele notenbalk ...... 19 2.1.1 Maat-controles ...... 19 2.1.2 Verplaatsingstekens en toonsoorten ...... 19 2.1.3 Overbindingen en legatobogen ...... 21 2.1.4 Articulatie en dynamiek ...... 22 2.1.5 Tekst toevoegen ...... 23 2.1.6 Automatische en handmatige waardestrepen ...... 24 2.1.7 Geavanceerde ritmische commando’s ...... 24 2.2 Verschillende noten tegelijk klinkend ...... 25 2.2.1 Muziekuitdrukkingen nader verklaard ...... 25 2.2.2 Meerdere notenbalken ...... 27 2.2.3 Notenbalkgroepen ...... 28 2.2.4 Het combineren van noten tot accoorden ...... 29 2.2.5 Polyfonie binnen een notenbalk ...... 29 2.3 Vocale muziek ...... 30 2.3.1 Het zetten van eenvoudige liedjes ...... 30 2.3.2 Liedteksten uitrichten op een melodie ...... 30 2.3.3 Liedteksten bij meerdere notenbalken ...... 34 2.4 De puntjes op de i’s ...... 35 2.4.1 Stukken organiseren met variabelen ...... 35 2.4.2 Titels toevoegen ...... 36 2.4.3 Absolute notenamen ...... 37 2.4.4 Na het leerboek ...... 38
3 Fundamentele concepten...... 39 3.1 Hoe LilyPond-invoerbestanden werken ...... 39 3.1.1 Inleiding in de LilyPond-bestandsstructuur...... 39 3.1.2 Score is a (single) compound musical expression ...... 41 3.1.3 Nesting music expressions ...... 43 ii
3.1.4 On the un-nestedness of brackets and ties ...... 44 3.2 Voices contain music ...... 45 3.2.1 I’m hearing Voices ...... 46 3.2.2 Explicitly instantiating voices ...... 50 3.2.3 Voices and vocals ...... 54 3.3 Contexts and engravers ...... 56 3.3.1 Contexts explained ...... 56 3.3.2 Creating contexts...... 57 3.3.3 Engravers explained ...... 59 3.3.4 Modifying context properties ...... 60 3.3.5 Adding and removing engravers ...... 64 3.4 Extending the templates...... 67 3.4.1 Soprano and cello ...... 67 3.4.2 Four-part SATB vocal score ...... 70 3.4.3 Building a score from scratch ...... 75 3.4.4 Saving typing with variables and functions ...... 80 3.4.5 Scores and parts ...... 83
4 Tweaking output ...... 85 4.1 Tweaking basics ...... 85 4.1.1 Introduction to tweaks...... 85 4.1.2 Objects and interfaces ...... 85 4.1.3 Naming conventions of objects and properties ...... 86 4.1.4 Tweaking methods ...... 86 The \override command ...... 86 The \revert command...... 87 The \once prefix ...... 87 The \overrideProperty command ...... 88 The \tweak command ...... 88 4.2 The Internals Reference manual ...... 90 4.2.1 Properties of layout objects ...... 90 4.2.2 Properties found in interfaces ...... 94 4.2.3 Types of properties ...... 95 4.3 Appearance of objects ...... 96 4.3.1 Visibility and color of objects ...... 96 The stencil property...... 96 The break-visibility property ...... 97 The transparent property ...... 98 The color property ...... 99 4.3.2 Size of objects ...... 101 4.3.3 Length and thickness of objects...... 104 4.4 Placement of objects ...... 105 4.4.1 Automatic behavior ...... 105 4.4.2 Within-staff objects ...... 106 The direction property ...... 106 Fingering ...... 107 4.4.3 Outside-staff objects...... 110 The outside-staff-priority property ...... 110 The \textLengthOn command ...... 112 Dynamics placement ...... 113 Grob sizing ...... 114 4.5 Collisions of objects ...... 115 4.5.1 Moving objects ...... 115 4.5.2 Fixing overlapping notation...... 117 iii
The padding property...... 117 The right-padding property ...... 118 The staff-padding property ...... 119 The self-alignment-X property ...... 119 The staff-position property ...... 119 The extra-offset property...... 120 The positions property ...... 120 The force-hshift property...... 121 4.5.3 Real music example ...... 123 4.6 Further tweaking ...... 130 4.6.1 Other uses for tweaks...... 130 Tying notes across voices ...... 130 Simulating a fermata in MIDI ...... 131 4.6.2 Using variables for tweaks ...... 133 4.6.3 Style sheets ...... 134 4.6.4 Other sources of information...... 138 4.6.5 Advanced tweaks with Scheme ...... 139
Appendix A Templates...... 141 A.1 Single staff templates ...... 141 A.1.1 Notes only ...... 141 A.1.2 Notes and lyrics ...... 141 A.1.3 Notes and chords ...... 142 A.1.4 Notes, lyrics, and chords ...... 142 A.2 Piano templates ...... 143 A.2.1 Solo piano ...... 143 A.2.2 Piano and melody with lyrics ...... 144 A.2.3 Piano centered lyrics ...... 145 A.3 String quartet templates ...... 146 A.3.1 String quartet ...... 146 A.3.2 String quartet parts...... 147 A.4 Vocal ensembles templates ...... 150 A.4.1 SATB vocal score ...... 150 A.4.2 SATB vocal score and automatic piano reduction ...... 152 A.4.3 SATB with aligned contexts...... 154 A.4.4 SATB on four staves ...... 155 A.4.5 Solo verse and two-part refrain ...... 157 A.4.6 Hymn tunes ...... 159 A.4.7 Psalms ...... 161 A.5 Orchestral templates...... 164 A.5.1 Orchestra, choir and piano ...... 164 A.6 Ancient notation templates ...... 167 A.6.1 Transcription of mensural music...... 167 A.6.2 Gregorian transcription template ...... 173 A.7 Other templates ...... 173 A.7.1 Jazz combo ...... 173
Appendix B GNU Free Documentation License ...... 180
Appendix C LilyPond register...... 187 Hoofdstuk 1: Leerboek 1
1 Leerboek
Dit hoofdstuk is de basisinleiding voor het werken met LilyPond. 1.1 Het compileren van een bestand Deze paragraaf introduceert het “compileren”—het verwerken van LilyPond-invoerbestanden (geschreven door jouzelf) voor het produceren van uitvoerbestanden. 1.1.1 Invoer schrijven “Compileren” is de term die gebruikt wordt voor het verwerken van een invoerbestand in LilyPond-formaat voor het produceren van ´e´enof meer uitvoerbestanden. Uitvoerbestanden zijn gewoonlijk PDF (om te printen of te bekijken), MIDI (om af te spelen), en PNG (for online gebruik). LilyPond-invoerbestanden zijn gewone tekstbestanden. Dit is een voorbeeld van een eenvoudig invoerbestand: \version "2.18.2" { c' e' g' e' } De grafische uitvoer is:
I I I I
Note : Noten en liedteksten in LilyPond invoer moeten altijd binnen ¨ { accolades } staan. Om ambigu¨ıteit te voorkomen moeten deze acco- lades altijd los staan, d.w.z. omgeven zijn door witruimte, of aan het begin of einde van een regel staan. In sommige voorbeelden in deze han- dleiding zijn ze weggelaten, maar vergeet ze niet te gebruiken in je eigen muziek! Voor meer informatie over hoe voorbeelden worden afgebeeld in deze handleiding, zie Sectie 1.4 [Het lezen van de handleidingen], pagina 17.
LilyPond-invoer is hoofdlettergevoelig.‘{ c d e }’ is geldige invoer; ‘{CDE}’ zal© een fout- melding geven.
Het produceren van uitvoer Hoe je uitvoer produceert, is afhankelijk van je operating systeem en van de programma’s die je gebruikt. • Sectie 1.1.2 [MacOS X], pagina 2 Sectie 1.1.2 [MacOS X], pagina 2 (grafisch) • Sectie 1.1.3 [Windows], pagina 6 Sectie 1.1.3 [Windows], pagina 6 (grafisch) • Sectie 1.1.4 [Commandoregel], pagina 10 Sectie 1.1.4 [Commandoregel], pagina 10 (com- mandoregel) Er zijn verscheidene andere tekst-editors beschikbaar met specifieke LilyPond-ondersteuning. Voor meer informatie, zie Sectie “Eenvoudiger bewerken” in Algemene Informatie.
Note : Als je LilyPond voor de allereerste keer draait, kan dat een min- ¨ uut of twee duren omdat alle systeemfonts eerst moeten worden geanal- yseerd. De volgende keer draait LilyPond veel sneller!
© Hoofdstuk 1: Leerboek 2
1.1.2 MacOS X
Note : Deze instructies veronderstellen dat je de de LilyPond applicate ¨ gebruikt. Als je een van de andere programma’s gebruikt die beschreven staan in Sectie “Eenvoudiger bewerken” in Algemene Informatie, raad- pleeg dan de documentatie voor dat programma als je problemen hebt.
© Stap 1. Maak je ‘.ly’-bestand Dubbelklik de LilyPond.app, een voorbeeldbestand wordt geopend. Hoofdstuk 1: Leerboek 3
Uit de menu’s links bovenaan je scherm, kies Bestand > Opslaan.
Kies een naam voor je bestand, bijvoorbeeld ‘test.ly’. Hoofdstuk 1: Leerboek 4
Stapp 2. Compileer (met LilyPad) Uit dezelfde menu’s, kies Compile > Tyepset.
Een nieuw venster opent en toont een voortgangslog van de compilatie van het bestand dat je zojuist hebt opgeslagen. Hoofdstuk 1: Leerboek 5
Stap 3. Bekijk de uitvoer Zodra de compilatie klaar is, wordt een PDF-bestand gemaakt met dezelfde naam als het orig- inele bestand en dat wordt automatisch geopend in de standaard PDF-viewer en op je scherm getoond.
Andere commando’s Een nieuw LilyPond bestand maken, doe je door het kiezen van Bestand > Nieuw Hoofdstuk 1: Leerboek 6
of je opent met Bestand > Openen een bestaand bestand om te bewerken.
Als je een bestand bewerkt hebt, moet je het eerst opslaan voordat je Compile > Typeset doet en als het PDF-bestand niet wordt getoond, controleer dan het venster met de voortgangslog op foutmeldingen.
Als je geen gebruik maakt van de standaard Preview PDF-viewer die onderdeel is van het Mac Operating systeem en je hebt het PDF-bestand van een vorige compilatie nog open staan, dan kan het zijn dan alle volgende compileerpogingen niet slagen in het genereren van een nieuwe PDF totdat je het originele venster sluit.
1.1.3 Windows
Note : Deze instructies veronderstellen dat je gebruik maakt van de inge- ¨ bouwde LilyPad-editor. Als je een van de andere programma’s gebruikt die beschreven staan in Sectie “Eenvoudiger bewerken” in Algemene Informatie, raadpleeg dan de documentatie voor dat programma als je problemen hebt met het compileren van een bestand.
© Hoofdstuk 1: Leerboek 7
Stap 1. Maak je ‘.ly’-bestand Dubbelklik het LilyPond ikoon op je Bureaublad, een voorbeeldbestand wordt geopend. Hoofdstuk 1: Leerboek 8
Kies uit de menu’s bovenaan het voorbeeldbestand Bestand > Opslaan als. De optie Bestand > Opslaan kun je voor dit voorbeeldbestand niet gebruiken als je het nog geen geldige LilyPond-naam hebt gegeven.
Kies een naam voor je bestand, bijvoorbeeld ‘test.ly’. Hoofdstuk 1: Leerboek 9
Stap 2a. Compileer (door slepen en neerzetten - drag and drop) Afhankelijk van wat je voorkeur heeft, compileer je je bestand door ofwel:
te slepen en neer te zetten bovenop het LilyPond ikoon, ofwel
met de tweede muisknop op het bestand te klikken en uit het popup-contextmenu Open met > LilyPond te kiezen.
Stap 2b. Compileer (door te dubbelklikken) Of dubbelklik het ‘test.ly’ bestand.
Stap 3. Bekijk de uitvoer Tijdens het compileren van het ‘test.ly’ bestand, wordt een commandovenster geopend dat zich na korte tijd weer sluit. Tijdens dit proces worden drie extra bestanden aangemaakt. Hoofdstuk 1: Leerboek 10
Het PDF-bestand bevat het gegraveerde ‘test.ly’ bestand.
Andere commando’s Om een nieuw bestand te maken, kies Bestand > Nieuw vanuit een eerder gemaakt bestand of gebruik Bestand > Openen om een eerder gemaakt bestand te openen en te bewerken. Als je een bestand bewerkt hebt, moet je het eerst opslaan voordat je het compileert en als het PDF-bestand niet wordt aangemaakt, controleer dan het venster met de voortgangslog op foutmeldingen.
Dit logbestand wordt elke keer overschreven als je je LilyPond-bestand compileert. Het PS-bestand wordt LilyPond intern gebruikt als tussenstap om het PDF-bestand aan te maken, je kunt het verder negeren. Dit bestand wordt ook elke keer overschreven als je je LilyPond-bestand compileert. Als je je bestand bekijkt met een PDF-viewer, dan moet je de PDF sluiten als je een nieuwe compilatie wilt doen omdat het genereren van een nieuwe PDF kan mislukken zolang je de oude nog aan het bekijken bent. 1.1.4 Commandoregel Hoofdstuk 1: Leerboek 11
Note : Deze instructies veronderstellen dat je vertrouwd bent met het ¨ gebruik van de commandoregel. Als je een van de andere programma’s gebruikt die beschreven staan in Sectie “Eenvoudiger bewerken” in Al- gemene Informatie, raadpleeg dan de documentatie voor dat programma als je problemen hebt met het compileren van een bestand.
© Stap 1. Maak je ‘.ly’-bestand Maak een tekstbestand met de naam ‘test.ly’ en vul het met: \version "2.18.2" { c' e' g' e' } Stap 2. Compileren (op de commandoregel) Om het ‘test.ly’-bestand te compileren, typ op de commandoregel: lilypond test.ly Je ziet dan iets dat lijkt op: GNU LilyPond 2.18.2 Verwerken van `test.ly' Ontleden... Vertolken van muziek... Voorbewerken van grafische objecten... Berekenen van 1 pagina-afbreek brokken...[1: 1 pagina's] Tekenen van systemen... Opmaakuitvoer naar `test.ps'... Converteren naar `./test.pdf'... Success: compilation successfully completed Stap 3. Bekijk de uitvoer Je kunt het resulterende ‘test.pdf’-bestand bekijken of printen.
1.2 Het schrijven van invoerbestanden Deze paragraaf introduceert de LilyPond basissyntax om je op weg te helpen bij het schrijven van invoerbestanden. 1.2.1 Eenvoudige notatie LilyPond kan bepaalde notatie-elementen automatisch toevoegen. In het volgende voorbeeld hebben we slechts vier toonhoogten ingevoerd, maar LilyPond heeft een muzieksleutel, een maat- soort, en nootlengtes toegevoegd. { c' e' g' e' }
I I I I Dit gedrag kan worden veranderd, maar in de meeste gevallen zijn deze automatische waarden heel handig. Hoofdstuk 1: Leerboek 12
Toonhoogten Terminologie: Sectie “pitch” in Terminologie, Sectie “interval” in Terminologie, Sectie “scale” in Terminologie, Sectie “middle C” in Terminologie, Sectie “octave” in Terminologie, Sectie “accidental” in Terminologie. De meest eenvoudige manier voor het invoeren van noten is de \relative modus. In deze modus wordt het octaaf automatisch gekozen door de aanname dat een opvolgende noot altijd zo dicht mogelijk bij de vorige noot geplaatst moet worden, d.w.z., hij wordt geplaatst in het octaaf dat binnen drie notenbalk-ruimtes ten opzichte van de vorige noot valt. We beginnen met het invoeren van het meest elementaire stuk muziek, een toonladder, waarin elke noot precies ´e´ennotenbalk-ruimte hoger is dan de vorige noot. % zet het beginpunt op de centrale C \relative c' { c d e f g a b c }