]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/snippets/new/flamenco-notation.ly
Docs: run convert-ly for 2.14.0.
[lilypond.git] / Documentation / snippets / new / flamenco-notation.ly
1 \version "2.14.0"
2
3 \header {
4   lsrtags = "fretted-strings"
5
6   texidoc = "
7 For flamenco guitar, special notation is used:
8
9
10 @itemize
11
12 @item
13 a golpe symbol to indicate a slap on the guitar body with the nail of
14 the ring finger
15
16 @item
17 an arrow to indicate (the direction of) strokes
18
19 @item
20 different letters for fingering (@qq{p}: thumb, @qq{i}: index finger,
21 @qq{m}: middle finger, @qq{a}: ring finger and @qq{x}: little finger)
22
23 @item
24 3- and 4-finger rasgueados: stroke upwards with all fingers, ending
25 with an up- and down using the index finger
26
27 @item
28 abanicos: strokes (in tuples) with thumb (down), little and index finger
29 (both up) (there is also an abanico 2 where middle and ring finger are
30 used instead of the little finger)
31
32 @item
33 alza pua: fast playing with the thumb
34
35 @end itemize
36
37
38 Most figures use arrows in combination with fingering; with abanicos
39 and rasgueados, noteheads are printed only for the first chord.
40
41 This snippet contains some header-like code that can be copied as
42 @samp{flamenco.ly} and included in source files.
43
44 "
45   doctitle = "Flamenco notation"
46 }
47
48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 %%%%%%%  Cut here ----- Start 'flamenco.ly'
50
51 % Text indicators
52 abanico = \markup { \italic Abanico }
53 rasgueaso = \markup { \italic Ras. }
54 alzapua = \markup { \italic Alzapua }
55
56 % Finger stroke symbols
57 strokeUp = \markup { \postscript #"
58   0.1     setlinewidth
59   0.5 0   moveto
60   0.5 2   lineto
61   0.2 1.4 lineto
62   0.5 2   moveto
63   0.8 1.4 lineto
64   stroke
65 "}
66
67 strokeDown = \markup { \postscript #"
68   0.1     setlinewidth
69   0.5 2   moveto
70   0.5 0   lineto
71   0.2 0.6 lineto
72   0.5 0   moveto
73   0.8 0.6 lineto
74   stroke
75 "}
76
77 % Golpe symbol
78 golpe = \markup { \postscript #"
79   0.2 setlinewidth
80   0 0 moveto
81   1 0 lineto
82   1 1 lineto
83   stroke
84   "\postscript #"
85   0.1       setlinewidth
86   -0.6 -0.1  moveto
87   -0.6  1.0 lineto
88   0.5  1.0 lineto
89   stroke
90 "}
91
92 strokeUpGolpe = \markup { \column { \golpe \line { \strokeUp } } }
93 iUpGolpe = \markup { \column { \golpe \line { \small i } \line { \strokeUp } } }
94
95 % Strokes for all fingers
96 pUp   = \markup { \column { \small p \line { \strokeUp } } }
97 pDown = \markup { \column { \small p \line { \strokeDown } } }
98 iUp   = \markup { \column { \small i \line { \strokeUp } } }
99 iDown = \markup { \column { \small i \line { \strokeDown } } }
100 mUp   = \markup { \column { \small m \line { \strokeUp } } }
101 mDown = \markup { \column { \small m \line { \strokeDown } } }
102 aUp   = \markup { \column { \small a \line { \strokeUp } } }
103 aDown = \markup { \column { \small a \line { \strokeDown } } }
104 xUp   = \markup { \column { \small x \line { \strokeUp } } }
105 xDown = \markup { \column { \small x \line { \strokeDown } } }
106
107
108 % Just handy :)
109 tupletOff = {
110   \once \override TupletNumber #'stencil = ##f
111   \once \override TupletBracket #'stencil = ##f
112 }
113
114 tupletsOff = {
115   \override TupletNumber #'stencil = ##f
116   \override TupletBracket #'bracket-visibility = #'if-no-beam
117 }
118
119 tupletsOn = {
120   \override TupletBracket #'bracket-visibility = #'default
121   \revert TupletNumber #'stencil
122 }
123
124 headsOff = {
125   \override TabNoteHead #'transparent = ##t
126   \override NoteHead #'transparent = ##t
127   \override NoteHead #'no-ledgers = ##t
128 }
129
130 headsOn = {
131   \override TabNoteHead #'transparent = ##f
132   \override NoteHead #'transparent = ##f
133   \override NoteHead #'no-ledgers = ##f
134 }
135
136 %%%%%%%  Cut here ----- End 'flamenco.ly'
137 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
138
139 part = \relative c' {
140   <a, e' a cis e>8^\iUp
141   <a e' a cis e>8^\iDown
142   r4
143   r2^\golpe
144
145   <a e' a cis e>8^\iUp
146   <a e' a cis e>8^\iDown
147   <a e' a cis e>8^\iUpGolpe
148   <a e' a cis e>8^\iDown
149   r2
150
151   <a e' a cis e>16^\aUp
152   \headsOff
153   <a e' a cis e>^\mUp
154   <a e' a cis e>^\iUp
155   <a e' a cis e>^\iDown~
156   \headsOn
157   <a e' a cis e>2
158   r4
159
160   \tupletOff
161   \times 4/5 {
162     <a e' a cis e>16^\xUp
163     \headsOff
164     <a e' a cis e>^\aUp
165     <a e' a cis e>^\mUp
166     <a e' a cis e>^\iUp
167     <a e' a cis e>^\iDown~
168     \headsOn
169   }
170   <a e' a cis e>2
171   r4
172
173   \tupletsOff
174   \times 2/3 {
175     <a e' a cis e>8^\pDown
176     \headsOff
177     <a e' a cis e>^\xUp
178     <a e' a cis e>^\iUp
179     \headsOn
180   }
181
182   \times 2/3 {
183     <a e' a cis e>8^\pDown
184     \headsOff
185     <a e' a cis e>^\xUp
186     <a e' a cis e>^\iUp
187     \headsOn
188   }
189
190   \times 2/3 {
191     <a e' a cis e>8^\pDown
192     \headsOff
193     <a e' a cis e>^\xUp
194     <a e' a cis e>^\iUp
195     \headsOn
196   }
197   \times 2/3 {
198     <a e' a cis e>8^\pDown
199     \headsOff
200     <a e' a cis e>^\xUp
201     <a e' a cis e>^\iUp
202     \headsOn
203   }
204
205   \tupletsOff
206   \override Beam #'positions = #'(2 . 2)
207   \times 2/3 {
208     a8^\markup{ \small p }
209     <e' a>^\strokeUpGolpe
210     <e a>^\strokeDown
211   }
212   \times 2/3 {
213     a,8^\markup{ \small p }
214     <e' a>^\strokeUpGolpe
215     <e a>^\strokeDown
216   }
217   \times 2/3 {
218     a,8^\markup{ \small p }
219     <e' a>^\strokeUpGolpe
220     <e a>^\strokeDown
221   }
222   \times 2/3 {
223     a,8^\markup{ \small p }
224     <e' a>^\strokeUpGolpe
225     <e a>^\strokeDown
226   }
227   \tupletsOn
228
229   \once \override TextScript #'extra-offset = #'(0 . -1)
230   <g, b f'>1_\golpe^\mUp
231   \bar "|."
232 }
233
234 \score {
235   \new StaffGroup <<
236     \context Staff = "part" <<
237       \clef G
238       \transpose c c'
239       {
240         \part
241       }
242     >>
243     \context TabStaff {
244       \part
245     }
246   >>
247   \layout {
248     ragged-right = ##t
249   }
250 }