1 %******************************************************
2 % Inspirational header for Unfretted Strings section %
3 % of Lilypond Documentation. This passage is taken %
4 % from Ravel's String Quartet. %
5 % ****************************************************%
9 #(set-global-staff-size 15)
18 \remove "Bar_number_engraver"
19 \override PaperColumn #'keep-inside-line = ##t
20 \override NonMusicalPaperColumn #'keep-inside-line = ##t
24 %*************** MACROS ******************%
26 #(define (octave-up m t)
27 (let* ((octave (1- t))
28 (new-note (ly:music-deep-copy m))
29 (new-pitch (ly:make-pitch
31 (ly:pitch-notename (ly:music-property m 'pitch))
32 (ly:pitch-alteration (ly:music-property m 'pitch)))))
33 (set! (ly:music-property new-note 'pitch) new-pitch)
36 #(define (octavize-chord elements t)
37 (cond ((null? elements) elements)
38 ((eq? (ly:music-property (car elements) 'name) 'NoteEvent)
40 (cons (octave-up (car elements) t)
41 (octavize-chord (cdr elements) t))))
42 (else (cons (car elements) (octavize-chord (cdr elements ) t)))))
44 #(define (octavize music t)
45 (if (eq? (ly:music-property music 'name) 'EventChord)
46 (ly:music-set-property! music 'elements (octavize-chord
47 (ly:music-property music 'elements) t)))
50 octaves = #(define-music-function (parser location arg mus) (integer? ly:music?)
51 (music-map (lambda (x) (octavize x arg)) mus))
53 %\relative c' { d e \octaves #-1 { \times 2/3 {f g c }}} % this is an example of the macro in practice
55 %*********************************************************************
56 % This is a sweet macro by Mark Polesky to make the 4th-string
57 % indication look like it did in the original score
58 %********************************************************************
59 #(define-markup-command (No layout props n) (string?)
60 (define (format-char c)
62 (if (number? (string->number s))
63 (markup #:hspace 0.125 #:number s #:hspace 0.125)
64 (markup #:hspace 0 #:fontsize 2 s))))
65 (define (format-string s i)
66 (let ((n (string-length s)))
69 (markup (format-char (string-ref s i))
72 (format-string s (+ i 1)))))))
73 (let ((i (string-length n)))
74 (interpret-markup layout props
80 #:override '(baseline-skip . 0.825)
81 #:override '(direction . 1)
83 #:fontsize 2 #:center-align "."
84 #:fontsize 1 #:center-align "e"
97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
100 poco = \markup { \italic { \fontsize #+2.0 "poco" }}
101 apoco = \markup { \italic { \fontsize #+2.0 "a" }}
102 menovivo = \markup { \bold { \fontsize #+3.0 { "Poco meno vivo"} } }
103 pocorit = \markup { \bold { \fontsize #+3.0 { "poco rit."} } }
104 pocodim = \markup { \italic { \fontsize #+2.0 "un poco dim." }}
106 vlnOne = \relative c''' {
109 \set Staff.midiInstrument = "violin"
110 % \override TupletNumber #'stencil = ##f
111 \override TupletBracket #'bracket-visibility = ##f
112 \set tupletSpannerDuration = #(ly:make-moment 1 4)
114 \once \override TextScript #'extra-offset = #'( -3.8 . 0.5 )
116 \once \override TextScript #'extra-offset = #'( -1.0 . -0.8 )
117 \times 2/3 { c8(^\poco d es) } es4 \times 2/3 { c8( d es) } | % 1
118 es4\ff\< \times 2/3 { c8( d es) } es4 \times 2/3 { c8( d es)\! } | % 2
119 \grace { a,,8[( a'\fff]^\menovivo } a'4) g8( a) d,4 c8( d) | % 3
120 a4 g8( a) d,4 c8( d) | % 4
121 a4 g8( a) d,8^\pocorit r8 r4 | % 5
122 ais16(\p\< e' ais e') e16(\f\> ais, e ais,)\! ais8 r r4 | % 6
125 vlnTwo = \relative c' {
128 \set Staff.midiInstrument = "violin"
129 % \override TupletNumber #'stencil = ##f
130 \override TupletBracket #'bracket-visibility = ##f
131 \set tupletSpannerDuration = #(ly:make-moment 1 4)
132 \times 2/3 { \octaves #1 {fis8 fis fis fis fis fis fis fis fis fis fis fis }} | % 1
133 \times 2/3 { \octaves #1 {fis8\ff\< fis fis fis fis fis fis fis fis fis fis fis\! }} |% 2
134 <ais, e' ais e'>16\fff( ais' e ais,) ais16( e' ais e') e16( ais, e ais,) ais16( e' ais e') | % 3
135 e16( ais, e ais,) ais16( e' ais e') e16( ais, e ais,) ais16( e' ais e') | % 4
137 \set subdivideBeams = ##t
138 \set Score.beatLength = #(ly:make-moment 1 8)
140 d4^\markup \No #"Corde"
141 \once \override TextScript #'extra-offset = #'( -5.5 . 4.4 )
142 c8(_\markup { \italic { \fontsize #+1.0 "vibrato" }} d) | % 5
143 \set subdivideBeams = ##f
148 s2 s4\f\< s8. s16\! |
149 s16 s16\> s8 s2 s8 s16 s32 s32\!
153 vla = \relative c'' {
157 \set Staff.midiInstrument = "viola"
158 \override Stem #'length = #9.5
159 bes4:32 a4:32 gis4:32 a4:32 | % 1
160 bes4:32 a4:32 gis4:32 a4:32\! | % 2
161 \tweak #'extra-offset #'(-1.3 . -0.0)
163 \revert Stem #'length
164 \acciaccatura { a8 } a'4\fff g8( a) d,4 c8( d) \clef "alto" | %3
165 a4 g8( a) d,4 c8( d) | % 4
166 a4 g8 a <e ais>2:32 | % 5
171 s1 | s2\ff\< s4 s8 s16\! s32 s64 \clef "treble" s64 |
172 s1*2 | s2 s4\f\< s8 s16 s32 s32\! | % 3-5
173 s16 s16\> s8 s2 s8 s16 s32 s32\! | %6
181 \set Staff.midiInstrument = "cello"
182 \override Stem #'length = #9.5
183 c4:32 d4:32 es4:32 d4:32 | % 1
184 c4:32 d4:32 es4:32 d4:32\! | % 2
185 \revert Stem #'length
186 \set subdivideBeams = ##t
187 \set Score.beatLength = #(ly:make-moment 1 8)
188 <fis,, cis'>16\fff( <cis' ais'>) <cis ais'>( <fis, cis'>) % 3
189 <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>) % 3
190 <fis c'>16( <c' ais'>) <c ais'>( <fis, c'>) % 3
191 <fis c'>16( <c' ais'>) <c ais'>( <fis, c'>) | % 3
192 <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>) % 4
193 <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>) % 4
194 <fis c'>16( <c' ais'>) <c ais'>( <fis, c'>) % 4
195 <fis c'>16( <c' ais'>) <c ais'>( <fis, c'>) | % 4
196 <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>) % 5
197 <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>) fis2^\( ~ | % 5
201 s1 | s2\ff\< s4 s8. s16\! | % 1-2
203 s2 s4\f\< s8 s16 s32 s32\! | % 5
204 s4\> s4 s4\! s4 | % 6
208 %%%%%%%%%%%%%%%% Score Block %%%%%%%%%%%%%%%%%%%%%%
212 << % creates new grand staff
213 \new StaffGroup = "strings" <<
214 \context Staff = "violinOne" \vlnOne
215 \context Staff = "violinTwo" <<
216 \context Voice = "violin 2" { \vlnTwo }
217 \context Voice = "violin 2 dynamics" { \vlnTwoDyn }
219 \new Staff = "viola" <<
220 \context Voice = "viola" { \vla }
221 \context Voice = "viola dynamics" { \vlaDyn }
223 \new Staff = "cello" <<
224 \context Voice = "cello" { \vc }
225 \context Voice = "cello dynamics" { \vcDyn }
227 >> % end of "strings" staffgroup
229 >> % end of grand staff
234 \override TimeSignature #'stencil = ##f
235 \override BarNumber #'padding = #3
236 \override RehearsalMark #'padding = #2
238 } % context \Score \overrides end