Lilypond
-
- Posts: 2676
- Joined: 05 Oct 2015, 14:25
- Location: Raleigh, NC USA
Re: Lilypond
I'm liking it more and more! Some might like the larger note heads, but for me it lets in more air and the feeling is calmer. Not that this is a calm section!
Last edited by John Ruggero on 30 Oct 2015, 15:42, edited 1 time in total.
M1 Mac mini (OS 12.4), Dorico 5, Finale 25.5, GPO 4, Affinity Publisher 2, SmartScore 64 Pro, JW Plug-ins, TG Tools, Keyboard maestro
Re: Lilypond
I share same thoughts with John: two shapes I never liked is
and as well
.


Freelance Composer. Self-Publisher.
Finale 27.5 • Sibelius 2024.3• MuseScore 4+ • Logic Pro X+ • Ableton Live 11+ • Digital Performer 11 /// MacOS Monterey (secondary in use systems: Fedora 35, Windows 10)
Finale 27.5 • Sibelius 2024.3• MuseScore 4+ • Logic Pro X+ • Ableton Live 11+ • Digital Performer 11 /// MacOS Monterey (secondary in use systems: Fedora 35, Windows 10)
- Fred G. Unn
- Posts: 491
- Joined: 05 Oct 2015, 13:24
- Location: NYCish
Re: Lilypond
Wow, I had totally forgotten about Graphire.RMK wrote:Wasn't this originally set with Graphire Music Press?
Re: Lilypond
Hi OCTO,
Here's a first draft, unfinished yet, but which can give you a first impression.
What I can say right now is that it is not more or less difficult to encode this one compared to other contemporary pieces I've worked on. They all need lots of tweaks, special glyphs and are time consuming (also time to understand what the composer had in mind).
I've often heard that Finale does very good job for modern pieces. LilyPond is more tricky with those.
Anyway, here it goes: Cheers,
Pierre
I took some time this afternoon in order to start looking at your score.OCTO wrote:[...] Here is an example. There are missing woodwinds and brass. Therefore maybe some small spacing deviations.
Here's a first draft, unfinished yet, but which can give you a first impression.
What I can say right now is that it is not more or less difficult to encode this one compared to other contemporary pieces I've worked on. They all need lots of tweaks, special glyphs and are time consuming (also time to understand what the composer had in mind).
I've often heard that Finale does very good job for modern pieces. LilyPond is more tricky with those.
Anyway, here it goes: Cheers,

