Page  00000206 FROM FUX TO RAGAS-MORPHING CONTRAPUNTAL WORLDS Julien Junod University of ZUrich, Department of Mathematics ABSTRACT The mathematical modeling of classical counterpoint in [Maz02] complements the classical Fux system [Fux42] by five other "exotic" systems of rules for composition. They all derive from the same algebraic model, but only the traditional Fuxian system has been used by musicians, leaving five unexplored counterpoint worlds for the composition of new music. In this paper, we present and discuss concepts, algorithms, and the implementation in software modules of the Rubato composer system [MM06] for the possible morphing transitions between these systems. This enables the creation of exotic contrapuntal compositions by structural transport. To do so, we represent authorisations and interdictions within different counterpoint systems by directed graphs. Morphing contrapuntal compositions from one world into contrapuntal compositions compliant with the rules of another world then reduces to the construction of a set of distinguished digraph morphisms. This shows that the worlds do not only coexist independently: a procedure is given to morph music from one world into an other, thus connecting them to a network of contrapuntal travels. Using our Rubato implementation, composers can play with counterpoints by exploring a complete catalogue of possible transformations. 1. INTRODUCTION Transformations and symmetries are well known tools for musical composition and analysis. Accordingly, the counterpoint model described in [Maz02] is based on symmetries in spaces of pitch and interval classes, in particular on the unique polarity symmetry y = 5x + 2 that transforms the common contrapuntal consonances (prime, minor and major third, fifth, minor and major sixth-attention: the fourth is dissonant in that context!) into dissonancesand vice versa. The model exhibits a variety of six counterpoint systems depending on specific choices of "consonant" and "dissonant" intervals. The one built on the six common contrapuntal consonances yields the rules known from the classical system compiled by Fux [Fux42] in 1725. For example, the forbidden parallels of fifths are recovered from this mathematical model. The cognitive Guerino Mazzola University of Minnesota, School of Music University of ZUrich, Department of Informatics relevance of the polar symmetry has been confirmed by Depth-EEG investigations in the human hippocampal formation and auditory cortex [Maz02, ch. 30.2.2]. The five other systems do not seem to be used in world music culture. However, one particular exotic system may be related to raga music. It is the one where the "consonances" are the six proper intervals from the tonic of the major scale: major second, major third, fourth, fifth, major sixth, and major seventh, and is therefore called major dichotomy. As was observed by Anna Schultz [Sch07], it relates to the seven-element mela scale Gayakapriya in the Agni Charka scales in so far as it plays the same role as the major scale for Fuxian counterpoint: it allows for maximal freedom in this system. It is remarkable that in turn, its pitch classes are those numbers appearing for Fuxian consonances, but see [Maz02] for details. one input transformations classification many outputs user settings | -L // ". S- I tree counterpoint rules Figure 1. The BollyFux rubettes - plug-ins operating on the Rubato platform - are a collection of tools for transforming notes of an input score into contrapuntal intervals, displaying strict digraphs associated to counterpoint worlds, parametrising and visualising counterpoint transformations, browsing through the classification tree of possible transformations, and generating output scores. The tool we propose allows systematic exploration and classifications of the possible transformations of given elementary counterpoint compositions (first species: note against note) between any two of the six worlds, letting musicians choose a composition fulfilling specific requirements, if available, or discover unexpected variants, as 206

