Professional Documents
Culture Documents
Constructing Rhythmical Canons
Constructing Rhythmical Canons
Constructing Rhythmical Canons
Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at .
http://www.jstor.org/page/info/about/policies/terms.jsp
.
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of
content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms
of scholarship. For more information about JSTOR, please contact support@jstor.org.
Perspectives of New Music is collaborating with JSTOR to digitize, preserve and extend access to Perspectives
of New Music.
http://www.jstor.org
? 4?4
4
1?
Andranik Tang?an
1. Introduction
2. Problem Formulation
Consider Johnson's (2001) rhythm and its coding by zeros and ones
with respect to a pulse train of sixteenths:
11001
We are going to build rhythmic canons from this pattern and its augmen
tations shown in Example 1.
Pattern
Musical Progression of tone onsets
number Meaning and empty beats
Theme 11001
Example 2 depicts the score of a rhythmic canon (that is, the one
which satisfies both assumptions).
Beat number
Voice Pattern
number number
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 0 0
0 10 0
Simultaneous onsets
(pulse train)
"
The canon code "11211 is the succession of patterns as they enter in
the canon given in the second column of the table in Example 2. In the
score, ones are tone onsets, zeros denote sustained tones or,
(tied notes),
if the composer elects, sixteenth rests within the pattern, and periods
denote sixteenth rests outside the pattern.
Coding a rhythm by a sequence of zeros and ones is feasible for all nota
tionable rhythms, provided the reference pulse train is sufficientlydense,
being a common divisor of the durations considered. For instance, a quar
ter note, two eighths, and three eighth triplets can be coded as follows.
j n m
100000100100101010
Pk i?> p(x)xk.
= l 1 1 1 10 =
P+P2 1<?> p(x) + p(x)x2 p(x)(l +
x2).
= 11012001 =
P+P3 <?> p(x) + p(x)x3 p(x)(l +xs).
= 1 + x2 + xs + x10.
p(x)q(x), where q(x)
= = x* , (1)
p(x)q(x) In(x) ?i = 0
where n is the sum of degrees of p(x) and q{x). In this case, the length of
the canon is n + 1 beats.
Proof. Indeed, if such a canon exists, the polynomial In(x) from for
mula (1) is divisible by p(x), and the result of the division, that is, some
polynomial q(x)y is unique (Van der Waerden 1931). It means that the
beats of entries of pattern Pare uniquely determined, and the only free
dom left is how to assign the patterns to voices. Q.E.D.
P{J)<?>p(x2J).
=
p(x)q(x) + p{x2)qY{x) + p(x4)q2(x) /,(*), (2)
= 1 + x2 + xs + x
q(x)
ft(*)?*
=
q2(x) 0
= 1 + # + . . . + x14.
In(x)
- I
pq + pxqY + p2q2
= 100
5#+7^ (3)
C = where =
{nln2...Ki}, 7t? 1,2,3,
where 1 stands for the pattern P, 2 for its augmentation, and 3 for its
double Now canons can be constructed enu
augmentation. rhythmic by
merating successions of numbers 1,2,3 as candidates for canons and sort
ing out inappropriate ones. More specifically, do the following:
Thus C is destroyed from the top, appended to the bottom, and some
selected elements of C are moved to 5.
This sorting algorithm resembles the famous sieve of Eratosthene
(284-192 BC) for finding primes:
Ifwe remove an element (in our case, a candidate for canon) then
we delete the branch with all its descendants that stems from this
element.
The list of selected canons has no repeats in the sense that no smaller
canon is a part of a larger canon. Indeed, if a canon is accomplished then
it ismoved from the list of candidates to the selected list, leaving no
descendants in list C. Thus, each selected canon is continuous, with the
end of a rhythmic pattern in one voice occurring in the middle of a
rhythmic pattern of some other voice.
The algorithm does not miss any canon, because it is based on enumer
ating all successions of numbers 1, 2, 3. Due to restrictions imposed by
Assumptions 1-2, the number of branches retained remains within oper
ational limits, enabling us to perform computations in reasonable time.
The implementation of the algorithm includes several important
devices. First of all, the list C of candidates for canon should be stored
and processed by portions to avoid a long processing time and running
out of memory. In my implementation, the list C is stored in a series of
temporary files, while keeping in memory only the first file (to be
destroyed from the top) and the last file (to be appended from the bot
tom up to a certain size, afterwhich a new file should be opened).
Moreover, for each candidate for canon, its pulse train after the first
gap should be saved. It prevents from reconstructing the pulse train
while appending a rhythmic pattern to the current candidate for canon.
The program has been written in the MATLAB (= MATrix LABora
tory) C++-based computer programming environment for matrix and
vector operations. The program output is a filewith rhythmic
L^TgXtext
scores of canons as in Example 2. A typical processing report for a pro
gram run on a PC with a Pentium II 300 MHz processor (note that
MATLAB) is not a compiler but an interpreter) given in Example 3.
is
These reports are helpful for composition. One can see that the num
ber of canons found is large, so it is not convenient to examine all of
them. For compositional tasks, some additional selection requirements
may be formulated. Besides finding canons the program also classifies and
selects canons according to several useful criteria:
length
maximal number of simultaneous voices, which indicates the num
ber of instruments with which the canon can be performed
5. Example of Application
G-?D C->G
Transition 1 7-18 Canons No. 2 and 3_
112113311211 + 112113322221
C->C7 F-iF6"
Transition 2 19-30 Canon no. 4, twice _
111312112111 + 111312112111
Exposition
Dm-?A' Dm->F6
Theme 2 31-42 Canon No.
29_
112I2223321113121121?1
G,E7,Dm6,A7C,A7,Gm6,D7 F-*G7
G D,B7,Am6,K7
Var. Trans. 2 85-96 Canon No.
Development 49_
1131211131211312112111
Cm~>Ai>
Theme 2 97-108 Canon No. 29, C-?E7
Var. Theme 2 109-20 Canon no. 55, D-?G+
6. Generalizations
110110...
with our three patterns from Example 1. A candidate for such a canon
solution is shown in Example 6.
100010000 0
10100000 1
.110 0
Simultaneous onsets 0 11
The difference is that the sorting algorithm must fit given patterns not
to the regular rhythmic grid but rather to a user-defined one. Then the
resulting polynomial in equation (2) is
310121013101...
11111111110 Oil
junction
Note that the length of a junction cannot be longer than the longest
pattern considered minus two beats, in our case 15 beats. Not all junc
tions are possible. There is a finite number of junctions, and for every
two junctions theremust be a bridge (= a sequence of patterns providing
a transition from one junction to another). Knowing all the bridges
enables the constructing of rhythmic canons of arbitrary length. Then
constructing canons can be reduced to manipulating a finite number of
building blocks (like in puzzle games).
7. Summary
CD
oo H > o z
*!o
^5 0* hi i-?tu
51.11001
111001..
4 .
32.101000001.
Score
CANON
15
NO.
OF
1BEATS
LENGTH
WITH
SIMULTANEOUS
3VOICES
AND
PATTERN
MEAN
NO.
1.2
1..11001.
2
11001.
1
Pattern
Voice
001 10
1.0
1
0 o
0 0 01.. 10
10
0 1oo 0
110
CANON
2OF
NO.
LENGTH
30
BEATS
4SIMULTANEOUS
WITH
VOICES
AND
MEAN
PATTERN
1.6
NO.
01.. 10
001 0
10
1
0
0 1... o10
1o
1
0
110
0 1.
0 001
1
0
1
O
0 0 0
1 0 10
0 10
10
0
1
0 10
0 10
CANON
NO.
3OF
LENGTH
BEATS
30
6VOICES
WITH
SIMULTANEOUS
AND
MEAN
PATTERN
NO.
1.9
01. 01.. 0
10
1 0
10
0
0
1
0
110
1
Pattern
1 1 2 1 3 3 2 2 2
9 10
010
0 1
0
0
10
0 0 1.. 1
0
110
1
0
Score
1
CANON
NO.
4OF
LENGTH
BEATS
30
4SIMULTANEOUS
WITH
VOICES
AND
MEAN
PATTERN
NO.
1.4
0 0
1... 10
10
o
110
0
1
0
1
1
0
110
9 10
000011001.
001
01
0000000000 001.
. .1010
1_ _1
0000010000.1100.11
..
100011000
0001 001.
11
10100
01
110
00001
01.
Score
0000000000000011001.1100
CANON
29
NO.
OF
LENGTH
60
WITH
BEATS
5
VOICES
SIMULTANEOU
AND
MEAN
PATTERN
NO.
1.8
1
00000001001010
1
10
0000010001
001
01.
101
0001.1000001000
1
. 1010010
01.
110
11001
Pattern
1 1 2 2 2 2 3 3 2 1 1 1 2 1 3 3 1 1 2 1
1 2 3 4 5 6 7 10 11 14 15 17 19 20
Voice 12 13 16 18
11001
0001 001.
10100.11
..
00000 0001.001.
. 11001
. 1010011
0000001.
110
10001
01
00000 0001.001.
. 11001
Score
11
0000001.. 10100
CANON
NO.
49
OF
LENGTH
BEATS
60
WITH
4SIMULTANEOU
VOICES
AND
MEAN
PATTERN
NO.
1.5
110
10001
01
00000 11001
0001 001.
.
. 11
00000 10100
01.
. 10001110
01.
110
11001
Voice Pattern
1 2 3 4 5 6 7 8 9 13 15 16 18 19 20
10 11 12 14 17
11001
0001 001.
10100.11
..
01
110
00001
01
0000000000000011001..1100
1
00000001001010
1
10
0000010001
001
01
Score
101
000000000001.. 1001.
1 CANON
NO.
55
OF
LENGTH
60
WITH
BEATS
5SIMULTANEOU
VOICES
AND
MEAN
PATTERN
1.7
NO.
110
0000010000
01
00000 0001.001.
. 100011000
. 1010011
0000001..
.
. 110
10001
01.
11001.110
.
1
Pattern 1 3 1 2 1 3 3 1 1 2 3 3 2 1 1 1 2 1 1
1 2 3 4 5 6 7 8 9 10 11 12 14 15 18 20
Voice 13 16 17 19
DQOOl
101C
101(300001,....
lOlDOOOOl_
MWOGlOiOODOO'l.
iOOfljlOOOfl
DOl..
POOOIDOOOCDOOOCDI...
J1D01
.IQHXtXXH
01
A10
not
iCDQiocotwocboooi]
11001
B0??1
101C
1?1W0OC&
lOOQipOOOCDOOOCpi
IPIOOC
[X)l
.lClO?OflDl.
.|l()l(XtXX)i.
,11(1)1.
Scott;
iiodb
ooiocooaoc
ooooii
id90001]
11001
101C
CANON
8005
NO.
LENGTH
BEATS
OF
120
WITH
PERIOD
10WITH
SIMULTANEOUS
6VOICES
MEAN
AND
PATTERN
NO.
1.9
tXMXX
KXX)1?XXXM
01
101000001
ipiOOCDOt
1CIOOOC?1
jouxrxx)!.
pi.
nc
poooil,
nod
nooi
.101C00OO1
.ICOOlOCDOOiX
KXK)l[XKXK0OO(X
1O1D000U
.ffilOOflDOl
idioooctn.
loiomou!.
?ISul
1 2 2 2 2 3 2 1 1 1 2 2 2 2 3 3 2 1 1 1 2 2 2 2 3 3 2 1 1 I 2 1 3 3 2 2 2 2
T
V-ccjPafclr
Notes
The author thanks Tom Johnson for fruitful discussions and thoughtful
reading of the draft of the paper and Professor Robert Morris for numer
ous suggestions which improved both the content and the style.
References