-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelp.html
419 lines (409 loc) · 20.6 KB
/
help.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Edify Music</title>
<link rel="stylesheet" href="css/font-awesome.min.css"/>
<link rel="stylesheet" href="css/bootstrap.min.css"/>
<link href="css/abcjs-midi.css" media="all" rel="stylesheet" type="text/css" />
<script src="js/abcjs_basic_midi_3.1.1-min.js" type="text/javascript"></script>
<style>
.abcjs-inline-midi {
max-width: 960px;
}
textarea {
display: block;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
</style>
</head>
<body>
<!-- Static navbar -->
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"><span color="blue">edify</span> Music <i class="fa fa-music" aria-hidden="true"></i></a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a class="active" href="#">Help</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="container">
<h1>An ABC primer</h1>
<p>by John Chambers</a> (jc@trillian.mit.edu) (edited for offline viewing)</p>
<hr/>
<p>
This is a brief intro to the ABC music notation system.
This notation was originally invented by Chris Walshaw,
who produced the first abc2mtex program that converts ABC notation to mtex (Musix Tex).
Other people have since produced a variety of other software for ABC, most of which is free.
</p>
<hr>
<h2>Headers</h2>
<p>
Each tune starts with some header lines.
A header lines starts with a letter and a colon (:), plus some info.
There are lots of different header lines. The most useful are:
<pre><b>
X: 1
T: Tune Title
C: Composer
N: Notes about the tune
M: 3/4
L: 1/8
K: G
</b></pre>
</p>
<p>The <b>X:</b> line gives a sequence number, useful for selecting one
tune out of a file full of tunes.
<p>The <b>T:</b> line gives the title, and may be repeated if you want to give several titles.
<p>The <b>C:</b> line gives the composer's name. Use <b>C:Trad</b> for traditional tunes.
<p>The <b>N:</b> line is any kind of comment, ignored by the software.
<p>The <b>M:</b> line is the meter.
<b>M:2/4</b> is two/four time; <b>M:6/8</b> is jig time, etc.
<b>M:C</b> and <b>M:C|</b> have the obvious meanings.
<p>The <b>L:</b> line is the default note length; here it's an eighth note (quaver).
<p>The <b>K:</b> gives the key. <b>K:Em</b> would mean E minor. Most ABC software
also recognizes the classical "modal" keys, using 3 (or more) letters
of the mode, so <b>K:EDor</b> means E Dorian (two sharps) and <b>K:AMix</b> means
A Mixolydian (two sharps).
<p>
The <b>X:</b> and <b>T:</b> lines should be the first two lines, and the <b>K:</b> line
should be the last header line.
Some software is liberal about these, but some is fairly picky,
so its best to always use these three main header lines in this order.
The <b>K:</b> line is followed by music, with a blank line to separate the tune from
whatever follows.
<hr>
<h2>Notes</h2>
<p>
The bottom half of the staff, from C below the staff to B in
the middle, are represented by the capital letters CDEFGAB.
The top half of the staff, from the C in the middle to the B
above, are represented by lower-case letters cdefgab. So the
notes on the treble staff are EFGABcdef. The lines are EGBdf,
and the spaces are FAce.
<p>
You can represent the octaves below and above these by putting a
comma (<b>,</b>) after the capital letters, or an apostrophe (<b>'</b>) after
the lower-case letters. This is sort of a pictorial mark: The
"lower comma" means go down an octave, while the "upper comma"
means to go up an octave.
<p>
Here's a summary of notes:
<div id="summary_of_notes"></div>
<hr>
<h2>Bar lines</h2>
<p>
Here's how you do bar lines:</p>
<table class="table table-bordered table-condensed table-striped">
<tr><th>|</th><td>simple bar line</td></tr>
<tr><th>||</th><td>double bar line</td></tr>
<tr><th>[|</th><td>thick+thin double bar line</td></tr>
<tr><th>|]</th><td>thin+thick double bar line</td></tr>
<tr><th>|:</th><td>start of repeat</td></tr>
<tr><th>:|</th><td>end of repeat</td></tr>
<tr><th>|1</th><td>start of first ending</td></tr>
<tr><th>:|2</th><td>start of second ending</td></tr>
</table>
<div id="bar_lines"></div>
There's also a <b>::</b> symbol that's merely shorthand for <b>:||:</b>,
the end of one repeated section and the start of another.
<p>
It's a good idea to include spaces around bar lines,
for human readability, but ABC syntax doesn't require this.</p>
<hr>
<h2>Timing</h2>
<p>
A note by itself stands for whatever length note is in the L: header line.
You can add a multiplier after the note. A simple fraction is the basic
notation. So A3/2 means a note 1.5 times as long as the basic length (a
dotted eighth note in the above example).</p>
<p>
You can omit <b>/1</b>, of course, so <b>d4</b> means a
note four times as long as the basic length (a half note here).</p>
<p>
You can also omit a numerator of <b>1</b> or a denominator of <b>2</b>.
So <b>F1/2</b>, <b>F/2</b> and <b>F/</b> all mean the same thing,
an <b>F</b> note half as long as the <b>L:</b> length in the header.</p>
<p>
Since all notes are in terms of the <b>L:</b> length, you can quickly change the
meter of a tune by merely modifying the <b>M:</b> and <b>L:</b> lines in the header.</p>
<p>
There is a shorthand notation for dotting: The characters <b><</b> and <b>></b>
transfer half the value of the note on one side to the other side. The
<b><</b> is a "snap", with a short first note,
so <b>A<B</b> is shorthand for <b>A1/2B3/2</b>.
The <b>></b> is a long-short, so <b>A>B</b> is shorthand for <b>A3/2B1/2</b>.
You can double these symbols to get a double dot.</p>
<div id="timing"></div>
<hr>
<h2>Beaming</h2>
<p>
Within a measure, spaces are used to separate groups of notes that are
to be beamed together (if possible).
So <b>|DFA dAF|</b> is a bar with two groups of three notes (probably a jig),
while <b>|DF Ad AF|</b> is a bar with three groups of two notes (possibly a waltz).</p>
<div id="beaming"></div>
<hr>
<h2>Staffs</h2>
<p>
Normally, ABC uses one staff per line, and end-of-line represents the
end of a staff. This can lead to very long lines, so the backslash (<b>\</b>) is
used to mean "continued on next line". This is similar to its use in a lot
of programming languages, and lets you break up a long line into several short lines.
The main use for this is in sending tunes via email.
A lot of email software inserts line feeds in long lines,
and this has an unfortunate effect on ABC.
This can be prevented by using <b>\</b> to split a long staff line into two or more shorter lines.</p>
<hr>
<h2>"Accompaniment" chords</h2>
<p>
This refers to the names of chords, to be placed above or below the staff
(there's no standard here). They go in double quotes, just before the note.
So <b>"G"dBAG</b> would be a G chord above/below the d note. You can actually
put any text inside the double quotes, so long chord names are possible.
People also use this for other musical directions, but that isn't really correct.</p>
<div id="accompaniment"></div>
<hr>
<h2>Example</h2>
<p>
One new thing first: I've used the letter 'z' in this example, which
represents a rest. Rests take lengths just like notes, so the two uses of
z2 represent 1/4-length rests.
<p>
You have enough knowledge now to understand the following tune:
<pre>
X: 1
T: Balance the Straw
R: jig
N: This tune goes with one of the best-known Morris dances. It is also a good jig
N: for other dances, usually in AABB form. The B phrase bears a strong resemblance
N: to a certain Christmas carol, and at Morris dances you will hear words like:
N: __ Hark! the herald angels sing, __
N: __ Glory to the Morris Ring. __
N: Sometimes assorted other things are praised by the angels.
N:
M: 6/8
L: 1/8
K: G
D \
|: "G"G2B B>AB | "C"c2A A>ce | "D7"d>ed cAc | "G"G2B B2D \
| "G"G2B B>AB | "C"c2A A>ce | "D7"d>ed cEF | "G"G4 z2 :|
B/c/ \
|: "G"dz d dz G | "(D7)"c2B "D7"B2A | "G"dz d dz G | "D7"B2A A2D \
| "G"G2B B>AB | "C"c2A A>ce | "D7"d>ed cEF | "G"G4 z2 :|
</pre>
<br>Here's what this looks like as standard music notation:<br>
<div id="balance_the_straw"></div>
</p>
<hr>
<h2>Repeats and endings</h2>
<p>
Well, I lied a bit just there; I used something new without warning you..
Did you notice the <b>|:</b> and <b>:|</b> symbols in that tune?
You probably understood them.
They mean exactly what you think they mean: Repeat the phrase.
There's also a shorthand <b>::</b> notation for a bar
in the middle of a line with repeat symbols on both sides.</p>
<p>
There is a simple multi-ending notation:
<blockquote>
<b>|: ... |1 ... :|2 ... |]</b>
</blockquote>
This represents a phrase with two different endings. You can use <b>:|</b> at the
end to indicate four times through. But this notation is still not well
developed in ABC. You'd think that you could also say something like
<blockquote>
<b>|::: ... |1,3 ... :|2 ... |4 ... |]</b>
</blockquote>
But this isn't recognized by all ABC software yet, and isn't part
of the official standard. It may be eventually.
Some ABC software also lets you use the obvious multi-colon notation for repeats:
<blockquote>
<b>|:: ... ::|</b>
</blockquote>
This would mean two repeats; i.e., play the phrase three times.
Again, this isn't yet understood by all ABC software.</p>
<hr>
<h2>Accidentals</h2>
<p>The ASCII character set has the <b>#</b> symbol, but lacks the natural and flat symbols.
So some other, somewhat pictorial, characters were chosen.
The notation for accidentals is:
<table class="table table-condensed table-striped">
<tr><th>_B</th><td>means B flat</td></tr>
<tr><th>=A</th><td>means A natural</td></tr>
<tr><th>^G</th><td>means G sharp</td></tr>
</table>
The usual rule should be followed:
An accidental applies to that note for the rest of the measure, unless
changed by another accidental.
However, it is common to use occasional unnecessary accidentals for emphasis.
And if you're hanging out with the Early Music crowd, or with modern atonal
musicians, you should probably treat accidentals as only for that one note.</p>
<p>
In accompaniment ("guitar") chords, the characters <b>#</b> and <b>b</b> are used for sharps and flats,
so <b>"Bb"</b> means a B-flat chord, and <b>"F#m7"</b> means an F-sharp minor 7th chord.
The same thing is done in key signatures, so <b>K:Bb</b> means the key of B flat,
and <b>K:F#m</b> means F sharp minor.
This is inconsistent with accidentals on notes,
but printed music is often inconsistent in similar ways.</p>
<div id="accidentals"></div>
<hr>
<h2>Chords</h2>
<p>
You can produce chords, that is, multiple notes on a single stem, by putting
them within square brackets <b>[...]</b>. So <b>[GBdg]</b> is a 4-note G chord. The order
doesn't much matter, so <b>[gdBG]</b> comes out the same on paper. But there is
some music-playing software that will treat the first note as the "melody"
note, so if this is important, you should put the main note first.</p>
<p>
You can say things like <b>[D4F3A2d3/2]</b>, but ABC notation will
just use the length of the first note for the entire chord, and the above
example and <b>[D4FAd]</b> will both come out the same as <b>[D4F4A4d4]</b>.</p>
<div id="chords"></div>
<hr>
<h2>Slurs and ties</h2>
Parentheses are used for slurs.
<b>AB(cd)</b> means to draw a slur from the c to the d.
Slurs can be drawn between arbitrary notes (though there may be problems
with slurs that go from one staff to another).
<p>
A tie is indicated by a hyphen (<b>-</b>) after the first note.
So <b>A4- A</b> is two A's tied together.
<p>
Most music notation doesn't really distinguish slurs and ties, and
ABC is no exception. You'll see <b>A-B</b>, which should really be <b>(AB)</b>.
This probably isn't a big deal, except to the rare people who get excited about such things.
Also, some ABC software will complain if you tie two different notes together.
But the software should usually do the right thing, and treat it to a slur.
<hr>
<h2>Ornaments</h2>
<p>
ABC has a several notations for ornaments.
If you put notes in curly braces <b>{}</b> they will be treated as grace notes.
When printed, they will be tiny notes just before the note that follows.
You can use this to write out rather complex ornaments.
<b>{gded^c}d</b> will give a d with all five little notes before it.
<p>
There are also some special symbols that can be put before a note.
A dot produces the usual staccato: <b>.d</b> means a d with a dot below or above it.
You can use <b>~</b> to indicate a turn, so <b>~D</b> means a turned D.
Some software has options to say how to draw such ornaments.
There are also some ornaments that some programs recognize and others
don't. Thus <b>T</b> is recognized by some to produce the usual italic <b><i>tr</i></b>
symbol above the next note. <b>M</b> (for "emphasis") is recognized by some
to produce a little horizontal line above or below the note.
Most software recognizes <b>H</b> as a "hold" (fermata).
And so on.
<p>
This is an area for future development.
<hr>
<h2>Clefs</h2>
<p>
The treble clef is the default.
But you can specify the clef in the K: header line.
<blockquote>
<b>K:Gm bass</b>
</blockquote>
means the key is G minor, and the clef is bass.
Unless you say otherwise, <b>K:C treble</b> is assumed.
(Some software will give a warning if there is no K: line, and
will then use this default.)
<p>
One quandary with ABC was how letters map to staff notes in alto and bass clefs.
The abc2ps program originally used a mapping like the treble clef:
<b>a</b> was the top line, <b>d</b> was the middle line, and <b>G</b> the bottom line..
But then some other people wrote software that did it differently, with <b>A,</b>
the top bass line and <b>G,,</b> the bottom line. After extensive discussion, it
was decided that there was no "best" way to do this, so another idea was accepted:
You can state what note goes on the middle line. So you might write:
<blockquote>
<b>K:Gm bass middle=d</b>
</blockquote>
This puts the letters GABcdefga on the staff, and makes for easy typing.
If you prefer the other scheme, you can say:
<blockquote>
<b>K:Gm bass middle=D,</b>
</blockquote>
It's a good idea to always include the <b>middle=</b> item for bass clef,
so that the software knows where you want the notes on the staff.
If you don't, some software will draw the notes in different octaves than you intended.
<p>
You could also use <b>middle=</b> to change the mapping for the treble clef.
This could be useful, for exmple, to convert an alto vocal line to an instrumental line
with the notes drawn an octave higher. Another example is with alto recorder music,
which historically has been printed in two different octaves.
In ABC terms, printers treat the instrument's range as <b>F,, ... g</b> or <b>F, ... g'</b>.
Such music, when transcribed to ABC, can easily be printed in staff notation in either octave
by merely adding a <b>middle=B</b> or <b>middle=b</b> term to the <b>K:</b> header line.
<hr>
<h2>More header lines</h2>
<p>
<table class="table table-condensed table-striped table-bordered">
<tr>
<th>C: </th><td>Composer (who wrote the tune)</td>
</tr><tr>
<th>O: </th><td>Origin (where it's from)</td>
</tr><tr>
<th>S: </th><td>Source (who you got it from)</td>
</tr><tr>
<th>R: </th><td>Rhythm (reel, jig, polka, tango, ...)</td>
</tr><tr>
<th>B: </th><td>Books where you can find the tune</td>
</tr><tr>
<th>D: </th><td>Discography (recordings of the tune)</td>
</tr><tr>
<th>H: </th><td>History (anything you know about the tune's origins)</td>
</tr><tr>
<th>Q: </th><td>Tempo (1/4=120 means 120 quarter notes per minute)</td>
</tr><tr>
<th>Z: </th><td>Transcription notes (who wrote it down or converted it to ABC, and when)</td>
</tr>
<dd>
</table>
<hr>
<a href="abc-15.txt">For more details, here is Chris Walshaw's detailed document for ABC notation.</a>
<hr>
<h2>Attribution</h2>
<p>
This website was retrieved from http://trillian.mit.edu/~jc/doc/doc/ABCprimer.html on June 15, 2017. The content is owned by the author.
</p>
</div> <!-- /container -->
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript">
var summary_of_notes = 'X:1\nT:Summary of Notes\nL:1/4\nK:C\nG, A, B, C D E F G A B c d e f g a b c\' d\' e\' f\' g\'\nw: G, A, B, C D E F G A B c d e f g a b c\' d\' e\' f\' g\'';
var timing = 'X:1\nT:Timing\nT:L:1/4\nL:1/4\nK:C\nC/16 C/8 C/4 C/2 C C3/2 C2 C3 C4 C6|\nw: C/16 C/8 C/4 C/2 C C3/2 C2 C3 C4 C6|';
var beaming = 'X:1\nT:Beaming\nL:1/8\nM:3/4\nK:C\n|DFA dAF|DF Ad AF|\nW: | DFA dAF | DF Ad AF |';
var accompaniment = 'X:1\nT:Accompaniment\nL:1/4\nM:4/4\nK:C\n|"G"dBAG|\nw: "G"d B A G|';
var accidentals = 'X:1\nT:Accidentals\nL:1/4\nM:3/4\nK:C\n|_B =A ^G|\nW: _B =A ^G|';
var chords = 'X:1\nT:Chords\nL:1/4\nM:4/4\nK:C\n|[GBdg] [D4F3A2d3/2]|\nw:[GBdg] [D4F3A2d3/2]|';
var bar_lines = 'X:1\nT:Bar Lines\nM:4/4\nL:1/4\nK:C\n| z4 || z4 [| z4 |] |: z4 :|\n |1 z4 :|2 z4|]\nW: single | double || thick|thin [| thin|thick |] begin repeat |: end repeat :| \nW: first ending |1 second ending :|2';
var balance_the_straw = 'X: 1\nT: Balance the Straw\nR: jig\nN: This tune goes with one of the best-known Morris dances. It is also a good jig\nN: for other dances, usually in AABB form. The B phrase bears a strong resemblance\nN: to a certain Christmas carol, and at Morris dances you will hear words like:\nN: __ Hark! the herald angels sing, __\nN: __ Glory to the Morris Ring. __\nN: Sometimes assorted other things are praised by the angels.\nN:\nM: 6/8\nL: 1/8\nK: G\nD \\n|: "G"G2B B>AB | "C"c2A A>ce | "D7"d>ed cAc | "G"G2B B2D \\n| "G"G2B B>AB | "C"c2A A>ce | "D7"d>ed cEF | "G"G4 z2 :|\nB/c/ \\\n|: "G"dz d dz G | "(D7)"c2B "D7"B2A | "G"dz d dz G | "D7"B2A A2D \\\n\'| "G"G2B B>AB | "C"c2A A>ce | "D7"d>ed cEF | "G"G4 z2 :|';
ABCJS.renderAbc('summary_of_notes', summary_of_notes);
ABCJS.renderAbc('timing', timing);
ABCJS.renderAbc('beaming', beaming);
ABCJS.renderAbc('chords', chords);
ABCJS.renderAbc('accidentals', accidentals);
ABCJS.renderAbc('accompaniment', accompaniment);
ABCJS.renderAbc('bar_lines', bar_lines);
ABCJS.renderAbc('balance_the_straw', balance_the_straw);
</script>
</body>
</html>