Le langage LilyPond
langage de composition musicale

 

1) Introduction

LilyPond est un logiciel de notation musicale. Le traducteur Lilypond transforme un programme écrit en LilyPond en une partition graphique au format PS, PDF, PNG ou SVG, et/ou en un fichier de données MIDI qui peut être joué par un lecteur de fichier midi tel que le logiciel TiMidity.

Voir la notation musicale pour tous

ce langage et ce traducteur permettent d'expérimenter facilement des créations musicales et de rendre ainsi cette matière moins ingrate, de produire une oeuvre par étape, de façon dupliquable et automatisable. Le fait que ce langage soit non-propriétaire, que ce traducteur soit sous licence "GNU Général Public Lience" et que la documentation officielle soit sous licence "GNU Free Documentation License" est une prédisposition majeur au projet, sans lequel il perdrait en même temps une part d'universalité, de portabilité, d'interoperabilité..., et ses moyens libres de production, de ramifications et de développements.

Voici quelque liens sur la notation musicale en générale :

Mesures_et_armures
Notes_et_silences
Nuances,_dynamiques_et_tempos

Audiolexic

Frescobaldi est un éditeur LilyPond de partitions. Puissant, léger et facile à utiliser. Il comprend le lecteur midi TiMidity. Frescobaldi est un logiciel libre, disponible gratuitement sous la licence publique générale (GNU). Pour l'installer sous debian, taper la commande apt-get install frescobaldi.

2) Note

Une note se compose de quatre termes : un premier terme appelé note, un second terme facultatif appelé alteration, un troisième terme facultatif appelé octave, et un quatrième terme facultatif appelé duré :

Note[Alteration][Octave][Durée]

Note
Italien
defaut
la
la
a
si
si
b
do
do
c
re
d
mi
mi
e
fa
fa
f
sol
sol
g
silence
r
r
Altération
12ième
Italien
defaut
Double-dièse
+1
dd
isis
Sesqui-dièse
+3/4
dsd
isih
Dièse
+1/2
d
is
Semi-dièse
+1/4
sd
ih
Semi-bémol
-1/4
sb
eh
Bémol
-1/2
b
es
Sesqui-bémole
-3/4
bsb
eseh
Double-bémole
-1
bb
eses
Octave
Octave
Rapport
Code
+4
16
''''
+3
8
'''
+2
4
''
+1
2
'
-1
1/2
,
-2
1/4
,,
-3
1/8
,,,
-4
1/16
,,,,
Duré
Duré
Code
Longue
16
/longa
Brève
8
/breve
Ronde
4
1
Blanche
2
2
Noire
1
4
Croche
1/2
8
Double croche
1/4
16
Triple croche
1/8
32
Quadruple croche
1/16
64
128th
1/32
128
Duré
Duré
Code
Longue pointé
24
/longa.
Brève pointé
12
/breve.
Ronde pointée
6
1.
Blanche pointée
3
2.
Noire pointée
3/2
4.
Croche pointée
3/4
8.
Double croche pointée
3/8
16.
Triple croche pointée
3/16
32.
Quadruple croche pointé    
128th pointé
   
Duré
Duré
Code
Longue double pointée
28
/longa..
Brève double pointée
14
/breve..
Ronde double pointée
7
1..
Blanche double pointée
7/2
2..
Noire double pointée
7/4
4..
Croche double pointée
7/8
8..
Doublecroche double pointée
7/16
16..
Triplecroche double pointée
7/32
32..
Duré
Duré
Code
Longue triple pointée
30
/longa...
Brève triple pointée
15
/breve...
Ronde triple pointée
15/2
1...
Blanche triple pointée
15/4
2...
Noire triple pointée
15/8
4...
Croche triple pointée
15/16
8...
Doublecroche triple pointée
15/32
16...
Triplecroche triple pointée
15/64
32...

 

---- 21 janvier 2013 ---

 


