ABC notation is a text-based system created by Chris Walshaw for recording musical notation. Due to its simple but powerful interface, developers have been able to create software that renders ABC notation into standard musical notation while also providing editable, instant playback. This website uses abcjs, a javascript package developed by Gregory Dyke and Paul Rosen.
You may view our Known Technical Issues page if you are having technical difficulties with any portion of the website. Chrome browser has the most complete support for abcjs functionality.
Interactive examples are embedded in the text using an ABC editor powered by abcjs. It would be overwhelming to try to learn all the commands and entry nuances of our ABC javascript editor, so instead, we recommend that you just play with some examples to see how it works. Try playing with the two basic examples below to see what a change in the textbox does to the music.
When you click on an object in the music, it will highlight the appropriate text in the editor. If you place your cursor in the editor’s textbox, it will highlight the corresponding object in the music. After you have tried to play with it for a bit, continue reading below for a basic overview of the editor functions. (Once you make many changes, the editor may lock. To fix this, hit the reset button below the editor to continue. If you’d like to save your changes and continue, you simply need to copy your all the text in the textbox, and then paste it over the old text after you hit reset.)
Each piece of music is entered in two parts: the header and the body.
The header contains all the information needed to setup musical notation such as clefs, keys, and time signatures.
Each component in the header will consist of an abbreviation, a colon, and an instruction.
The abbreviation tells the editor what you are editing and the instruction tells the editor what to do.
For example, M: 4/4
will give you a meter of 4/4.
Note that the X:
field is a place-holder necessary for the website implementation and does not affect the musical notation.
The body contains the actual musical notes as well as bar lines and repeats.
^
before the letter to add a sharp to the pitch. (F-sharp is written ^F
)
^
for a double-sharp. ^^
_
before the letter to add a flat to the pitch. (E-flat is written _E
)
_
for a double-flat. __
=
before the letter to add a natural to the pitch (E-natural is written =E
)C
denotes C4 (middle C), and a lower-case c
denotes C5.'
after the letter to raise it an octave, or you can add a comma ,
after a letter to lower it an octave.
C,
c,,
c'
- but you could also write it by affixing two apostrophes after an upper-case “C” - C''
L: 1/4
in your header, all pitches will default to a quarter note length.L: 1/4
in your header, but would like a half-note, you only need to add a 2
after a note name. If you add a 3
, you will get a dotted half-note. If you add a 4
after a note name, you will get a whole note. Etc.L: 1/4
in your header, but would like an eighth-note, you only need to add a /2
after a note name. If you add a /4
after a note name, you will get a sixteenth-note. Etc.|
.The last basic function that you may want to use is adding voices and changing clefs.
Both of these are done using the “voice” V:
option.
Take the following example:
Try creating new music at the ABC Playground. Use Chrome browser for the full functionality, allowing you to enter ABC, render notation, play music, and download MIDI. Click the “print” button to print out your rendered notation or save as PDF.
Because ABC notation is a well-established notation standard, there are many websites that offer excellent tutorials on how to enter music using this method. If you would like to learn more about the advanced capabilities of ABC Notation, please visit: