Beatbox notation

When music is written down in a formal way, people can work on it. A rigorous notation gives beatboxers the ability to record, modify and experiment with their beats in much detail. Such a notation also aids to exchange beatbox patterns and learn from each other.

Mark Splinter and Gavin Tyte of Humanbeatbox.com already developed the Standard Beatbox Notation, which meets these needs for the most part. I think the system can be further improved. In particular, software must be able to process whole beatbox scores and play them back. So the following text defines a beatbox notation from scratch.

Sounds and fillers

First of all, let’s formalise the core of beatboxing: timed sounds. Have look at this example:

b  t  pf t |b  b  pf t |b  '  pf b |t  t  pf t |

One of the most important elements is the sound, which has a name and can happen at different times. The three sounds in this example are b, t and pf. Every instance of a sound has its own time when it happens, which is defined by the place of the first character of its name. Until now a vocabulary associating sound names to real sounds like a classic kick drum is not specified, but only the abstract notation.

What would music be without timing? To time sounds, characters called fillers can be used. The space , rest ' and bar | are all the possible fillers. Being silent, fillers just help to place sounds in time. Sounds must be separated, otherwise they are interpreted as a single sound name. As the first example shows, the number of fillers between sounds can vary depending on how long the sound name is.

The general principle is that each character has the same duration, no matter whether the character is part of a sound name or a filler. So keep in mind that the number of fillers is relevant! For this reason, monospaced fonts prove very convenient while editing beatbox patterns.

The beatbox notation uses Unicode characters. In fact, sound names can be composed of letters, marks and numbers according to the Unicode General Category. For example, it is no problem to use hangeul, the Korean alphabet:

ㅂ ㄷ ㄷ ㄷ|ㄱ ㄷ ㄷ ㄱ|ㄷ ㄷ ㅂ ㄷ|ㄱ ㄷ ㄷ ㄷ|

Lines and staves

Sometimes a sound name is too long and would touch or even overlap characters of the next sound. For this purpose, a beatbox pattern can be distributed over several rows separated by one newline. A newline is a special sequence of characters separating rows of a text. The following example shows how it works:

b      |       |    b  |       |
  t t t|  t t  |t t   t|  t t t|
       |psh   psh      |psh    |

These rows are called lines. They superimpose like waves and must be interpreted as happening at the same time. Lines can also serve the visual structure of a beat.

In case there are at least two newlines between lines, they do not happen simultaneously. Instead they are queued, one taking place before the other. Therefore, the very first example is equivalent to the following:

b  t  pf t |b  b  pf t |

b  '  pf b |t  t  pf t |

This is not the same as:

b  t  pf t |b  b  pf t |
b  '  pf b |t  t  pf t |

Please note the number of newlines! The last example mixes the two lines together, which would be quite challenging to beatbox. Such simultaneous lines are defined as a stave. It is recommended to break long beatbox patterns into multiple staves. The next example consists of three lines and two staves:

b ' t t|psh b '|t t b '|psh t t|

b ' b b|psh b '|t t b '|psh t t|
       |       |       |  b    |

Comments and scores

While working on a beatbox pattern, the need to add notes in natural language may arise. Such metadata can be marked as a comment, so that it is not interpreted as part of a beat. Comments begin with the character # and end at the next newline. Just put this comment character in front of a line to silence it. Here is an example with three comments:

# Recommended tempo: 16 characters per second

b ' t t|k ' t t|# More beats needed here.

' t ' t|k ' t t|

#b t t t|k t t k|t t b t|k t t t|

All the staves as well as comments of the same beatbox pattern together form a score.

Formal definition

The beatbox notation is a formal language and thus can be specified by a grammar. In order to define the syntax, we use the Extended Backus-Naur Form from Unicode (The Unicode Standard, Appendix A: Notational Conventions). Beatbox scores are specimen of the construct Score. The following are all productions.

Please note that the representation of a newline varies between operating systems. However, it is recommended to use the character line feed with the code point U+000A.