Pierre
-
- Posts: 2676
- Joined: 05 Oct 2015, 14:25
- Location: Raleigh, NC USA
Re: Lilypond
Pierre, LilyPond is very impressive, but I do find the thought of using a non-GUI approach to music engraving unappetizing, probably because I enjoy manipulating actual musical symbols so much. Is a GUI inherently impossible with LilyPond? Or, might not the advantages of LilyPond be incorporated in some way into Finale, etc.
M1 Mac mini (OS 12.4), Dorico 5, Finale 25.5, GPO 4, Affinity Publisher 2, SmartScore 64 Pro, JW Plug-ins, TG Tools, Keyboard maestro
Re: Lilypond
That is really great, Pierre!
I hope it was not to much troublesome job for you!
One thing that I noticed and that I like very much: lines (stems, ledger lines) for grace notes are equal to the regular notes. I think it is very good - legibility rate is much higher (BW-balance is good). Finale makes these lines thinner which is eqaul to the percentage reduction of the grace notes (approx 65%).
Pierre, could you be able to share the text file of the code (as an .txt attachment)?
Also, how long would take someone with 0 knowledge to learn it so that this example can be engraved?
Also 2, is there tool for extracing part?
I hope it was not to much troublesome job for you!
One thing that I noticed and that I like very much: lines (stems, ledger lines) for grace notes are equal to the regular notes. I think it is very good - legibility rate is much higher (BW-balance is good). Finale makes these lines thinner which is eqaul to the percentage reduction of the grace notes (approx 65%).
I think there is Musescore as the alternative. Now, I am not entirely sure how Lilypond relates to Musescore. Is it the main engine for Musescore? Maybe another for another topic?John Ruggero wrote:Is a GUI inherently impossible with LilyPond?
Pierre, could you be able to share the text file of the code (as an .txt attachment)?
Also, how long would take someone with 0 knowledge to learn it so that this example can be engraved?
Also 2, is there tool for extracing part?
Freelance Composer. Self-Publisher.
Finale 27.5 • Sibelius 2024.3• MuseScore 4+ • Logic Pro X+ • Ableton Live 11+ • Digital Performer 11 /// MacOS Monterey (secondary in use systems: Fedora 35, Windows 10)
Finale 27.5 • Sibelius 2024.3• MuseScore 4+ • Logic Pro X+ • Ableton Live 11+ • Digital Performer 11 /// MacOS Monterey (secondary in use systems: Fedora 35, Windows 10)
Re: Lilypond
AFAIK Muscore use the Feta font from LP but there is no other connection... Not sure though
Few remarks before using it:
It could be done in a hour or two and you can do some nice things only with this knowledge.
The rest can also be learned pretty quickly if you know where to find the answers for a specific problem:
Of course, you can try to import the pdf to Inkscape and copy/paste the extract you want (I didn't try).
Am I misunderstanding your question?

Here you go (roughly 1000 lines):OCTO wrote:[...] could you be able to share the text file of the code [...]
Code: Select all
\version "2.19.30"
#(set-global-staff-size 17)
#(set! paper-alist (cons '("my size" . (cons (* 320 mm) (* 240 mm))) paper-alist))
\include "articulate.ly"
\pointAndClickOff
#(define (my-note-head grob)
(let ((duration (ly:grob-property grob 'duration-log)))
(case duration
((0) (grob-interpret-markup grob
#{
\markup {
\scale #'(0.98 . 0.97)
\musicglyph #"noteheads.s0"
}
#}))
((1) (grob-interpret-markup grob
#{
\markup {
\scale #'(0.98 . 0.97)
\musicglyph #"noteheads.s1"
}
#}))
((2) (grob-interpret-markup grob
#{
\markup {
\scale #'(0.98 . 0.97)
\musicglyph #"noteheads.s2"
}
#}))
(else (ly:note-head::print grob)))))
right-hand-long =
\markup
\with-dimensions #'(0 . 0) #'(0 . 0) {
\translate-scaled #'(2.5 . -.7) {
\combine
\override #'(filled . #t)
\path #0.1 #'(
(moveto 0 0)
(curveto 0 0 67.8 0 67.8 -5.8)
(curveto 67.8 0 0 -.5 0 -.5)
(closepath))
\translate-scaled #'(67.78 . -6)
\rotate #26
\arrow-head #Y #DOWN ##f
}
}
right-hand-medium =
\markup
\with-dimensions #'(0 . 0) #'(0 . 0) {
\translate-scaled #'(2.5 . -.7) {
\combine
\override #'(filled . #t)
\path #0.1 #'(
(moveto 0 0)
(curveto 0 0 10.6 0 10.6 -5.8)
(curveto 10.6 0 0 -.5 0 -.5)
(closepath))
\translate-scaled #'(10.59 . -6)
\rotate #5
\arrow-head #Y #DOWN ##f
}
}
right-hand-short =
\markup
\with-dimensions #'(0 . 0) #'(0 . 0) {
\translate-scaled #'(2.1 . -.7) {
\combine
\override #'(filled . #t)
\path #0.1 #'(
(moveto 0 0)
(curveto 0 0 2.8 0 2.8 -5.8)
(curveto 2.8 0 0 -.5 0 -.5)
(closepath))
\translate-scaled #'(2.79 . -6)
\arrow-head #Y #DOWN ##f
}
}
right-hand-end =
\markup
\with-dimensions #'(0 . 0) #'(0 . 0) {
\translate-scaled #'(2 . -.7) {
\combine
\override #'(filled . #t)
\path #0.1 #'(
(moveto 0 0)
(curveto 0 0 1.5 0 1.5 -5.8)
(curveto 1.5 0 0 -.5 0 -.5)
(closepath))
\translate-scaled #'(1.49 . -6)
\arrow-head #Y #DOWN ##f
}
}
slur-start-short =
\markup
\with-dimensions #'(0 . 0) #'(0 . 0) {
\translate-scaled #'(0.4 . 0)
{
\override #'(filled . #t)
\path #0.1 #'(
(moveto 0 0)
(curveto 0 0 -.5 2 -4 2)
(curveto -1.2 2.1 -.4 1.1 0 0)
(closepath))
}
}
slur-start-long =
\markup
\with-dimensions #'(0 . 0) #'(0 . 0) {
\translate-scaled #'(1.3 . -1.1)
{
\override #'(filled . #t)
\path #0.1 #'(
(moveto 0 0)
(curveto 0 -.2 -.2 3 -25 2.5)
(curveto -5 2.5 -.6 1 0 0)
(closepath))
}
}
%% Dynamics:
sfff = #(make-dynamic-script "sfff")
paren =
#(define-event-function (parser location dyn) (ly:event?)
(make-dynamic-script
#{ \markup \concat {
\normal-text \italic \fontsize #2 (
\pad-x #0.2 #(ly:music-property dyn 'text)
\normal-text \italic \fontsize #2 )
}
#}))
chevron-sff =
\markup\concat
\raise #.6
\vcenter {
\path #0.1 #'(
(moveto 0 0)
(lineto 1 .7)
(moveto 0 0)
(lineto 1 -.7))
"sff"
\hspace #.5
\path #0.1 #'(
(moveto 0 0)
(lineto -1 .7)
(moveto 0 0)
(lineto -1 -.7))
\hspace #-1
}
chev-sff = #(make-dynamic-script chevron-sff)
chevron-right-sff =
\markup\concat
\raise #.6
\vcenter {
"sff"
\hspace #.5
\path #0.1 #'(
(moveto 0 0)
(lineto -1 .7)
(moveto 0 0)
(lineto -1 -.7))
\hspace #-1
}
chevr-sff = #(make-dynamic-script chevron-right-sff)
chevron-right-sfff =
\markup\concat
\raise #.6
\vcenter {
"sfff"
\hspace #.5
\path #0.1 #'(
(moveto 0 0)
(lineto -1 .7)
(moveto 0 0)
(lineto -1 -.7))
\hspace #-1
}
chevr-sfff = #(make-dynamic-script chevron-right-sfff)
long-flat-hairpin =
\markup
\with-dimensions #'(0 . 0) #'(0 . 0) {
\dynamic "p"
\translate-scaled #'(2 . .5)
{
\path #0.1 #'(
(moveto 0 0)
(lineto 75 .5)
(lineto 87 1.6)
(moveto 0 0)
(lineto 75 -.5)
(lineto 87 -1.6)
)
}
\translate-scaled #'(83 . 0)
\italic\tiny "molto"
}
%% The score:
\paper {
#(set-paper-size "my size")
indent = 0
ragged-last-bottom = ##f
line-thickness = 0.15\mm
left-margin = 20
right-margin = 10
ragged-right = ##f
}
\header {
tagline = ##f
}
time-sig-one = {
\omit Staff.Clef
\stopStaff
\override Staff.TimeSignature.color = #red
\time 2/4 s2
\time 5/4 s4*5
\numericTimeSignature
\time 4/4 s1*2
}
time-sig-two = {
\omit Staff.Clef
\stopStaff
\time 2/4 s2
\time 5/4 s4*5
\numericTimeSignature
\time 4/4 s1*2
}
drum-th-un = {
\omit Staff.TimeSignature
\tweak extra-offset #'(-2.5 . -14.5)
\mark\markup
\with-dimensions #'(0 . 0) #'(0 . 0)
\with-color #red {
\draw-line #'(0 . 30)
\raise #17 "Missing woodwinds and brass"
}
R2 R4*5 c''1^\right-hand-long
-\tweak extra-offset #'(-4 . -1)
^\markup \small "R.H."
c2
_\markup\scale #'(1 . -1)\right-hand-medium
\once\stemUp c''4
^\right-hand-short
c4
_\markup\scale #'(1 . -1)\right-hand-end
% _\markup\italic "molto"
}
drum-th-deux = {
\omit Staff.TimeSignature s2 s4*5 c1
_\markup\scale #'(1 . -1)\right-hand-long
-\tweak extra-offset #'(-4 . -.8)
_\markup\with-dimensions #'(0 . 0) #'(0 . 0) \small "L.H."
c''2
^\right-hand-medium
\once\stemDown c4
-\tweak extra-offset #'(0 . 2)
_\markup
\scale #'(1 . -1)
\right-hand-short
c''4
^\right-hand-end
}
drum-th-dyn = {
s2 s4*5
\override Hairpin.height = #.87
s1
-\tweak extra-offset #'(0 . -3)
_\markup\long-flat-hairpin
s
}
pno-md-un = \transpose c c' {
\omit Staff.TimeSignature
\repeat tremolo 4 <g' c'' g''>16
%% put some space here :
^\markup\column{ \null \vspace #3 }
\repeat tremolo 4 q
\magnifyMusic 0.63 {
s16
\once\override NoteColumn.force-hshift = #0.35
\once\override NoteHead.transparent = ##t
g8*1/6^([ a! g] s16 \stemUp
\once\override NoteColumn.force-hshift = #0.35
\once\override NoteHead.transparent = ##t
c'8*1/6[ e' c'] s16
}
\stemDown <e' a'>16) q q q[ q]
s16
\magnifyMusic 0.63 {
\stemUp
\once\override NoteColumn.force-hshift = #0.35
\once\override NoteHead.transparent = ##t
a8*2/12^([ c' a]
}
s16
\stemDown <g' c'' g''>16) q q
\repeat tremolo 4 <g' c'' g''>16
\magnifyMusic 0.63 {
s8*1/2\stemUp
\once\omit Accidental
\once\override NoteColumn.force-hshift = #0.35
\once\override NoteHead.transparent = ##t
dis8*2/12^([fis dis] s s s
\once\override NoteColumn.force-hshift = #0.35
\once\override NoteHead.transparent = ##t
\stemUp g[ c'! g]
}
\stemDown
<g' c'' g''>16) q q q
\magnifyMusic 0.63 {
s16\stemUp
\once\omit Accidental
\once\override NoteColumn.force-hshift = #0.35
\once\override NoteHead.transparent = ##t
dis'8*2/12^([gis' dis']
}
s16
\stemDown <g'! c''! g''!>16)\<
\repeat unfold 4 { \repeat tremolo 4 <g' c'' g''>16 }
\repeat tremolo 4 <g' c'' g''>16 \ffff
}
pno-md-deux = { \omit Staff.TimeSignature s2 s4*5 s1 s }
pno-mg-un = \transpose c c' {
\omit Staff.TimeSignature
s2
ais16[
\change Staff = "MD" \stemDown g!
\change Staff = "MG" \stemUp dis
\change Staff = "MD" \stemDown c'
\change Staff = "MG" \stemUp dis' ]
s16*5
gis!16[
\change Staff = "MD" \stemDown a
\change Staff = "MG" \stemUp fis']
s16*3 s4
e16[
\change Staff = "MD" \stemDown dis
\change Staff = "MG" \stemUp cis
\change Staff = "MD" \stemDown g!]
s16*4
\change Staff = "MG" \stemUp ais16[
\change Staff = "MD" \stemDown dis'
\change Staff = "MG" \stemUp e']
s16 s4
s1
}
pno-mg-deux = \transpose c c' {
\omit Staff.TimeSignature s2
\magnifyMusic 0.63 {
\stemDown
\once\omit Accidental ais8*1/6_([
-\tweak extra-offset #'(0 . -.5)
-\tweak font-size #1 _>
-\tweak rotation #'(5 0 1)
-\tweak extra-offset #'(0 . -.5)
\< gis ais] s16
\once\omit Accidental dis8*1/6[ cis dis] s16
\once\omit Accidental dis'8*1/6[ cis' dis' \! ])
}
s16*5
\magnifyMusic 0.63 {
\stemDown
\once\omit Accidental
gis8*2/12_([
-\tweak extra-offset #'(0 . -.5)
-\tweak font-size #1 _>
-\tweak rotation #'(11 0 1)
-\tweak extra-offset #'(0 . .5)
\< dis gis] s s s
\once\omit Accidental fis'[ cis' fis']\! ])
}
s16*3
s4
\magnifyMusic 0.63 {
\stemDown e8*1/6_([
-\tweak font-size #1 _>
-\tweak rotation #'(-5 0 1)
-\tweak extra-offset #'(0 . -.3)
\< c e] s16
\once\omit Accidental cis8*1/6[ gis, cis \! ])
s16
}
s4
\magnifyMusic 0.63 {
\stemDown
\once\omit Accidental
ais8*1/6_([
-\tweak extra-offset #'(0 . -.5)
-\tweak font-size #1 _>
-\tweak rotation #'(11 0 1)
-\tweak extra-offset #'(0 . .5)
\< fis ais] s16
e'8*1/6[ c' e' \! ])
s16
}
s4
s1
}
pno-dyn = {
s2
-\tweak extra-offset #'(0 . 2)
_\markup\teeny\concat {
\draw-line #'(-1 . 0)
\hspace #-.1
\vcenter \normal-text "("
\lower #.5 \musicglyph #"pedal.Ped"
\vcenter \normal-text ".)"
\hspace #-.1
\draw-line #'(1.2 . 0)
\hspace #-.4
\vcenter\arrow-head #X #RIGHT ##f
}
s4*5 s1 s
}
vln-I-un = \transpose c c' {
\omit Staff.TimeSignature
\stemDown
e'8
^\slur-start-short
^(
-\tweak springs-and-rods #ly:spanner::set-spacing-rods
-\tweak minimum-length #4
-\tweak rotation #'(10 0 1)
\glissando e'!16) b16\rest <dis'' fis''>4^(
^\markup\concat\vcenter {
\smaller\circle " P "
\hspace #1
{
\draw-line #'(9 . 0)
\hspace #-.5
\arrow-head #X #RIGHT ##f
}
\smaller\circle "PE"
}
-\tweak extra-offset #'(-1 . 1.2)
_\markup\tiny\italic\whiteout "(estremo flautando)"
\glissando
\once \override NoteColumn.glissando-skip = ##t
\once\override NoteHead.transparent = ##t
\once\override NoteHead.no-ledgers = ##t
<d'' f''>8)
\once\override Accidental.whiteout = ##t
\once\override Accidental.X-offset = #-1.7
<cis'' e''>
-\tweak padding #2.8 \downbow
-\tweak extra-offset #'(0.5 . 3.5)_(
\glissando
\once\override NoteColumn.glissando-skip = ##t
\once\omit Stem
\once\override NoteHead.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\musicglyph #"rests.2"
#}))
e4*1/4
\hideNotes <b'd''>) s s
\unHideNotes
\stemUp ees4
-\tweak extra-offset #'(2 . .6)
_\markup
\with-dimensions #'(0 . 0) #'(0 . 0)
\rotate #4
\column {
\pattern #31 #X #2 \concat { \musicglyph #"scripts.staccato" \hspace #-1.7 }
\vspace #-.35
\concat { \hspace #9 \tiny\italic "salt." }
}
\downbow
-\tweak extra-offset #'(0 . -1)
_(\startTrillSpan
-\tweak rotation #'(1 0 1)
\glissando
\once\override NoteColumn.glissando-skip = ##t
\once\override NoteHead.transparent = ##t
f8
\once\override NoteHead.transparent = ##t
g16)\stopTrillSpan r \stemDown a'4*1/3
-\tweak outside-staff-priority 1 ^\trill
-\tweak outside-staff-priority 2 ^(
s
\once\hideNotes a')
\stemUp b8\rest a\downbow
\once\override Glissando.bound-details.left.padding = #3
aes''2 ^(
\glissando
^\markup\small\italic "stesso"
\startTrillSpan
g''8^\markup\smaller\circle "PE"
\glissando
\once\override NoteColumn.glissando-skip = ##t
\once\override NoteHead.transparent = ##t
\once\override NoteHead.no-ledgers = ##t
f''8
e''8)
\once\omit Stem
aes'4*1/8^>
^\markup\smaller\circle\number "0"
\stopTrillSpan
\once\omit Stem
\once\override NoteHead.no-ledgers = ##t
\once\override NoteHead.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\with-dimensions #'(0 . 0) #'(-1 . 1)
\override #'(thickness . 9)
\draw-line #'(13 . 0)
#}))
aes'4*27/8
-\tweak extra-offset #'(2 . 0)
^\markup\concat\tiny { "n." \hspace #.2 "v." }
}
vln-I-deux = \transpose c c' {
\omit Staff.TimeSignature s2
s8
\stemUp
\override NoteHead.no-ledgers = ##t
\override NoteHead.transparent = ##t
\once\override NoteColumn.force-hshift = #0.4
\once\offset positions #'(1 . 1) Beam
e''8*1/6[^.
-\tweak extra-offset #'(0 . -3.8)
^\markup\draw-line #'(2.7 . 2)
cis''^. e''^. cis'' ^. e''^. cis''^.
-\tweak extra-offset #'(-1 . 5.8)
_\markup\tiny\italic "salt."
e''^. cis''^. e''^.] s
8*9/6 s4*3
\stemDown
\revert NoteHead.no-ledgers
\revert NoteHead.transparent
s8
\once\offset positions #'(-.5 . -.5) Beam
a8*1/3[^( aes'' a)] s16
\once\omit Stem
bes''4*1/4 s4*3/2
g''8*1/4_. g_.
_\markup\tiny\italic "stacc."
\override NoteHead.transparent = ##t
\override NoteHead.no-ledgers = ##t
g''_.
\revert NoteHead.transparent
g _.
\override NoteHead.transparent = ##t
f''_.
\revert NoteHead.transparent
g_.
-\tweak extra-offset #'(-1.4 . 1.3)
_\markup\draw-line #'(2.7 . 2)
s1
}
vln-I-dyn = {
s8\< s16\! s s4\p\< s8 s \sff \> s16 s32\! s32 s8
s4\sff \> s8 s16\! s s4\sff\>
s8\! s8\sf s4\p\< s4 s16\sfff s s \> s
s8\!
-\tweak extra-offset #'(1.5 . 3)
-\markup\center-column {
\concat {
\italic "più"
\hspace #.2
\dynamic "ff"
\hspace #1
\italic "intensivo"
}
\vspace #-.2
\line\italic { sempre (slow bow) }
}
s s2.
}
vln-II = \transpose c c' {
\omit Staff.TimeSignature
c''2^( ^\markup\small\italic "stesso"
%% put some space here :
^\markup\column{ \null \vspace #1 }
\glissando \startTrillSpan
\once \override NoteColumn.glissando-skip = ##t
\once\override NoteHead.transparent = ##t
\once\override NoteHead.no-ledgers = ##t
b'8 bes') \stopTrillSpan
r8 \stemUp a
r8 \stemDown g'^(
\glissando
\once \override NoteColumn.glissando-skip = ##t
\once\override NoteHead.transparent = ##t
\once\override NoteHead.no-ledgers = ##t
f'8 fis')
d'8 r
<ais' cis''>2^( \glissando
<a' c''>8 \glissando
\once \override NoteColumn.glissando-skip = ##t
\once\override NoteHead.transparent = ##t
\once\override NoteHead.no-ledgers = ##t
q <g' bes'>8[ \glissando <fis' a'>])
\omit Stem
aes'4*1/8^>
^\markup\smaller\circle\number "0"
\once\override NoteHead.no-ledgers = ##t
\once\override NoteHead.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\with-dimensions #'(0 . 0) #'(-1 . 1)
\override #'(thickness . 9)
\draw-line #'(17.5 . 0)
#}))
aes'4*31/8
-\tweak extra-offset #'(2 . 0)
^\markup\concat\tiny { "n." \hspace #.2 "v." }
}
vln-II-dyn = {
s2 \chev-sff \<
s8\sfff\> s\pp s8 s\chev-sff s8
\override Hairpin.stencil = #flared-hairpin
s\p\< s8 s\chevr-sff s4
s2\p\< s4\chevr-sff\< s8 s\chevr-sfff
s1-\tweak extra-offset #'(1.5 . 1)
-\markup\center-column {
\concat {
\italic "più" \hspace #.2
\dynamic "ff" \hspace #1
\italic "intensivo"
}
\vspace #-.2
\line\italic { sempre (slow bow) }
}
}
vla = \transpose c c' {
\omit Staff.TimeSignature
\stemUp ees'4._(
^\markup\concat\vcenter {
\hspace #3
{
\draw-line #'(7.5 . 0)
\hspace #-.5
\arrow-head #X #RIGHT ##f
}
\smaller\circle "PE"
}
%% put some space here :
^\markup\column{ \null \vspace #4 }
-\tweak rotation #'(2 0 1)
\glissando e'8
-\tweak rotation #'(2 0 1)
\glissando
\once\override NoteHead.transparent = ##t
\once \override NoteColumn.glissando-skip = ##t
\once\offset positions #'(.6 . .6) Beam
e'8
\once\override Accidental.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{ \markup\musicglyph #"accidentals.natural.arrowup" #}))
ees')
r8 \stemDown
<g' bes'>^\markup\smaller\circle " P "
\glissando
\override NoteColumn.glissando-skip = ##t
\once\omit NoteHead q \once\omit NoteHead q
\override NoteColumn.glissando-skip = ##f
<fis' a'>^\markup\smaller\circle "PE" r8 r
\revert Staff.Clef.stencil
\clef C c,8\sff-\tweak to-barline ##f \>
^\markup\smaller\circle " P "
\stemUp
\override Hairpin.stencil = #flared-hairpin
b2_(\p\<
^\markup\small\italic "stesso"
\glissando\startTrillSpan
a8[\sff \> ^\markup\smaller\circle "PE"
\glissando
\once \override NoteColumn.glissando-skip = ##t
\once\override NoteHead.transparent = ##t
g] g)\! \stopTrillSpan
\stemDown
\clef G
\override Staff.Clef.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.03
\override #'(font-name . "Cleffy Normal" )
\override #'(font-size . 3.8) "C"
#}))
aes'\noBeam ^>^(
\omit Stem
aes'4*1/8)
^\markup\smaller\circle\number "0"
\once\override NoteHead.no-ledgers = ##t
\once\override NoteHead.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\with-dimensions #'(0 . 0) #'(-1 . 1)
\override #'(thickness . 9)
\draw-line #'(17.5 . 0)
#}))
aes'4*31/8
-\tweak extra-offset #'(2 . 0)
^\markup\concat\tiny { "n." \hspace #.2 "v." }
}
vla-dyn = {
s4.\paren\f
-\tweak stencil #flared-hairpin
\< s8\sff\>
s8 s\pp s8
s\sff\>
s4 s8\chev-sff s8 s8 s
s2. s8 s\<
s1\!-\tweak extra-offset #'(1.5 . 1)
-\markup\center-column {
\concat {
\italic "più"
\hspace #.2
\dynamic "ff"
\hspace #1
\italic "intensivo"
}
\vspace #-.2
\line\italic { sempre (slow bow) }
}
}
vc = \transpose c c' {
\omit Staff.TimeSignature
ees'4^(
%% put some space here :
^\markup\column{ \null \vspace #3 }
ees'8.)
-\tweak springs-and-rods #ly:spanner::set-spacing-rods
-\tweak minimum-length #6
-\tweak rotation #'(-10 0 1)
\glissando
\once\override Accidental.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{ \markup\musicglyph #"accidentals.flat.arrowdown" #}))
e'16^(
e'8)^\slur-start-long
r r4 r2 <g bes>4_(
^\markup\smaller\circle " P "
<a f>8 <a fis> <e g>[ q] <d fis> <dis fis!>)
^\markup\smaller\circle "PE"
dis8\noBeam r
\omit Stem
aes'4*1/8^>
^\markup\smaller\circle\number "0"
\once\override NoteHead.no-ledgers = ##t
\once\override NoteHead.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\with-dimensions #'(0 . 0) #'(-1 . 1)
\override #'(thickness . 9)
\draw-line #'(17.5 . 0)
#}))
aes'4*31/8
-\tweak extra-offset #'(2 . 0)
^\markup\concat\tiny { "n." \hspace #.2 "v." }
}
vc-dyn = {
s2 \>
s8 \! s s4 s4 s4
\override Hairpin.stencil = #flared-hairpin
s4 \p\<
s8 s\sff\< s4 s8
\revert Hairpin.stencil
s\chevr-sfff\<
s16 s16\fff s s
s1-\tweak extra-offset #'(1.5 . 3)
-\markup\center-column {
\concat {
\italic "più"
\hspace #.2
\dynamic "ff"
\hspace #1
\italic "intensivo"
}
\vspace #-.2
\line\italic { sempre (slow bow) }
}
}
cb = {
\omit Staff.TimeSignature
\stemUp cis'4
^\markup\smaller\circle "PE"
%% put some space here :
^\markup\column{ \null \vspace #1 }
cis'8 r
\stemDown g2_(
^\markup\smaller\circle " P "
\glissando fis4
-\tweak rotation #'(1 0 1)
\glissando
^\markup\smaller\circle "PE"
\once \override NoteColumn.glissando-skip = ##t
\once\override NoteHead.transparent = ##t
e8)
\once\omit Stem
\once\omit Flag
\once\override NoteHead.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.5
\musicglyph #"rests.3"
#}))
e\noBeam r4
\revert Staff.NoteHead.stencil
r2 \stemUp
\clef G
\override Staff.Clef.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.03
\override #'(font-name . "Cleffy Normal" )
\override #'(font-size . 3.8) "C"
#}))
r8 <aes'
%-\tweak extra-offset #'(0 . -.35)
~ des''\harmonic >8_>
^\markup\smaller\circle\number "0"
<aes'~ des''\harmonic >4
\omit Stem
\omit Accidental
<aes' des''\harmonic >4*1/8
\once\override NoteHead.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\with-dimensions #'(0 . 0) #'(-1 . 1)
\override #'(thickness . 10)
\draw-line #'(17.5 . 0)
#}))
aes'4*31/8
}
cb-dyn = {
s4\sff\> s8\! s
s2\pp-\tweak stencil #flared-hairpin \< s4\sfff\> s16 s\ppp s s s4
s2 s8 s\< s4
s1\!
-\tweak extra-offset #'(1.5 . 3)
-\markup\center-column {
\concat {
\italic "più"
\hspace #.2
\dynamic "ff"
\hspace #1
\italic "intensivo"
}
\vspace #-.2
\line\italic { sempre (slow bow) }
}
}
%% The canevas:
\score {
<<
\new Staff { \time-sig-one }
\new Staff \with {
instrumentName =
\markup
\override #'(baseline-skip . 2)
\right-column {
"Th.-Sh." \smaller "(rubbing)"
}
\override NoteColumn.force-hshift = #0
}
<<
\clef percussion
\new Voice { \drum-th-un }
\new Voice { \drum-th-deux }
\new Dynamics { \drum-th-dyn }
>>
\new PianoStaff \with { instrumentName = "Pno." } <<
\new Staff = "MD" <<
\override Staff.Clef.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.03
\override #'(font-name . "Cleffy Normal" )
\override #'(font-size . 5.6) "C"
#}))
\new Voice {
\pno-md-un
}
\new Voice {
\pno-md-deux
}
>>
\new Staff = "MG" <<
\override Staff.Clef.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.03
\override #'(font-name . "Cleffy Normal" )
\override #'(font-size . 5.6) "C"
#}))
\new Voice { \pno-mg-un }
\new Voice { \pno-mg-deux }
\new Dynamics { \pno-dyn }
>>
>>
\new Staff \time-sig-two
\new StaffGroup <<
\new Staff
\with { instrumentName = \markup\concat { "Vln." \hspace #.2 "I" } }
<<
\override Staff.Clef.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.03
\override #'(font-name . "Cleffy Normal" )
\override #'(font-size . 5.6) "C"
#}))
\new Voice { \voiceOne \vln-I-un }
\new Voice { \voiceTwo \magnifyMusic 0.63 { \vln-I-deux } }
\new Dynamics { \vln-I-dyn }
>>
\new Staff
\with { instrumentName = \markup\concat { "Vln." \hspace #.2 "II" } }
<<
{
\override Staff.Clef.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.03
\override #'(font-name . "Cleffy Normal" )
\override #'(font-size . 5.6) "C"
#}))
\vln-II
}
\new Dynamics { \vln-II-dyn }
>>
\new Staff
\with { instrumentName = "Vla." }
<<
{
\override Staff.Clef.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.03
\override #'(font-name . "Cleffy Normal" )
\override #'(font-size . 5.6) "C"
#}))
\vla
}
\new Dynamics { \vla-dyn }
>>
\new Staff
\with { instrumentName = "Vc." }
<<
{
\override Staff.Clef.stencil =
#(lambda (grob) (grob-interpret-markup grob
#{
\markup
\lower #.03
\override #'(font-name . "Cleffy Normal" )
\override #'(font-size . 5.6) "C"
#}))
\vc
}
\new Dynamics { \vc-dyn }
>>
\new Staff
\with { instrumentName = "Cb." }
<<
{ \clef F \cb }
\new Dynamics { \cb-dyn }
>>
>>
>>
\layout {
\context {
\Score
\override Beam.beam-thickness = #0.58
}
\context {
\StaffGroup
\override StaffGrouper.staff-staff-spacing.stretchability = #100
}
\context {
\Staff
\override NoteHead.stencil = #my-note-head
}
}
%%% Midi sound (no work)
\midi {
#(ly:set-option 'midi-extension "mid")
\tempo 4 = 50
}
}
- I was not prepared to shared this code so be sure that it's a draft and it certainly can be written in a more elegant way.
- Save the code as *.ly file.
- Be sure to use the latest LP version (v.2.19) otherwise it won't compile.
- Add Cleffy font on your machine: http://www.notat.io/viewtopic.php?p=297#p297 otherwise it won't compile.
- According pdf's enclosed:
- There's also a midi output; note that LP has some tools to choose instruments and do midis but I don't use it.
The first thing is to read the tuto : http://www.lilypond.org/doc/v2.19/Docum ... ex.fr.htmlOCTO wrote:[...] how long would take someone with 0 knowledge to learn it so that this example can be engraved?
It could be done in a hour or two and you can do some nice things only with this knowledge.
The rest can also be learned pretty quickly if you know where to find the answers for a specific problem:
- The documentation (http://www.lilypond.org/doc/v2.19/Docum ... ex.fr.html)
- The snippet repository (http://lsr.di.unimi.it/LSR/Search)
- Or ask the community (http://lilypond.1069038.n5.nabble.com/)
Not that I know.OCTO wrote:[...] is there tool for extracing part?
Of course, you can try to import the pdf to Inkscape and copy/paste the extract you want (I didn't try).
Am I misunderstanding your question?
-
- Posts: 2676
- Joined: 05 Oct 2015, 14:25
- Location: Raleigh, NC USA
Re: Lilypond
Pierre, I found something called Denemo as a GUI front end for LilyPond. Do you have an opinion about using this?
M1 Mac mini (OS 12.4), Dorico 5, Finale 25.5, GPO 4, Affinity Publisher 2, SmartScore 64 Pro, JW Plug-ins, TG Tools, Keyboard maestro
Re: Lilypond
Oops, I totally forgot about Denemo!
Actually I've never tried it, I cannot tell, but it looks something interesting to get the power of LP together with an intuitive interface.
Actually I've never tried it, I cannot tell, but it looks something interesting to get the power of LP together with an intuitive interface.
Re: Lilypond
There is also Frescobaldi that has some possibilities: frescobaldi.org
Not really GUI in the way you are after though.
Not really GUI in the way you are after though.