alpiso
March 29th, 2011, 10:31 am
Lilypond Notation Software
I open this topic to discuss and give the opportunity to help each other about the Lilypond Engraving software.
"Engraving" as said by the authors because this software focus on producing really nice and beautiful sheet music, like those produced dozen years ago.
Simpler, you can also say Notation software ^_^.
On the ichigos web site you can already find sheet music produced with this software, like this one : Lilium From Elfen Lied (Transcribed by Niu) (http://ichigos.com/res/getfile.php?id=1519&type=pdf)
Introduction - Presentation
I may introduce it a little (?).
First, this is not a WYSIWYG software. Music is not entered by the mouse neither by a nice graphical view/user interface like Finale, Sibelius or other software like them. You have to enter the music by text. Yes, text. The benefit is that you can write your music everywhere, in every Operating System: Lilypond is multi-platform: windows, linux, Mac. Thus, the source file is also very very small.
The other benefit is that you get a nice PDF file, readable everywhere too.
Of course, the main drawback is to learn the syntax, all the text commands. Because, you can not write what you want to produce your sheet music, you have to learn how to write the music, conforming to the Lilypond syntax. Maybe it's a difficulty, because you'll need to spend time in this task, but I can answer that in each new software you get, you need to learn how to use it.
But, don't think that entering music in Lilypond is very different from other softwares: music stay music, you'll find notes, rhythm, dynamics, staff notations, annotations, chords, etc... :)
Thus, Lilypond make differences in typing music. I mean, you have all that is related to the music itself (pitches, rhythm, etc...) and in other hand, you have all that is related to Staff and paper customization. Even if Lilypond compute automatically to the best performance in obtaining a beautiful sheet music, you can change these settings (eg. A5 paper instead A4...) .
The other difficulty that I would like to discuss is that you can write the source in different ways to get the same PDF. For example : if 2 persons transcribe the same music, we will have the same PDF, but the source file may be different.
So it would be very nice that in this thread we should discuss about a (the?) good way to write the music, so when someone want to modify a source file for his convenience, he will do this the faster way. I'm telling about that in keeping in minds that transcribers would use lilypond and would share their sources to offer to other persons a way to adapt and personalize the sheet music at their own convenience and personal purpose.
People who have ability in computer programming will have an advantage: Lilypond manage music as expressions.
People who don't know this, won't be disadvantaged, it's a concept that I'll explain later, just know that I'll speak about "music expression" ;)
Keep in mind that the aim of Lilypond is not to focus on how to type music but it's to produce beautiful sheet music :)
To be more precise, you can also produce a lilypond file from : MIDI file, abc file, musicXML file and music keyboard (still in development)
Oh! Did I forgot to precise that Lilypond is free ^.^ ?
Link
Here is the link to the main Lilypond site : www.lilypond.org
(http://www.lilypond.org)
Tools and Tutorials
For typing music, some useful tools exists. Rather than write word for word the music, they allow to write music faster by clicking on a menu item.
Those who use jEdit will find LilypondTools (http://lilypondtool.blogspot.com/). It's a plugin that add a new sub-menu which contain major of music items from lilypond.
Recently, I found Lied (http://www.ypcod.com/) . This is the same concept, except that the software is independent, not linked to a specific editor. It's still in development
For my part, I'm using a "simple" text editor, Notepad++ (http://notepad-plus-plus.org/) in which I define my own language: I have the colouring syntax. I'll develop this later.
At last, to use Lilypond, a simple text editor and a PDF reader are required. Just have to know that Lilypond come with it's own text editor (lilypad) that is a very very simple text editor.
Of course, you'll need to "user guide" that explain Lilypond and how to enter music.
There are some resources on the web. A great site is the Lilypond Snipet Repository (http://lsr.dsi.unimi.it/).
This site host many short files that focus on a specific point of entering music. You can see the site like a FAQ.
An important point to keep in mind is that as Lilypond is a collaboration project, the syntax evolve and get richer. So, when a new version is released with new functions, all tools you use need to be updated.
This is a reason for why I don't use these tools. I always have my "customized" notepad++ editor and the user guide with me to work (of course, I need also to update my customization ;) ).
The user manual is well done: it's clear and explain all details to write its first sheet music as complex one. In fact you can read it as a tutorial. Of course, on the main site, you'll also find many interesting tutorials (http://www.lilypond.org/manuals.html) about points you need (pitches, Staff, specific instrument notation, etc...).
On the web, there is not plenty of tutorial. The good one I found is : http://wiki.lilynet.net/index.php/Main_Page. Click on the "Tutorials and examples" link ;)
Here, with this topic, I don't want to substitute myself from these existing tutorials or the user manual. They are really well done, and I rather prefer to point and invite you to read them instead copying them ;)
Short Example
I'll take the "Brother John" song to illustrate the use of Lilypond. With the first examples you can see these examples as an overview, then I'll focus on the use of expressions, which highlight the point I want to discuss : writing proper source files :)
Note that Lilypond is case sensitive.
First version
The very simple one, just the music :
% Frčre Jacques - Brother John
{
c'4 d' e' c'
c' d' e' c'
e' f' g'2
e'4 f' g'2
g'8 a' g' f' e'4 c'
g'8 a' g' f' e'4 c'
c'4 g c'2
c'4 g c'2
}
The PDF :13582
The first line which begin with the % symbol mean that whatever that come after this symbol is a comment, it will not be interpreted, not read and translated into sheet music. So you can give useful informations like the title of the song (here) or explain the following musical expressions.
Then we have {}. These symbols include a musical expression. Here, I write the notes of my melody (inside of them).
When they are alone, like in this file, it mean that this is the "final" musical expression. This what must be interpreted and converted into a nice sheet music. When not, it means something else we will see below.
The notes are given with pitches ( c d e f g a b ), octave (') and the duration (4 = quarter note, 8 eighteenth, etc...). When the duration is not indicated, it keep the previous given.
Be aware that here, we are giving the exact (absolute) pitch. Lilypond has 2 methods to input notes: absolute pitch or relative pitch. When the input is done with absolute pitch, the c' note correspond to the middle c, which is the one below the G Staff. The c note correspond to the c in the middle of the F clef. There is no ambiguity with this input method.
Without any precision, you can see that Lilypond consider that you're writing your music in a G staff, with a 4/4 meter key, a C major tonality and a 60 bpm tempo mark (not saw in the sheet music, but believe me :p )
Second version
In this version, I want to precise all the above default settings.
% Frčre Jacques - Brother John
{
\relative c' { % I want to input my notes with the relative method.
\clef G % I want a G Staff
\time 4/4 % I want a 4/4 meter key
\tempo 4 = 120 % I want a 120bpm tempo mark; each quarter note must be played at 120bpm ( 4 = 120 )
\key c \major % I define the tonality
c4 d e c
c d e c
e f g2
e4 f g2
g8 a g f e4 c
g'8 a g f e4 c
c4 g c2
c4 g c2
}
}
The PDF : 13585
So, we have \relative. This is a Lilypond command. All Lilypond commands are prefixed with \.
This command mean that the music entered in the following {} are "octave relative". Compared to the first version, instead giving the exact octave for each notes (the exact pitch or absolute pitch), the octave of the current note depend of the previous one (relative pitch, depending of the previous). Here the first note of my music depend from the "c'" pitch given in the relative command; this is the start point, then it's go on. Then, depending of your music, you need to specify the octave change or not. In fact, when you input a note, if this note stays upper than the below fifth diminished and lower than the upper fourth augmented, you stay into the current octave. if you want to change, you need to add ' to go to the upper octave and , to the lower one. Adding more ' or , will increase or decrease the number of octave change. I won't go further ;)
Then, we have the clef indication with \clef G. It mean to write a G staff and to write the notes into this staff.
The meter key and tempo indication follow with \time 4/4 and \tempo 4 = 120.
I think they are self explanatory to do not describe them more.
Third version
With this version I'll focus on the expressions concepts. This one of the main advantage of Lilypond.
% Frčre Jacques - Brother John
melody = \relative c' {
\clef G
\time 4/4
\tempo 4 = 120
\key c \major
c4 d e c
c d e c
e f g2
e4 f g2
g8 a g f e4 c
g'8 a g f e4 c
c4 g c2
c4 g c2
}
{ \melody }
Now, the PDF :13584
You have melody = ...
By doing this, I make a declaration. I'm telling to Lilypond : "give to "melody" all what follow after the = symbol."
It's like in mathematics when you write "x = 6", or "a = x˛+3b" : it's the same !
Instead writing "x˛+3b" everywhere you need it in your exercise, you'll write "a".
Of course, here with Lilypond, we have a musical expression ^_^.
So, I make all declarations I need, and then in the end, I write the music expression that must be interpreted in the "final" musical expression. Here, we have { \melody }. Make the comparison with the 2nd version: instead of writing my full music, I write the "variable" that contain it. Note that to use a predefined (predeclared) music expression, you have to prefix it with a \.
If I continue with my mathematics comparison, I make the declaration like "a = x˛+3b", and I re-use my declared expression by writing "\a". That's all.
In that way, I can go further; take a look...
Fourth version
% Frčre Jacques - Brother John
Indications = {
\clef G
\time 4/4
\tempo 4 = 120
\key c \major
}
MelodyA = \relative c' {
c4 d e c
}
MelodyB = \relative c' {
e f g2
}
MelodyC = \relative c' {
g'8 a g f e4 c
}
MelodyD = \relative c' {
c4 g c2
}
{
\Indications \MelodyA \MelodyA \MelodyB \MelodyB \MelodyC \MelodyC \MelodyD \MelodyD
}
The PDF: 13583
What are the differences ?
I splitted what is note and what is Staff indications.
And, I also splitted the notes into parts. As this song is a canon in which each melodic phrase is repeated twice, I just need to write once this melodic phrase and recall it when I need.
Believe me, it's very powerful : you don't need to write several time the same music (typing text could be very long), you just re-use it !That let you organize your music in multiple parts, as you wish.
The best example I can take is an orchestral sheet music. Take the Clarinet in Bb. Maybe (for sure!) the clarinettist want his part in Bb, but the chief ant it in C. So you write once the clarinet part in Bb, then for the clarinettist, you create the Bb part by recalling the clarinet part. Then you recall the same part by transposing it with a simple command to get the Chief part !
Shorter : write once, use everywhere :lol:
Be aware : you can not use digits in your variable. This is why I wrote MelodyB instead of Melody2.
Also, pay attention about the "final" music expression: You have \Indications part first, then follow \MelodyA and \MelodyA, then \MelodyB and \MelodyB, and go on. They are "chained" one after the other.
Well !!
Still here with me ? Not lost by this long introduction @_@ ??
OK! So let me give you a last version.
Fifth version
This version of the song is with lyrics and other nice stuff. Don't hesitate to read the user manual and ask for help if one point is not clear ;)
As I'm French, I'll write the lyrics in French :P.
% Frčre Jacques - Brother John
Indications = {
\clef G
\time 4/4
\tempo 4 = 120
\key c \major
}
MelodyA = \relative c' { c4 d e c }
MelodyB = \relative c' { e f g2 }
MelodyC = \relative c' { g'8 a g f e4 c }
MelodyD = \relative c' { c4 g c2 }
MyMelody = {
\Indications
\MelodyA \MelodyA
\MelodyB \MelodyB
\MelodyC \MelodyC
\MelodyD \MelodyD
}
TheLyrics = \lyricmode {
Frč -- re Ja -- cques
Frč -- re Ja -- cques
Dor -- mez- vous?
Dor -- mez- vous?
Son -- nez les ma -- ti -- nes
Son -- nez les ma -- ti -- nes
Ding ding dong
Ding ding dong
}
TheChords = \chordmode {
c1
}
\header {
title = "Frčre Jacques"
composer = "Populaire"
}
\score {
<<
\new ChordNames { \TheChords }
\new Staff {
\new Voice = VoixMelodie { \MyMelody }
}
\new Lyrics \lyricsto VoixMelodie { \TheLyrics }
>>
}
The PDF: 13581
Note that here, I also splitted the music. This is nice (oops, I didn't splitted the lyrics :p), but not really necessary : the song is short.
Of course, you can copy and past the text but, keep in minds that it's really useful for big pieces.
I won't explain each point of this version, this is not the purpose. I just need to precise that your source files must be wrote by using the UTF-8 encoding charset. Very important for pieces with lyrics containing accents... like the french :)
So, I let you here for now. Big thanks to you who read all this (very) long (introduction?) post :D
(hope moderators won't blame me :P)
Don't hesitate to discuss about the software, the way to write source, asking for some help, etc...
Next time, I will describe how I write my .ly files and how I work/organize my Lilypond projects.
I open this topic to discuss and give the opportunity to help each other about the Lilypond Engraving software.
"Engraving" as said by the authors because this software focus on producing really nice and beautiful sheet music, like those produced dozen years ago.
Simpler, you can also say Notation software ^_^.
On the ichigos web site you can already find sheet music produced with this software, like this one : Lilium From Elfen Lied (Transcribed by Niu) (http://ichigos.com/res/getfile.php?id=1519&type=pdf)
Introduction - Presentation
I may introduce it a little (?).
First, this is not a WYSIWYG software. Music is not entered by the mouse neither by a nice graphical view/user interface like Finale, Sibelius or other software like them. You have to enter the music by text. Yes, text. The benefit is that you can write your music everywhere, in every Operating System: Lilypond is multi-platform: windows, linux, Mac. Thus, the source file is also very very small.
The other benefit is that you get a nice PDF file, readable everywhere too.
Of course, the main drawback is to learn the syntax, all the text commands. Because, you can not write what you want to produce your sheet music, you have to learn how to write the music, conforming to the Lilypond syntax. Maybe it's a difficulty, because you'll need to spend time in this task, but I can answer that in each new software you get, you need to learn how to use it.
But, don't think that entering music in Lilypond is very different from other softwares: music stay music, you'll find notes, rhythm, dynamics, staff notations, annotations, chords, etc... :)
Thus, Lilypond make differences in typing music. I mean, you have all that is related to the music itself (pitches, rhythm, etc...) and in other hand, you have all that is related to Staff and paper customization. Even if Lilypond compute automatically to the best performance in obtaining a beautiful sheet music, you can change these settings (eg. A5 paper instead A4...) .
The other difficulty that I would like to discuss is that you can write the source in different ways to get the same PDF. For example : if 2 persons transcribe the same music, we will have the same PDF, but the source file may be different.
So it would be very nice that in this thread we should discuss about a (the?) good way to write the music, so when someone want to modify a source file for his convenience, he will do this the faster way. I'm telling about that in keeping in minds that transcribers would use lilypond and would share their sources to offer to other persons a way to adapt and personalize the sheet music at their own convenience and personal purpose.
People who have ability in computer programming will have an advantage: Lilypond manage music as expressions.
People who don't know this, won't be disadvantaged, it's a concept that I'll explain later, just know that I'll speak about "music expression" ;)
Keep in mind that the aim of Lilypond is not to focus on how to type music but it's to produce beautiful sheet music :)
To be more precise, you can also produce a lilypond file from : MIDI file, abc file, musicXML file and music keyboard (still in development)
Oh! Did I forgot to precise that Lilypond is free ^.^ ?
Link
Here is the link to the main Lilypond site : www.lilypond.org
(http://www.lilypond.org)
Tools and Tutorials
For typing music, some useful tools exists. Rather than write word for word the music, they allow to write music faster by clicking on a menu item.
Those who use jEdit will find LilypondTools (http://lilypondtool.blogspot.com/). It's a plugin that add a new sub-menu which contain major of music items from lilypond.
Recently, I found Lied (http://www.ypcod.com/) . This is the same concept, except that the software is independent, not linked to a specific editor. It's still in development
For my part, I'm using a "simple" text editor, Notepad++ (http://notepad-plus-plus.org/) in which I define my own language: I have the colouring syntax. I'll develop this later.
At last, to use Lilypond, a simple text editor and a PDF reader are required. Just have to know that Lilypond come with it's own text editor (lilypad) that is a very very simple text editor.
Of course, you'll need to "user guide" that explain Lilypond and how to enter music.
There are some resources on the web. A great site is the Lilypond Snipet Repository (http://lsr.dsi.unimi.it/).
This site host many short files that focus on a specific point of entering music. You can see the site like a FAQ.
An important point to keep in mind is that as Lilypond is a collaboration project, the syntax evolve and get richer. So, when a new version is released with new functions, all tools you use need to be updated.
This is a reason for why I don't use these tools. I always have my "customized" notepad++ editor and the user guide with me to work (of course, I need also to update my customization ;) ).
The user manual is well done: it's clear and explain all details to write its first sheet music as complex one. In fact you can read it as a tutorial. Of course, on the main site, you'll also find many interesting tutorials (http://www.lilypond.org/manuals.html) about points you need (pitches, Staff, specific instrument notation, etc...).
On the web, there is not plenty of tutorial. The good one I found is : http://wiki.lilynet.net/index.php/Main_Page. Click on the "Tutorials and examples" link ;)
Here, with this topic, I don't want to substitute myself from these existing tutorials or the user manual. They are really well done, and I rather prefer to point and invite you to read them instead copying them ;)
Short Example
I'll take the "Brother John" song to illustrate the use of Lilypond. With the first examples you can see these examples as an overview, then I'll focus on the use of expressions, which highlight the point I want to discuss : writing proper source files :)
Note that Lilypond is case sensitive.
First version
The very simple one, just the music :
% Frčre Jacques - Brother John
{
c'4 d' e' c'
c' d' e' c'
e' f' g'2
e'4 f' g'2
g'8 a' g' f' e'4 c'
g'8 a' g' f' e'4 c'
c'4 g c'2
c'4 g c'2
}
The PDF :13582
The first line which begin with the % symbol mean that whatever that come after this symbol is a comment, it will not be interpreted, not read and translated into sheet music. So you can give useful informations like the title of the song (here) or explain the following musical expressions.
Then we have {}. These symbols include a musical expression. Here, I write the notes of my melody (inside of them).
When they are alone, like in this file, it mean that this is the "final" musical expression. This what must be interpreted and converted into a nice sheet music. When not, it means something else we will see below.
The notes are given with pitches ( c d e f g a b ), octave (') and the duration (4 = quarter note, 8 eighteenth, etc...). When the duration is not indicated, it keep the previous given.
Be aware that here, we are giving the exact (absolute) pitch. Lilypond has 2 methods to input notes: absolute pitch or relative pitch. When the input is done with absolute pitch, the c' note correspond to the middle c, which is the one below the G Staff. The c note correspond to the c in the middle of the F clef. There is no ambiguity with this input method.
Without any precision, you can see that Lilypond consider that you're writing your music in a G staff, with a 4/4 meter key, a C major tonality and a 60 bpm tempo mark (not saw in the sheet music, but believe me :p )
Second version
In this version, I want to precise all the above default settings.
% Frčre Jacques - Brother John
{
\relative c' { % I want to input my notes with the relative method.
\clef G % I want a G Staff
\time 4/4 % I want a 4/4 meter key
\tempo 4 = 120 % I want a 120bpm tempo mark; each quarter note must be played at 120bpm ( 4 = 120 )
\key c \major % I define the tonality
c4 d e c
c d e c
e f g2
e4 f g2
g8 a g f e4 c
g'8 a g f e4 c
c4 g c2
c4 g c2
}
}
The PDF : 13585
So, we have \relative. This is a Lilypond command. All Lilypond commands are prefixed with \.
This command mean that the music entered in the following {} are "octave relative". Compared to the first version, instead giving the exact octave for each notes (the exact pitch or absolute pitch), the octave of the current note depend of the previous one (relative pitch, depending of the previous). Here the first note of my music depend from the "c'" pitch given in the relative command; this is the start point, then it's go on. Then, depending of your music, you need to specify the octave change or not. In fact, when you input a note, if this note stays upper than the below fifth diminished and lower than the upper fourth augmented, you stay into the current octave. if you want to change, you need to add ' to go to the upper octave and , to the lower one. Adding more ' or , will increase or decrease the number of octave change. I won't go further ;)
Then, we have the clef indication with \clef G. It mean to write a G staff and to write the notes into this staff.
The meter key and tempo indication follow with \time 4/4 and \tempo 4 = 120.
I think they are self explanatory to do not describe them more.
Third version
With this version I'll focus on the expressions concepts. This one of the main advantage of Lilypond.
% Frčre Jacques - Brother John
melody = \relative c' {
\clef G
\time 4/4
\tempo 4 = 120
\key c \major
c4 d e c
c d e c
e f g2
e4 f g2
g8 a g f e4 c
g'8 a g f e4 c
c4 g c2
c4 g c2
}
{ \melody }
Now, the PDF :13584
You have melody = ...
By doing this, I make a declaration. I'm telling to Lilypond : "give to "melody" all what follow after the = symbol."
It's like in mathematics when you write "x = 6", or "a = x˛+3b" : it's the same !
Instead writing "x˛+3b" everywhere you need it in your exercise, you'll write "a".
Of course, here with Lilypond, we have a musical expression ^_^.
So, I make all declarations I need, and then in the end, I write the music expression that must be interpreted in the "final" musical expression. Here, we have { \melody }. Make the comparison with the 2nd version: instead of writing my full music, I write the "variable" that contain it. Note that to use a predefined (predeclared) music expression, you have to prefix it with a \.
If I continue with my mathematics comparison, I make the declaration like "a = x˛+3b", and I re-use my declared expression by writing "\a". That's all.
In that way, I can go further; take a look...
Fourth version
% Frčre Jacques - Brother John
Indications = {
\clef G
\time 4/4
\tempo 4 = 120
\key c \major
}
MelodyA = \relative c' {
c4 d e c
}
MelodyB = \relative c' {
e f g2
}
MelodyC = \relative c' {
g'8 a g f e4 c
}
MelodyD = \relative c' {
c4 g c2
}
{
\Indications \MelodyA \MelodyA \MelodyB \MelodyB \MelodyC \MelodyC \MelodyD \MelodyD
}
The PDF: 13583
What are the differences ?
I splitted what is note and what is Staff indications.
And, I also splitted the notes into parts. As this song is a canon in which each melodic phrase is repeated twice, I just need to write once this melodic phrase and recall it when I need.
Believe me, it's very powerful : you don't need to write several time the same music (typing text could be very long), you just re-use it !That let you organize your music in multiple parts, as you wish.
The best example I can take is an orchestral sheet music. Take the Clarinet in Bb. Maybe (for sure!) the clarinettist want his part in Bb, but the chief ant it in C. So you write once the clarinet part in Bb, then for the clarinettist, you create the Bb part by recalling the clarinet part. Then you recall the same part by transposing it with a simple command to get the Chief part !
Shorter : write once, use everywhere :lol:
Be aware : you can not use digits in your variable. This is why I wrote MelodyB instead of Melody2.
Also, pay attention about the "final" music expression: You have \Indications part first, then follow \MelodyA and \MelodyA, then \MelodyB and \MelodyB, and go on. They are "chained" one after the other.
Well !!
Still here with me ? Not lost by this long introduction @_@ ??
OK! So let me give you a last version.
Fifth version
This version of the song is with lyrics and other nice stuff. Don't hesitate to read the user manual and ask for help if one point is not clear ;)
As I'm French, I'll write the lyrics in French :P.
% Frčre Jacques - Brother John
Indications = {
\clef G
\time 4/4
\tempo 4 = 120
\key c \major
}
MelodyA = \relative c' { c4 d e c }
MelodyB = \relative c' { e f g2 }
MelodyC = \relative c' { g'8 a g f e4 c }
MelodyD = \relative c' { c4 g c2 }
MyMelody = {
\Indications
\MelodyA \MelodyA
\MelodyB \MelodyB
\MelodyC \MelodyC
\MelodyD \MelodyD
}
TheLyrics = \lyricmode {
Frč -- re Ja -- cques
Frč -- re Ja -- cques
Dor -- mez- vous?
Dor -- mez- vous?
Son -- nez les ma -- ti -- nes
Son -- nez les ma -- ti -- nes
Ding ding dong
Ding ding dong
}
TheChords = \chordmode {
c1
}
\header {
title = "Frčre Jacques"
composer = "Populaire"
}
\score {
<<
\new ChordNames { \TheChords }
\new Staff {
\new Voice = VoixMelodie { \MyMelody }
}
\new Lyrics \lyricsto VoixMelodie { \TheLyrics }
>>
}
The PDF: 13581
Note that here, I also splitted the music. This is nice (oops, I didn't splitted the lyrics :p), but not really necessary : the song is short.
Of course, you can copy and past the text but, keep in minds that it's really useful for big pieces.
I won't explain each point of this version, this is not the purpose. I just need to precise that your source files must be wrote by using the UTF-8 encoding charset. Very important for pieces with lyrics containing accents... like the french :)
So, I let you here for now. Big thanks to you who read all this (very) long (introduction?) post :D
(hope moderators won't blame me :P)
Don't hesitate to discuss about the software, the way to write source, asking for some help, etc...
Next time, I will describe how I write my .ly files and how I work/organize my Lilypond projects.