Two hexadecimal ("hex") digits (hex = to the base 16) are a common way to represent a byte value. Since the decimal ("dec") system only has 10 different ciphers, the required additional 6 digits are represented by the letters "a" to "f" (or "A" to "F").
One of the advantages of the hex system is that with a little practice, it can easily be translated to binary ("bin").
In the following table we represent the 16 possible values for 4 bits (24 = 16) along with the hex, dec notation, and corresponding rhythm pattern. (4 bits, i.e. half a byte, is also called a "nibble").
The dec value of a 4-bit bin number can be calculated by multiplying the leftmost digit with 8, the next with 4, the next with 2, and the last with 1 and summing the resulting numbers together. E.g. the bin number 1101 is 1 * 8 + 1 * 4 + 0 * 2 + 1 * 1 = 13 (hex: D)
The corresponding representation for 8 bits is done by concatenating two hex digits, e.g. 1011 0110 in hex notation is: 1011 (=B), 0110 (=6), thus the hex notation is B6. This can be extended to any number of digits, i.e. for a 16 bit value 4 hex digits are required, e.g. 1011 0110 0010 0101 equals B625.
However, by mapping rhythmic patterns to the binary system, musical transformations on a pattern can be performed by simple arithmetic operations (as explained below).
A second advantage is the concise notation: 16 different patterns can be discerned by a single cipher. This way of referring to rhythms fosters reading music more efficiently: The reader identifies rhythm patterns as "words" as opposed to single "letters" (like the "rhythm counting" language that identifies each single of 4 16th notes with the syllables "one - e - and - a ", or the Eastman Counting System). The word-oriented learning/teaching of rhythm patterns is more in the tradition of Zoltán Kodály and Edwin Gordon. See also this article.
Using the binary notation, this shifting is done by multiplying the corresponding number by 2 or by dividing it by 2.
E.g. the original pattern "6" (0110) is shifted left in musical time by multiplying it by 2, resulting in 6*2 = 12 (hex:"C", bin:"1100"). Shifting it right by 2 means dividing it by 2, resulting in 6/2 = 3 (bin: "0011").
Remark: When shifting a pattern of the form 1xxx to the left by multiplication, the first "1" would be lost. Likewise, when shifting a pattern of the form xxx1 to the right by division, the last "1" would be lost. For this reason, a circular shift operation should be used instead of just a division or multiplication.
E.g. what is the complementary pattern to the given pattern 1010? 1010 is the pattern "A" (dec: 10). 15 - 10 = 5, bin: 0101.
Next, the first person sings a rhythm and the other person sings the same rhythm shifted to the left and then to the right in musical time (by first determining the pattern identifying number and then dividing or multiplying the number and then singing the pattern identified by the resulting number). Or the other person sings the complementary rhythm (by first determining the pattern identifying number and then subtracting that number from 15 and then singing the pattern identified by the resulting number).
I'm still working on the arithmetic operation to create the reverse of a given rhythm, e.g. 1101 reversed would be 1011. Considering that it's the pairing of 16 patterns with another 16 patterns it might be worth just learning them by rote...
This principle should be extended to ternary rhythms and odd meters.
© Bernhard Wagner, April 13th, 2009.