Commit | Line | Data |
---|---|---|
69695f33 MW |
1 | <HTML> |
2 | <HEAD><TITLE> | |
3 | Shaped notes | |
4 | </TITLE></HEAD> | |
5 | <BODY> | |
6 | <P> | |
7 | <A HREF="tabstaff.html"><-- previous page</A> | |
8 | ||
9 | <A HREF="index.html">Table of Contents</A> <A HREF="textstr.html">next page --></A> | |
10 | </P> | |
11 | ||
12 | <H1> | |
13 | SHAPED NOTES | |
14 | </H1> | |
15 | <P> | |
16 | If you intend to only use the usual system of note heads, | |
17 | you can skip over this section on shaped notes. | |
18 | If you wish to use less common note head shapes, like X-shaped notes, | |
19 | rather than normal note heads, or want "shaped note" music that is often used | |
20 | for "Sacred Harp" style music, sometimes also called "fasola notation," | |
21 | then this section will explain how you can do that. | |
22 | </P> | |
23 | <H2> | |
24 | Headshapes context | |
25 | </H2> | |
26 | <P> | |
27 | <A NAME="hdshape">The headshapes context</A> | |
28 | is used in conjuction with the | |
29 | <A HREF="param.html#notehead">noteheads parameter</A> | |
30 | to determine what characters will be used when printing note heads. | |
31 | It is rarely necessary to include a headshapes context in your music, | |
32 | since Mup already has the most common values built in, | |
33 | so generally you just need to use the | |
34 | <A HREF="param.html#notehead">noteheads parameter</A> | |
35 | to access them. However, it is still important to understand | |
36 | what the headshapes context can contain, | |
37 | to understand how the builtin values work. | |
38 | </P> | |
39 | <P> | |
40 | The headshapes context defines, for | |
41 | a given head shape name, what specific note head characters | |
42 | to use for the notes of various durations. | |
43 | It contains one or more pairs of strings. | |
44 | The first string in the pair gives a name for a set of note head shapes. | |
45 | The second string contains a space-separated list of the names | |
46 | of 4 note head characters to use for that head shape name. | |
47 | The first shape in the list is used for quarter notes and shorter, | |
48 | the second for half notes, | |
49 | the third for whole notes, and the fourth for double whole notes. | |
50 | </P> | |
51 | <P> | |
52 | If an upside down version of the character is to be used for stem down notes, | |
53 | the name is prefixed by "u?" (The "u" stands for "upside-down" and the | |
54 | question mark is intended to be mnemonic for the fact | |
55 | that the upside down version | |
56 | will only be used part of the time, namely for stem-down notes.) | |
57 | </P> | |
58 | <P> | |
59 | As was mentioned above, the most common mappings are already built into Mup. | |
60 | Here is the list of the pre-defined values. | |
61 | Pay particular attention to the first string on each line, | |
62 | since those are the names you will use in the | |
63 | <A HREF="param.html#notehead">notehead parameter</A> | |
64 | and for | |
65 | <A HREF="shaped.html#chord">overriding chord</A> | |
66 | and | |
67 | <A HREF="shaped.html#note">note shapes.</A> | |
68 | <BR> | |
69 | <TABLE BORDER=4> | |
70 | <TR> | |
71 | <TD>"norm"</TD> <TD>"4n 2n 1n dblwhole"</TD> | |
72 | </TR> | |
73 | <TR> | |
74 | <TD>"x"</TD> <TD>"xnote diamond diamond dwhdiamond"</TD> | |
75 | </TR> | |
76 | <TR> | |
77 | <TD>"allx"</TD> <TD>"xnote xnote xnote xnote"</TD> | |
78 | </TR> | |
79 | <TR> | |
80 | <TD>"diam"</TD> <TD>"filldiamond diamond diamond dwhdiamond"</TD> | |
81 | </TR> | |
82 | <TR> | |
83 | <TD>"blank"</TD> <TD>"blankhead blankhead blankhead blankhead"</TD> | |
84 | </TR> | |
85 | <TR> | |
86 | <TD>"righttri"</TD> <TD>"u?fillrighttriangle u?righttriangle u?righttriangle u?dwhrighttriangle"</TD> | |
87 | </TR> | |
88 | <TR> | |
89 | <TD>"isostri"</TD> <TD>"fillisostriangle isostriangle isostriangle dwhisostriangle"</TD> | |
90 | </TR> | |
91 | <TR> | |
92 | <TD>"rect"</TD> <TD>"fillrectangle rectangle rectangle dwhrectangle"</TD> | |
93 | </TR> | |
94 | <TR> | |
95 | <TD>"pie"</TD> <TD>"fillpiewedge piewedge piewedge dwhpiewedge"</TD> | |
96 | </TR> | |
97 | <TR> | |
98 | <TD>"semicirc"</TD> <TD>"fillsemicircle semicircle semicircle dwhsemicircle"</TD> | |
99 | </TR> | |
100 | <TR> | |
101 | <TD>"slash"</TD> <TD>"fillslashhead slashhead slashhead dwhslashhead"</TD> | |
102 | </TR> | |
103 | <TR> | |
104 | <TD>"allslash"</TD> <TD>"fillslashhead fillslashhead fillslashhead fillslashhead"</TD> | |
105 | </TR> | |
106 | </TABLE> | |
107 | ||
108 | </P> | |
109 | <P> | |
110 | You can redefine these or define new ones if you wish. | |
111 | The name (the first of the two strings in the pair) | |
112 | can be almost anything you want. | |
113 | The four names in the second string must be taken from the list of | |
114 | valid note head characters given below: | |
115 | <BR> | |
116 | <PRE> | |
117 | 4n 2n 1n dblwhole | |
118 | filldiamond diamond dwhdiamond | |
119 | fillisostriangle isostriangle dwhisostriangle | |
120 | fillpiewedge piewedge dwhpiewedge | |
121 | fillrectangle rectangle dwhrectangle | |
122 | fillrighttriangle righttriangle dwhrighttriangle | |
123 | ufillrighttriangle urighttriangle udwhrighttriangle | |
124 | fillsemicircle semicircle dwhsemicircle | |
125 | fillslashhead slashhead dwhslashhead | |
126 | xnote | |
127 | blankhead | |
128 | </PRE> | |
129 | The righttriangle shape names can be prefixed by u? when | |
130 | used in the headshapes context, to indicate the upside down version of them should | |
131 | be used when the stem is down. Note that u? cannot be used on any other | |
132 | note head characters, since none of the others have a corresponding | |
133 | upside down version. | |
134 | </P> | |
135 | <P> | |
136 | As an example of how you could use the headshapes context, | |
137 | suppose you wished to use xnote for half notes and shorter, | |
138 | and diamond for longer notes. | |
139 | That is different than either of the builtin values "x" or "allx" | |
140 | but you could override one of them: | |
141 | <BR><PRE> | |
142 | headshapes | |
143 | "x" "xnote xnote diamond diamond" | |
144 | </PRE><BR> | |
145 | </P> | |
146 | <P> | |
147 | The blankhead does not print any head at all, it just leaves space as if | |
148 | there were a note head. It might be used if for some reason you just want | |
149 | stems. | |
150 | </P> | |
151 | <H2> | |
152 | Noteheads parameter | |
153 | </H2> | |
154 | <P> | |
155 | <A HREF="param.html#notehead">The noteheads parameter</A> | |
156 | describes which note head shape to use for each pitch | |
157 | in the scale. It can be specified in score, staff, or voice contexts. | |
158 | If you want to use the same shape for all pitches, | |
159 | (as is the case with standard notation), only one shape name is specified. | |
160 | Thus the default value for this parameter is | |
161 | <BR><PRE> | |
162 | noteheads = "norm" | |
163 | </PRE><BR> | |
164 | </P> | |
165 | <P> | |
166 | If you want to use different shapes for different pitches, | |
167 | the noteheads value needs to be a string containing a list of 7 shape names. | |
168 | They are listed from the "tonic" of the major key up the scale, | |
169 | with the key based on the number of sharps or flats in the | |
170 | <A HREF="param.html#key">key signature.</A> | |
171 | The shape names must be from the list of pre-defined head shapes (norm, | |
172 | xnote, diam, blank, righttri, isostri, rect, pie, semicirc, slash), | |
173 | or names that you have given as the first in a pair of strings | |
174 | in the headshapes context. | |
175 | </P> | |
176 | <P> | |
177 | You can get the most common shaped note system using 4 shapes using: | |
178 | <BR><PRE> | |
179 | noteheads = "righttri norm rect righttri norm rect diam" | |
180 | </PRE><BR> | |
181 | There are several shaped notes systems using 7 different shapes. | |
182 | One such system is specified by: | |
183 | <BR><PRE> | |
184 | noteheads = "isostri semicirc diam righttri norm rect pie" | |
185 | </PRE><BR> | |
186 | </P> | |
187 | <P> | |
188 | Once the noteheads parameter is set, | |
189 | you specify your music just like you would for standard notation, | |
190 | but Mup will use the appropriate note heads based on your specifications. | |
191 | </P> | |
192 | <P> | |
193 | <BR><PRE> | |
194 | score | |
195 | // Use a 7-shaped system. | |
196 | noteheads = "isostri semicirc diam righttri norm rect pie" | |
197 | ||
198 | // Noteheads are given in order for the major key, | |
199 | // so we'll start out with an example in major. | |
200 | key = d major | |
201 | ||
202 | music | |
203 | ||
204 | // Do a descending scale in D major | |
205 | 1: d+;c+;b;a; | |
206 | bar | |
207 | ||
208 | 1: g;f;e;d; | |
209 | dblbar | |
210 | ||
211 | score | |
212 | // Now we switch to D minor, where the "tonic" | |
213 | // will start at the rect and then wrap around. | |
214 | key = d minor | |
215 | ||
216 | music | |
217 | ||
218 | // Do a descending scale in D minor | |
219 | 1: d+;c+;b;a; | |
220 | bar | |
221 | ||
222 | 1: g;f;e;d; | |
223 | bar | |
224 | </PRE><BR> | |
225 | <IMG SRC="mugex60.gif" ALT="Picture of Mup output"><BR> | |
226 | </P> | |
227 | <H2> | |
228 | Overriding chord note heads | |
229 | </H2> | |
230 | <P> | |
231 | <A NAME="chord">It is possible to override what note shape to use for a chord,</A> | |
232 | by giving "hs" followed by a head shape name from the headshapes context, | |
233 | inside square brackets. | |
234 | Thus | |
235 | <BR><PRE> | |
236 | [hs "righttri"] | |
237 | </PRE><BR> | |
238 | would use the "righttri" headshape. The specific character to use would be | |
239 | based on the group's duration. In other words, if the chord was a | |
240 | quarter note or shorter, the "fillrighttriangle" note head would be used, | |
241 | but if the chord was a half or whole note, a "righttriangle" note head would be | |
242 | used, and a "dwhrighttriangle" would be used for a double whole note. | |
243 | </P> | |
244 | <P> | |
245 | The hs specification can be used along with other things that can go in the | |
246 | square brackets. For example, | |
247 | <BR><PRE> | |
248 | [hs "blank"; len 0] | |
249 | </PRE><BR> | |
250 | would use blankheads and no stem, resulting in no chord being printed at all! | |
251 | </P> | |
252 | <H2> | |
253 | Overriding individual note heads | |
254 | </H2> | |
255 | <P> | |
256 | <A NAME="note">If you want to override the note head shape to be used for one specific</A> | |
257 | note in a chord, you use hs followed by the head shape name | |
258 | as a string after the note. | |
259 | <BR><PRE> | |
260 | 1: cg e+ hs "diam"; f a hs "x" c+; 2ge+; | |
261 | bar | |
262 | </PRE><BR> | |
263 | <IMG SRC="mugex61.gif" ALT="Picture of Mup output"><BR> | |
264 | </P> | |
265 | <H2> | |
266 | Putting it all together to use shaped notes | |
267 | </H2> | |
268 | <P> | |
269 | In summary, | |
270 | note head shapes can be specified in five different places: per note, | |
271 | per chord, in voice context, in staff context, and in score context. | |
272 | When deciding what note head shape to use, Mup checks for specifications | |
273 | in that order, using the first it finds. | |
274 | </P> | |
275 | <P> | |
276 | Since fret numbers are used rather than note heads on | |
277 | <A HREF="tabstaff.html">tablature staffs,</A> | |
278 | the only head shape name that is allowed is "allx." | |
279 | which is used for "muffled" notes. | |
280 | </P> | |
281 | <P> | |
282 | Here is a simple example of shaped notes, using the common 4-shape system. | |
283 | <BR><PRE> | |
284 | score | |
285 | noteheads = "righttri norm rect righttri norm rect diam" | |
286 | staffs=4 | |
287 | key=2# | |
288 | bracket=1-4 | |
289 | ||
290 | staff 3 | |
291 | clef=treble8 | |
292 | staff 4 | |
293 | clef=bass | |
294 | music | |
295 | ||
296 | 1: 2c+;4d+;e+; | |
297 | 2: 2e;4a;f; | |
298 | 3: 2e;4f;c; | |
299 | 4: 2a-;4f-;a-; | |
300 | bar | |
301 | ||
302 | 1: 1d+; | |
303 | 2: 1f; | |
304 | 3: 1d; | |
305 | 4: 1d; | |
306 | endbar | |
307 | </PRE><BR> | |
308 | <IMG SRC="mugex62.gif" ALT="Picture of Mup output"><BR> | |
309 | </P> | |
310 | <P> | |
311 | Here is an example of using the same note head shape for all pitches, | |
312 | illustrating how the proper version--filled or open--of the note head | |
313 | is used, based on the note's duration. | |
314 | <BR><PRE> | |
315 | score | |
316 | time=8/4 | |
317 | beamstyle=2,2,2,2 | |
318 | ||
319 | music | |
320 | 1: 8cf;;4;2;1; | |
321 | bar | |
322 | ||
323 | score noteheads="isostri" | |
324 | music | |
325 | 1: 4ec+;8;;2;1; | |
326 | bar | |
327 | ||
328 | score noteheads="rect" | |
329 | music | |
330 | 1: 1gc+;4;2;8;; | |
331 | bar | |
332 | ||
333 | score noteheads="pie" | |
334 | music | |
335 | 1: 8cf;;4;2;1; | |
336 | bar | |
337 | ||
338 | score noteheads="x" | |
339 | music | |
340 | 1: 4ec+;8;;2;1; | |
341 | bar | |
342 | ||
343 | score noteheads="slash" | |
344 | music | |
345 | 1: 1gc+;4;2;8;; | |
346 | bar | |
347 | </PRE><BR> | |
348 | <IMG SRC="mugex63.gif" ALT="Picture of Mup output"><BR> | |
349 | </P> | |
350 | <P> | |
351 | And finally, here is a somewhat silly example that demonstrates how | |
352 | you can use the various shaped notes features to get any kind of | |
353 | note head that Mup supports anywhere you want. | |
354 | <BR><PRE> | |
355 | headshapes | |
356 | // Make some user-defined head shapes. | |
357 | // These combinations don't really make sense; | |
358 | // they are just to demonstrate what you can do. | |
359 | "reg" "4n 2n 2n 2n" | |
360 | "other" "fillrectangle diamond isostriangle dblwhole" | |
361 | ||
362 | score | |
363 | // Set notesheads, using an arbitrary mixture of builtin | |
364 | // and user-defined head shapes. | |
365 | noteheads="norm reg other reg reg other righttri" | |
366 | ||
367 | music | |
368 | ||
369 | 1: c;d;2e; | |
370 | bar | |
371 | ||
372 | 1: 2g;f; | |
373 | bar | |
374 | ||
375 | 1: {b;a;g;}3;2c+; | |
376 | bar | |
377 | ||
378 | 1: 1d; | |
379 | bar | |
380 | ||
381 | // do some shape overrides, both on group and note | |
382 | 1: [ hs "pie" ]2ce; [hs "isostri"] c e g hs "righttri"; | |
383 | endbar | |
384 | </PRE><BR> | |
385 | <IMG SRC="mugex64.gif" ALT="Picture of Mup output"><BR> | |
386 | </P> | |
387 | <HR><P> | |
388 | <A HREF="tabstaff.html"><-- previous page</A> <A HREF="index.html">Table of Contents</A> <A HREF="textstr.html">next page --></A> | |
389 | </P> | |
390 | </BODY></HTML> |