Page  00000207 shown by the workflow from the Rubato implementation in figure 1. Section 2 outlines the mathematical theory of counterpoint worlds presented in [Maz02] and then describe the mathematical structures for travelling between these worlds. Section 3 introduces graph theory as a natural tool for representing counterpoint worlds and their morphisms. A first step towards efficiency of a morphism search algorithm is achieved by reducing order and size of counterpoint digraphs. Section 4 shows how the particular structure of digraphs resulting from algebraic properties of the mathematical model can be used to obtain further enhancements. In section 5 we discuss the algorithms implemented for finding inter-world transformations and illustrate this procedure with an example on how to transform a counterpoint according to Johann Sebastian Bach into a new counterpoint composition compliant with the major dichotomy and the mela scale related to Indian ragas. 2. COUNTERPOINT WORLDS The mathematical theory of counterpoint rules [Maz02] deals with the simplest case, namely the note against note style, which dictates how to superpose a second voice, the discantus, to a base voice, the cantus firmus, both voices playing simultaneously. There are two sets of rules. The first splits the intervals between the two voices according to a consonancedissonance dichotomy A, telling which ones are the "consonant" intervals, i.e., the ones by definition allowed for the note against note style; the remaining intervals, called "dissonant", are strictly forbidden in this style. From this choice depends a second set of rules that dictates which steps between successive consonances are allowed. To meet the principles of the counterpoint model, only six isomorphism classes of dichotomies are admitted. They are called strong dichotomies and show the appropriate algebraic properties: they must posses a polarity function pA, namely a bijective affine transformation of Z12 exchanging consonances and dissonances. Moreover, the set of consonances must be rigid, i.e., the identity is their only internal symmetry. This generates the six counterpoint worlds shown in table 1. World 82 has the familiar prime-thirds-fifth-sixths consonances, it is the world yielding the classical Fuxian rules. The major dichotomy is class 64, this one is associated with Indian mela scales. The numbering of the dichotomies relates to the classification of pitch class sets in [MazO2]. These rules concern only pitch classes in Z12. But the roles of both voices are not the same: the discantus is an enrichment of the cantus firmus, so we must keep track of the pitches of each separately. This leads to the definition of a contrapuntal interval as a dual number [ Har77] consisting of a cantus firmus x e Z12 and an interval y e Z12 separating the discantus form the cantus firmus: (:=x++.y E 12[c (1) Table 1. Strong dichotomies in Z12: Class number of A, consonances K, and polarity function pA. A K PA I I _ 64 68 71 75 78 82 7 3 3 4 4 7 9 5 6 5 6 8 11 8 7 8 10 9 5 + 11x 6 + 5x 11 + 1~x 11 + 1~x 9 + 1~x 2 + 5x We will simplify the dual number notation for contrapuntal intervals by writing y,:= x + E.y. The model understands a counterpoint composition as a sequence p (ý 1I... k) of contrapuntal intervals. For any set SC Z12, and numbers xo, Ax e Z12,we introduce the following frequently used sets of contrapuntal intervals: SX0oAX:={fy yeS and x e xo + Z - Ax}. (2) For a set representation S ={Yi,.... Yk } we also write Sxold = (Y1..... Yk xo|Ax. All counterpoint worlds rule the usage of the same set of contrapuntal intervals Z12 [E], and differ only in their choices of consonances K [E]:-=Ko11 and allowed steps. We define the polarity function p* associated with pA by A K[]- D[E] x + e.y x + e.PA (y) (3) it preserves cantus firmus and maps a consonant interval into its correponding dissonance. Definition. A counterpoint world C is a triple of two indicator functions and a polarity function C:= (K,, pA) that define the consonances (4) (5) K: Z12 [El] ){0, 1}, where K [E] =- 1 (1) for the consonance set K, which is the domain of the polarityfunction pA: K D Z12 - K on the set K C Z12 of the dichotomy A (K, D), and the allowed steps o: 12[E l 12[E2 ) {0,1}.f (6) It happens often in practice that we are not concerned with all 144 contrapuntal intervals at the same time, but only a part of them is used by a particular counterpoint composition p. Definition. A counterpoint subworld C' of a counterpoint world C (K,o-,pA) induced by a set of contrapuntal 207

Page  00000208 intervals S C Z12 [] is the 4-tuple (U, ', o', PA,) defined as follows: u:= SU p (S) (7) K': o': S-{0, 1} u x U --{0,1} where i:= KU (10) ':= oU (11) PA, = PA (12) If one considers the entire counterpoint worlds as subworlds of them selves induced by the complete set of contrapuntal intervals S Z12[c], then the definition of a counterpoint subworld can be applied to complete subworlds as well as as only a part of them induced by a particular counterpoint composition. From now, we will always write counterpoint world and mean both worlds and their subworlds. We want to travel from a world C = (K, o, pA) to any (not necessarily different) world C' = (I, a, pA). To achieve this, we have to preserve the additional structure that distinguishes a counterpoint world from a simple set. Definition. Let C and C' be two counterpoint worlds. A set function 0: Z12[c] -) Z12 [c] is called a counterpoint world morphism between C and C' if it preserves authorisations and interdictions ' o () = () V Z12[E] (13) o- ( (0o), 0 (1)) =o (O (01) V,1 Z12[E] (14) and also the duality, i.e. commutes with the polarity functions: K[e] D[c] (15) K'[e]. > D' [E] Counterpoint world morphisms have an identity, and they are closed under the associative composition of functions. Counterpoint worlds and their counterpoint world morphisms thus form the objects and arrows of the category of counterpoint worlds &tp. Our task is to construct all possible counterpoint world morphisms between the six counterpoint worlds, and later on between suitably defined sub-worlds. In other words: We want to give a complete description of the category &tp. 3. STRICT DIGRAPHS Beside some marginal discrepancies in authorisations and interdictions, a structural difference between the mathematical model and the empirical fuxian rules is that the former never uses more than one step to determine if a contrapuntal interval is an allowed successor, while it can happen that several steps are needed in the latter, for example when handling some fifths and octaves. This simplification allows any counterpoint world C to be identified with a directed graph (a digraph) G by means of the step indicator function o that plays the role of an adjacency matrix. To make musical compositions possible, allowed steps must be far more abundant than forbidden ones. Table 2 shows how the proportions of interdictions vary from 78% to 88%, depending on the counterpoint world. Since counterpoint world morphisms respect authorisations and interdictions alike, it does not matter which one we choose to build the arrows of the digraphs, so we take interdictions that contain the relevant information and provide spare digraphs, much more efficient in terms of memory storage and algorithmic computations. The preservation of dissonances (13) and duality (15) also allows to concentrate only on consonances. The dual dissonances are redundant and their mapping 5 can be derived from the mapping of the consonances go:= 4|\K[e] by conjugation with the polarity functions. This means that we define for E Z212 [] _ 0 W() E Ki[e] S(v) "-f P 0~ o (p*A)-' (ý) ( e D[E] (16) We take advantage of these two facts to define not the straightforward digraph containing all contrapuntal intervals and all allowed steps, but a digraph with 50% less vertexes and about 75% less arrows. Definition. A strict digraph G = (V(G), A(G)) is a reflexive simple digraph: it has no multiple arrows, but it has loops in every vertex, in other words: A(V(G)) C A(G) C V(G)2. A morphism of strict digraphs f: G - G' is a digraph morphism that also conserves abscense oJ arrows. Since strict digraphs are simple, f can be identified by its action on the vertexes. Together with strict digraph morphisms, strict digraphs build the strict digraph category G&ig, a subcategory oJ the category ig of digraphs and digraph morphisms Here are our typical examples of strict digraphs from counterpoint: Definition. The strict digraph G(C) = G associated with a counterpoint world C is the strict digraph G, whose vertexes are the consonances V (G):= K[e] = {( e Z12[El]IK() = 1}, (17) and the arrows correspond to the forbidden steps: A (G):= {(0o, 1) K[e] x K[e]o- (o, o1) = 0}. (18) Counterpoint worlds and strict digraphs are related by the following strict digraph functor:: p -> ig C 9 gC (19) 6 )90Q 208

Page  00000209 The assignment of objects is injective, and the functor is fully-faithful, i.e., g is an isomorphism of (tp onto a full subcategory of strict digraphs, so it is equivalent to explore all possible transformations among counterpointgenerated digraphs in 1)ig. 4. QUOTIENT DIGRAPHS Grouping vertexes that play an equivalent role in the digraph gives a better insight into the counterpoint world's structure, see for example the Fuxian world in figure 4, where the famous interdiction of fifth parallels appears as the single component (7)o011. On the algorithmic level, such a simplification reduces the number of combinations to check in backtracking, and allows early pruning of the search tree. We now formalize this idea with quotients of digraphs and their morphisms. Definition. The quotient digraph G/. of a strict digraph G with respect to an equivalence relation ~ on V (G) is a digraph, whose vertexes are the equivalence classes 2. Strong equivalence ~s. Consonances are identified iff they belong to the same strongly connected component, i.e. iff they can be connected by paths (succession of interdiction arrows, all in same direction) in each direction, 1 s ~o:o= 3 ]0 1- and (io-paths in G (24) 3. Homogeneous equivalence ~. Consonances having identical in-out-neighbourhoods are identified. 1 ~"-- o:N N_ (&1) = N_ (so) and N+ ((1) = N+ (fo) (25) Since counterpoint world morphism 5: C -- C' preserves both allowed and forbidden steps (14), and since the three relations wv, vs, and ~N are also compatible with all strict digraph morphisms in the sense of (21), the diagram (22) enables induced quotient morphisms of the digraph morphism Q6: G = QC -- C' = G': v (G/):= V (G)/, (20) and the arrows reflect the existence of connections between equivalence classes, i.e., A (G/ ) = (A(G/ )), r.: V(G) -- V(G/ ) being the canonical projection associated with ~. For an element x e G, we denote by x/ ~ its equivalence class. The canonical projection r.: G - G/. is a digraph morphism but not necessarily a strict digraph morphism in that interdictions may be mapped into authorisations. However, we have this lemma: Lemma. Let g: G - GC be a strict digraph morphism. Let ~ and ~' be two equivalence relations defined for G and G', respectively, such that the compatibility relation W~f: G / ~yy -- G' / ~'y Sw: G/ ~s G'/ ' 'HF)~: G/ N'u -^ G' ^ (26) g(x/ ~) = g(x.)/ -' (21) holds for every x e G. Then there is a unique strict digraph morphism Wrg: G/. - G'/, such that the following diagram of digraph morphisms commutes that are also strict digraph morphisms. We use the notations G/ -w= W(G) = W,G/ -s= S(G) = S, and G/ = 2i(G) =H if no confusion is likely. Two remarkable properties distinguish strict digraphs associated to counterpoint worlds from general digraphs and justify the usage of the quotient digraphs introduced above: 1. Strongly connected components form cliques. This remarkable consequence of the algebraic structure of counterpoint worlds is true at least for the familiar case of twelve semitone scales, as can be verified from the interdiction tables in [Maz02]. 2. Strict digraphs are reflexive. As mentioned above, a same contrapuntal interval can never be repeated so there is a loop attached to every vertex. A vertex forming a 1-clique K1, its preimage through a digraph morphism has to be complete, too. Strong components can thus behave just like single vertexes. And that homogeneous component indeed form a refinement of strong components follows from the fact that any vertex belongs to its own neighbourhood, because it has a loop. Preservation of interdictions in (14), together with the completeness of strongly connected components ensures that S is injective, as well as the preservation of neighbourhood guarantees injectivity for T7-Z. But this is not true for Wlz5 since two small weak components could be mapped into a bigger one without the neighbourhoods to overlap. G - - G' in 1 1,7F G/ G/ (22) We will consider three equivalence relations of increasing strength on strict digraphs G = QC associated with counterpoint worlds C: 1. Weak equivalence ~vw. Consonances ( E V (G) are identified with each other iff they belong to the same weakly connected component, i.e., iff they can be connected by a walk (succession of interdiction arrows in any direction): -1 ~w fo:= 3 a ~o~1-walk in G (23) 209

Page  00000210 Seen as subsets of K [E] x K [E], the three equivalence relations can be linearly ordered: idK[] SC (27) and their respective functors factorize: C a>G-A H S-A> - W (28) g g4o -H 4 s4o vv4 C' ->G1C' -y- H->H' S' / W/ Table 2. Parameters of the strict digraphs G. Dichotomoy index A, order n and size a. Graph parameters of the quotient graphs W, S and H. 5.1. Strategy The algorithm takes two counterpoint worlds C and C', not necessarily distinct, on its input and returns a classification tree 4 on its output, containing all possible counterpoint world morphisms 0:5 C - C'. The same method also works for subworlds of counterpoint worlds, which on the digraph level means subdigraphs induced on subsets of consonant intervals. Usually, C is a subworld restricted to a particular counterpoint p, and C' an entire counterpoint world. For such subworlds, we however use the induced equivalence relations an not the equivalence relations generated on those sub-digraphs! To achieve this, we progress along the arrows of diagram (28) in the reverse direction to build the morphisms from the coarse weak component mapping and end up with the fine mapping of consonances go, from which we reconstruct the complete counterpoint world morphism. The procedure occurs in the following steps: 1. For each counterpoint world, compute its associated digraph. A 64 68 71 75 78 82 n (G) 72 72 72 72 72 72 a(G) /12 96 78 96 82 80 50 n (W) 3 4 1 1 1 6 n (S) 8 9 8 14 13 18 n (H) 8 9 10 20 22 18 a(H) 13 14 24 59 96 30 G:= 0 (C) (29) 5. ALGORITHM A systematic explorations of possible counterpoint world morphisms 0: C ->C' of by backtracking is feasible only if the search tree gets pruned as soon as possible [Ski98], thus it is essential to significantly reduce the number of maps to check for structure preservation. Notice that trying all assignments between the 72 consonances of two counterpoint worlds represents 7272 5.3 - 10133 combinations. A classical way of excluding unnecessary cases is the usage of graph parameters. In- and out-degree work for non-regular graphs like strict digraphs. They are easy to compute and because of arrow preservation, vertexes can't be mapped to vertexes of lower degree unless their neighbourhood forms a clique. Most of the time, such criteria alone are not sufficient to efficiently reduce unnecessary searches. The particular structure of strict digraphs can be used to further improve this technique. Diagram (22) tells that all members of a single component can only be mapped into a single component, limiting the number of possible assignments. If we investigate the quotient morphisms from the coarsest Wb to the finest H0, we can always use the coarser morphism computed at the previous stage to serve as a guide for mapping finer components. Quotient digraphs have also the advantage of being of lower order and size than the original strict digraph. This strategy has the advantage of reducing the amount of computation needed, and creates a classification tree of morphisms according to their mapping of components. If there are any dissonances in the source world, map them to their respective dual consonances by means of the inverse of the polarity function p*, and add them to G together with their incident arrows connected to vertexes of G already present in the digraph. 2. Compute the quotient digraphs for the source strict digraph G. W:= W (G) S:= S (G) H:= -H(G) (30) Compute also the quotient digraphs W', S' and H' for the target digraph G'. 3. Verify the existence of morphisms. Because of the injectivity of So and HO, there must be at least as many vertexes and arrows in the target quotient digraphs as there are in the source. n (S') > n (S) a (S') > a (S) n (H') > n (H) a (H') > a (H) (31) If any of these inequalities can not be satisfied, then break and return an empty tree 4 0. 4. Compute all possible combinations of associating weak components between W and W'. Since the arrow set of weak quotient digraphs contains all the loops and only loops, they are similar to discrete 210

Page  00000211 GI... hih Figure 2. Freedom of mapping consonances inside homogeneous components. graphs. There is no need to care about arrows and it reduces to the listing of all set maps between V (W) and V (W'). Store each combination W by attaching it to the root of 4. 5. For each weak quotient morphism W in 4, compute all compatible strong quotient morphisms SQ wo:= {So: S - S'| Wob(s)CW) b(w)(, VsGe V(S),w e V(W):s C w} (32) and attach them as child nodes to their parent node Wo5in 4. 6. For each strong quotient morphism So in 4, compute all homogeneous quotient morphisms H4Pso:= f{O: H - H'| Ho(h) C Sob(s), Vh e V (H) Is e V (S): hC s} (33) that are compatible and attach them as child nodes to their parent node So in 4. 7. For each homogeneous quotient morphism Ho in P, enumerate all compatible set maps 94Ps:= G C -G>)G' go3(ý) C Ho3(h), Vý e V (G),Ih e V (H): C h} (34) and attach them as child nodes to their parent node Ho in 4. At this stage, once the mapping of homogeneous components has been decided, since they form cliques, and their members also have identical neighbourhoods, there is a total freedom of mapping inside homogenous components, see figure 2. 8. Rebuild the counterpoint world morphism 05provided by every leaf node 05, and apply it to C. 9. Map the contrapuntal intervals back into pairs of integral pitches and get the transformed score. The choices are not unique. Figure 3. Score of the original example counterpoint p. (8)4c, (8)216 (8)516 8316 (0)016 (4)012 (8)0|1CG ( )t, (4) t1|2 ( )tI (0)216 (0)41 c(0)316 (0))51 0(3, 9)013 (3, 9)t1|3 (3, 9)213 00 0(7) 01 Figure 4. Homogeneous quotient digraph of the Fuxian world 82. For readability, loops are not represented. Thick lines indicate components used by the example counterpoint p. 5.2. Example We now apply the above principles to transform a counterpoint p form the classical world 082 into an exotic one compliant with indian world 064 -The score of the source counterpoint is shown in figure 3. It uses only consonances, and makes ten allowed steps, thus corresponding to a discrete subgraph of G: G82 [P] of order 8, since the same minor third 32, major third 44 and the initial and final octaves 00 appear twice each. The components (3, 9)213 (7)0|1 and (8)516 are isolated components, weak, strong and homogeneous at the same time, see figure 4. They are interchangeable and can be mapped to any component not sharing any in- and outneighbourhood with the others. The more complex weak component containing (0)o1o, (4)012 and (8)012 can only be mapped into (2, 4, 7, 9)012 or (2, 4, 7, 9)112, see figure 5. Among the | WD | 6 possible choices for a weak quotient morphism, we can make the following choice for a weak quotient morphism ~2W b: (0)016 - (4)012 - (8)018 - (2, 4, 7, 9)o|2 (31 9) 213 m(21 41 71 9)11|2 (7)o 1 - (5, 11)ol1 (8)5|6 1 (2, 4, 7, 9)112 (35) At this stage there are SwP| = 2 - 2 - 2 = 8 possible assignments of strong components compatible with WO. 211

Page  00000212 Cantus firmus F Discantus.r d Figure 6. Score of the morphed counterpoint (p). Figure 5. Homogeneous quotient digraph of the "Indian" world 64. For readability, loops are not represented. Thick lines indicate components used by the morphed counterpoint 0 (p). We make the following choice for So: (0)o06 H (9)0|2 (3,9)213 H (9)112 (4)0o2 H (4, 7)01 2 (36) (7)011 H (5)011 (8)5|16 (2)112 (8)0o6 H (2)012 There is only one homogeneous quotient morphism So possible assigning exactly the same components, since the quotient digraphs are the same. Figure 7. Directed graph of "global" counterpoint morphisms. Number correspond to dichotomies A, and arrow indicate that there exist counterpoint world morphisms that map the whole counterpoint world into another. Automorphisms always exist. Note how the fuxian world 82 is independent from the other worlds. close to the original ones, yield the final transformed score shown in figure 6. Oo 32 35 44 74 77 85 80 h (0)0|6 (3, 9)213 (4)0|2 (7)011 (8)5|6 (8)o|6 h' / (9)o02 (9)1|2 (4, 7)0|2 (5)011 (2)11|2 (2)o|2 9o 93 95 74 54 57 25 20 6. CONCLUSION Table 3. Mapping of the contrapuntal consonances ( and the homogeneous components h of the counterpoint p. There are I|g4|ý = 466560 consonance mappings compatibles with the homogeneous quotient morphism of table 3. We take the g0 that preserves the cantus firmus, except for the minor third 32, whose mapping gets transposed by a semi-tone. One can see that the cantus firmus may change under a transformation, and a same interval not always gets mapped into a same interval: octaves and minor thirds get mapped into major sixths. A musician could reduce the amount of available transformations by filtering the classification tree for mappings that meet supplementary requirements like the preservation of cantus firmus or intervals, the usage of a particular scale, and so on. Note that too many criteria are hard to meet and not necessarily result in an available transformation. The contrapuntal intervals, once transformed back into usual pitches, in a way that places the transformed pitches We established the existence of counterpoint world morphisms and proposed a procedure to obtain, explore and classify them in a systematic way. Graph theory turned out to be a useful tool for formalising the problem, constructing morphisms and helping to visualise worlds. Not every counterpoint allows for an embedding into any counterpint world, a restriction due to their mathematical structure that is true in particular for entire counterpoint worlds, see figure 7. But if they exist, all possible transformations can be enumerated. This provides a catalogue of transformations musicians can browse through, find a morphism that may satisfy certain constraints, or even let them explore wilder variants. A better understanding on how the input dichotomy and its associated polarity function can shape a counterpoint world is still an ongoing research involving algebra and number theory. It is not known yet if the remarkable property that strong components build a partition of cliques is also also valid for different number of semitones. 7. REFERENCES [Fux42] Johann Joseph Fux. Gradus ad Parnassum (1725). Dt. und kommentiert von L. Mitzler. Leipzig, Leipzig, 1742. 212

Page  00000213 [Har77] Robin Hartshorne. Algebraic Geometry. Springer, New York, 1977. [Maz02] Guerino Mazzola. The Topos of Music: Geometric Logic of Concepts, Theory, and Performance. Birkhdiuser, Basel, first edition, 2002. [MMO6] Guerino Mazzola and Gerard Milmeister. Functors for music: The rubato composer system. Proceedings of the International Computer Music Conference, pages 83-90, 2006. [Sch07] Anna Schultz. Personal communication. 2007. [Ski98] Steven S. Skiena. The algorithm design manual. Springer, New York, 1998. 213