Archive for January, 2010

How to understand abc (the basics)

Sunday, January 31st, 2010

[the second in a series of articles on using and understanding abc]

Contents:

OK. So let’s suppose you’ve just come across abc and you want to know a little more about how it works before delving deeper.

Or maybe you’ve already started using abcs you’ve found on websites and now you want to understand them, perhaps to try modifying them slightly.

In this short article we’re going to look at the basics of the notation itself.

The structure of an abc tune

Typically a tune consists of two parts – the header, containing background information, and the notes, containing … the notes.

In this first example, the header is the first 5 lines – each line containing a different type of information – and the notes are contained in the last 3 lines.

X:1
T:Paddy O'Rafferty
C:Trad.
M:6/8
K:D
dff cee|def gfe|dff cee|dfe dBA|dff cee|def gfe|faf gfe|1 dfe dBA:|2 dfe dcB|]
~A3 B3|gfe fdB|AFA B2c|dfe dcB|~A3 ~B3|efe efg|faf gfe|1 dfe dcB:|2 dfe dBA|]
fAA eAA|def gfe|fAA eAA|dfe dBA|fAA eAA|def gfe|faf gfe|dfe dBA:|

We will now look at all the elements of this tune in more detail.

The header

First, notice that each line of the header starts with a different letter telling you what information it contains – so the line beginning T: contains the Title of the tune and the line beginning C: contains the Composer (in this case it’s a traditional one – the composer’s name has been lost in the mists of time).

In abc-speak, these lines are sometimes known as fields - you may hear people talking about the “T field” or the “C field” – they just mean the title or the composer.

Each tune can contain a lot of background information so there are fields to cover almost every eventuality. For now, however, the only other fields you need to know about are X, M & K for the header and the L field which we will look at below.

M: and K: are straightforward and define the meter and the key of the tune – the example above is a 6/8 tune (a jig) in D (two sharps). If you leave out the M: field, most abc software will assume you want common time – i.e. M:C. However, you must include the K: field which also tells abc software where the header ends and the notes start.

Finally the X: field just contains a reference number. This is not so important now that there’s loads of good software that allows you to pick tunes with the click of a mouse, but in the early days of abc it was useful for selecting specific tunes from a file.

Note that some people choose to store each tune in a separate file and so you may sometimes encounter tunes without an X: field. However, not all abc software recognises these as tunes so it’s best, especially if you want to share tunes with friends, to always include an X: field, even if you only ever use X:1.

The only other thing you need know is the order - each tune should start with an X: field, followed by a T: field and the header then ends at the K: field.

Apart from that you can put the other fields (e.g. the C: and M: fields in the example above) in any order.  You can also have as many as you want. We will cover other fields and how to use them in a subsequent article – see the links at the bottom of this article.

The notes

The notes of the tune start after the first K: field.

Each note is written as a separate letter and – surprise, surprise – the letter C represents the note C, D represents D, and so on.

Upper case (capital) letters, CDEFGAB, are used to denote the bottom octave (C represents middle C, on the first leger line below the treble stave), continuing with lower case letters for the top octave, cdefgab (b is the one above the first leger line above the stave).

To go down an octave, just put a comma after the letter and to go up an octave use an apostrophe.

Here are four octaves shown both in abc notation and staff notation:

X:1
T:Notes
M:C
L:1/4
K:C
C, D, E, F,|G, A, B, C|D E F G|A B c d|e f g a|b c' d' e'|f' g' a' b'|]

Notice one other thing about this example – the L: field, which sets the basic note length and in this case, L:1/4 tells abc software that each letter in the notes section represents a crotchet or quarter note.

This brings us to the next topic …

Note lengths

Now we know how to pitch notes, the other important thing is their length.

Firstly, you can set a basic note length for every note via the L: field – so that L:1/16 would mean that each letter in the notes section represents a semi-quaver or sixteenth note and similarly L:1/8 implies that they are quavers or eighth notes.

If you leave out the L: field, most abc software will assume you want the basic note length to be eighth notes (although some software sets the basic note length according to the meter, so if in doubt, include an L: field).

Having set the basic length you can modify the length of an individual note by putting a number after it. For example, in the second line of the tune Paddy Rafferty given above, the first four bars are:

~A3 B3|gfe fdB|AFA B2c|dfe dcB|

So here, since the basic note length is eighth notes (quavers), the B2 in the third bar represents a quarter note (crotchet) – i.e. 2 times as long as an eighth note, whilst the A3 and B3 in the first bar represent dotted quarter notes – i.e. 3 times as long as an eighth note.

If the note is above or below the stave then the note length comes after the comma or apostrophe – e.g. c’4 is a half note (minim) on high C.

To shorten the length of a note, just follow it by a / and the appropriate length – e.g. if A is an eighth note, then A/2 is a sixteenth (semi-quaver). You can also use a / as shorthand for /2  so that A/ also represents a sixteenth note.

Finally, you can change the basic note length at any point in a tune. The following example demonstrates all the different note length possibilities (some pretty uncommon) for 3 different values of the basic note length:

X:1
T:Note lengths and default note length
M:C
K:C
L:1/16
A/2 A/ A A2 A3 A4 A6 A7 A8 A12 A15 A16|]
L:1/8
A/4 A/2 A/ A A2 A3 A4 A6 A7 A8 A12 A15|]
L:1/4
A/8 A/4 A/2 A/ A A2 A3 A4 A6 A7|]

Bar lines

Bar lines are easily inserted with a | symbol and you can use || for a double bar line or |] for a thin-thick double bar line.

Similarly |: represents the start of a repeated section and :| represents the end.

Where one repeated section ends and a new one starts, use :||: or :: for short.

Alternate repeats are represented by [1 and [2 and, if these are adjacent to a bar line, the [ can be omitted, so that |1 is short for |[1.

Beams

To put two or more eighth or sixteenth notes together under a beam, just put them next to each other with no space in between.

The following example show various choices of beaming:

X:1
T:Beams
M:C
K:C
A B c d AB cd|ABcd ABc2|]

Putting it all together

Although there's plenty more to learn, with the information contained in this article you should be able to figure out 90% of most tunes.

However, to finish off, we just need to know that the ~ (tilde) symbol represents an ornament, such as a roll or turn in Irish music.

We now have all the tools required to interpret the abc of Paddy O'Rafferty shown above. Here it is again, with the staff notation underneath:

X:1
T:Paddy O'Rafferty
C:Trad.
M:6/8
K:D
dff cee|def gfe|dff cee|dfe dBA|dff cee|def gfe|faf gfe|1 dfe dBA:|2 dfe dcB|]
~A3 B3|gfe fdB|AFA B2c|dfe dcB|~A3 ~B3|efe efg|faf gfe|1 dfe dcB:|2 dfe dBA|]
fAA eAA|def gfe|fAA eAA|dfe dBA|fAA eAA|def gfe|faf gfe|dfe dBA:|

example - Paddy ORafferty

Further reading

Probably the best way to carry on from here is just to try some playing around with and perhaps modifying some examples. There are  plenty of tunes to try out in the abc tune search and the previous article in this series has a link to an online converter so you can see how changes you make affect the music.

You could also read another article in this series [more to follow]:

Finally, there are plenty other pages which can help to explain abc, such as the examples page on this website, Steve Mansfield's excellent tutorial and John Chambers' FAQ.

Have fun!

Chris Walshaw

The abc website

Friday, January 15th, 2010

There are still loads of links out there for the old versions of the abc website address and I’m just putting up this message in the vain hope that people might correct them.

The correct address is now, and hopefully will be for many years to come, http://abcnotation.com.

Addresses you may encounter (and a brief history):

  • http://www.gre.ac.uk/~c.walshaw/abc – for many years (from approximately 1995) this was the home of abc, part of my personal webspace at the University of Greenwich. It remained there until October 2006 when the University shut down all of the personal webpages on the site. Unfortunately, there are still hundreds of links to this page, none of which work.
  • http://staffweb.cms.gre.ac.uk/~c.walshaw/abc – this was the alternative address (kindly provided by the School of Computing & Mathematical Sciences) that I used from about August 2002 on, once I got wind of the fact that the University might want to shut down personal webpages on its own server. It is still live but now just has an automatic redirect to abcnotation.com.
  • http://www.walshaw.plus.com/abc – in November 2006, after the changes mentioned above, I decided to move the website off the University’s servers entirely and put it here (as part of the webspace provided by my ISP). At the same time I took the opportunity to give the site a complete redesign, separating out the content into several pages and introducing the blue and gold theme it has today. Although I never intended this to be the official address of the abc website, many people have used it (because of the way web forwarding works) and there are still over 700 links to this URL. The address is still live but fortunately I have managed to configure it so that it does an automatic (301) redirect to abcnotation.com.
  • http://abcnotation.org.uk – is a forwarding address I set up, also in November 2006, intended as being the new official address for the abc website (unfortunately abcnotation.com wasn’t available at the time). It is still live and takes you directly to abcnotation.com.
  • http://abcnotation.com – some time in late 2008, my ISP temporarily shut down the site at walshaw.plus.com  because it was using more bandwidth than I was allowed. Although, I was able to alleviate the problems, I decided then to move the site to a dedicated host. I also decided to overhaul the web-wide index (a list of all the abc tunes at various websites) at the same time and launch the abc tune search instead. The development work took me six months or so and the new site was launched on 21st June 2009 with 36,000 searchable tunes initially (this had already grown to 55,000 in the December 2009 edition).

Anyway, a long article for a short plea – if you do encounter a website with any of the old addresses (or if you run one yourself) please pester the webmaster to change them.

Thank you!

Chris

Top of the Pops 2

Tuesday, January 5th, 2010

I’ve just amended – slightly – the code that creates the top tune charts so that it now excludes recent winners for a week.

When I was setting the charts up and running a test version I did wonder if they might end up as self perpetuating … and so it proved. They worked fine when it was just me looking at them, but as soon as I published them, the same tune appeared in the top slot for a whole week.

Now I’m sure that “Acano mlada nevesto” is a mighty fine tune, but I’m not convinced it’s the most popular on the website. And what I think was happening was that people were seeing it at the top of the charts and clicking on it to see what all the fuss was.

And so it stayed at the top.

Of course, that’s kind of the way that the real pop charts work … only with the slight difference that people actually have to pay money to keep a song at the top. Whereas here on the website, a click is free.

However, with a quick modification, previous number 1 winners are now excluded for a week (with a list of the previous week’s winners stored lower down the page).

Anyway … just a little diversion in this hectic world. Enjoy!

Chris

http://abcnotation.com/charts