\version "2.12"
\header {title = "essai 1"}
\score {

   {c' d' e' f' g' a' b' c''}

   \layout { }
   \midi { }
}

  {c' d' e' f' g' a' b' c''}

peut être remplacé par

\relative {c d e f g a b c}

 

Les accords

Les accords sont écrit entre < > ainsi l'expression {\clef bass <f, c a> <f b> <g c> <f b, d,>} correspond à :

On peut utiiser des variables (leur nom doit être alphabétique uniquement) par exemple

mu = {\clef bass <f, c a> <f b> <g c> <f b, d,>}
\transpose a bes \mu

 

Instruments midi :

acoustic grand
bright acoustic
electric grand
honky-tonk
electric piano 1
electric piano 2
harpsichord
clav
celesta
glockenspiel
music box
vibraphone
marimba
xylophone
tubular bells
dulcimer
drawbar organ
percussive organ
rock organ
church organ
reed organ
accordion
harmonica
concertina
acoustic guitar (nylon)
acoustic guitar (steel)
electric guitar (jazz)
electric guitar (clean)
electric guitar (muted)
overdriven guitar
distorted guitar
guitar harmonics
acoustic bass
electric bass (finger)
electric bass (pick)
fretless bass
slap bass 1
slap bass 2
synth bass 1
synth bass 2
violin
viola
cello
contrabass
tremolo strings
pizzicato strings
orchestral strings
timpani
string ensemble 1
string ensemble 2
synthstrings 1
synthstrings 2
choir aahs
voice oohs
synth voice
orchestra hit
trumpet
trombone
tuba
muted trumpet
french horn
brass section
synthbrass 1
synthbrass 2
soprano sax
alto sax
tenor sax
baritone sax
oboe
english horn
bassoon
clarinet
piccolo
flute
recorder
pan flute
blown bottle
shakuhachi
whistle
ocarina
lead 1 (square)
lead 2 (sawtooth)
lead 3 (calliope)
lead 4 (chiff)
lead 5 (charang)
lead 6 (voice)
lead 7 (fifths)
lead 8 (bass+lead)
pad 1 (new age)
pad 2 (warm)
pad 3 (polysynth)
pad 4 (choir)
pad 5 (bowed)
pad 6 (metallic)
pad 7 (halo)
pad 8 (sweep)
fx 1 (rain)
fx 2 (soundtrack)
fx 3 (crystal)
fx 4 (atmosphere)
fx 5 (brightness)
fx 6 (goblins)
fx 7 (echoes)
fx 8 (sci-fi)
sitar
banjo
shamisen
koto
kalimba
bagpipe
fiddle
shanai
tinkle bell
agogo
steel drums
woodblock
taiko drum
melodic tom
synth drum
reverse cymbal
guitar fret noise
breath noise
seashore
bird tweet
telephone ring
helicopter
applause
gunshot
\new Staff {
  \set Staff.midiInstrument = #"tubular bells"
  ...notes...
}

\new Staff \with {midiInstrument = #"contrabass"} {
  ...notes...
}

Utilisation de plusieurs voix :
\score {
	\new Staff <<
		\new Voice \relative c''' {
 			\set midiInstrument = #"flute"
 			\voiceOne
 			r g-"Flute" g f a g f a g f a b
 		}
 		\new Voice \relative c'' {
 			\set midiInstrument = #"clarinet"
 			\voiceTwo
 			b2-"Clarinet" a a f b f
 		}
 		\new Voice \relative c' {
 			\set midiInstrument = #"contrabass"
 			\voiceThree
 			g1 a b-"Contrabass"
 		}
 		\new Voice \relative c {
 			\set midiInstrument = #"electric bass (finger)"
 			\voiceFour
 			g1 c d-"Electric bass (finger)"
		}
	>>
	\layout { }
	\midi {
		\context {\Staff \remove "Staff_performer"}
		\context {\Voice \consists "Staff_performer"}
 		\context {\Score tempoWholesPerMinute = #(ly:make-moment 72 2)}
	}
}