Page  1 ï~~THE BIGBANG RUBETTE: GESTURAL MUSIC COMPOSITION WITH RUBATO COMPOSER Florian Thalmann University of Bern Institute of Computer Science and Applied Mathematics ABSTRACT Inspired by the gestural aspect and the immediacy of human improvisation, the music composition software RUBATO COMPOSER [1] has been extended with realtime functionality. Its complex mathematical operations can now be applied using simple mouse gestures to create or transform compositions. The corresponding results are visualized from different perspectives anytime during a transformation, which encourages a more spontaneous and explorative way of composing. 1. INTRODUCTION Musical composition is situated between spontaneous human improvisation and algorithmic, computer-aided composition that is detached from human interventions. The former stresses gestural immediacy and feedback from the sounding realm, whereas the latter delegates the transformation of abstract rules into sounds to a computational dataflow. The delay experience between rules of composition and the resulting product is well known in serialism, for example, in the huge man-made calculations of Pierre Boulez for his famous structures pour deux pianos [2, 3]. Serialists needed a huge amount of time for calculation and hardly knew how their results were going to be. As already criticized by lannis Xenakis [4] and Gyirgy Ligeti [5], the resulting compositions were too complex to be analyzed by human ears during audition and therefore seemed arbitrarily structured. It is certainly not an ideal situation for any composer to delegate his or her thoughts to a complex external process, be it purely mathematical or computer-aided. The ideal would be to have all sorts of complex calculation processes, but to be able to assist to each component without delay and without being separated from the ongoing process stages. This is not only a desire of immediacy, but also of transparency. The result of every compositional operation should not only be observable after its application but also foreseeable. More intuitively speaking, one would like to compose gesturally like in free jazz, with the extension that these gestures can also be interactions with "visible" algorithmic processes. Guerino Mazzola University of Minnesota School of Music and University of Zurich Institut fuir Informatik In this paper we propose a music composition tool, which visualizes complex mathematical operations on musical objects and makes them accessible through simple gestures. 1.1. Facts about Geometric Composition Strategies Gesture theory in music has mainly been driven by instrumental interactions [6] and less by gestures dealing with abstract compositional strategies. The latter was addressed in a rather abtract if not metaphorical spirit by Boulez in [7], we discuss this approach in [8]. In this paper, we want to make these ideas more concrete in the case of geometric composition strategies. Is it possible to implement such devices in a gestural way as proposed above? To this end, let us recapitulate the general framework of geometric composition techniques. One is given a set C of notes (part of the prelilminary composition to be transformed) in a module M. Such a module is typically the n-dimensional real vector space R". A transformation then is an affine invertible map F T o L, where Tt(x) t + x is the translation by t e R, and L e GL(n, R) is a linear map. We want to calculate the F-image F(C) of C. As it is hopeless to handle a general n-dimensional transformation directly by intuitive gestures, we decompose the map F into intuitively more accessible factors. The first theorem used to do so states that any F may be written as a concatenation F = F1 o F2 o... Fk of transformations F, which, each, involve only one or two of the n dimensions and leave the others unchanged. The second theorem tells us that we may choose the Fi to be one of the following five musical standard operations: (1) translations Tt (in music: translation for pitch transposition or da capo in time), (2) reflections Ref, at a line 1 (in music: inversion, retrograde or parameter exchange), (3) rotations Rotc,a by angle a around the center c (in music: retrograde inversion (rotation by 180 degrees), or general rotations as proposed by Maurizio Kagel or Herbert Eimert), (4) dilations Dilc, A,, from center c by horizontal factor A > 0 and vertical factor p > 0 (in music: dilations in time for augmentations), (5) shearings Ship along the line 1 and by angle a (inmusic: shearing in time

Page  2 ï~~for arpeggi). Putting together these theorems, we obtain the concatenation theorem of Mathematical Music Theory [9, p.160]: Each transformation can be written as a product of a priori musically significant factors, each acting in two dimensions and of one of the above five standard types. This fact is however only one half of the geometric construction strategies in music. The other half is that affine transformations mostly act on rather small parts C c K of a composition K. Transformations are local, and therefore require a preliminary selection of those parts C that one wants to transform. We shall deal with the selection process in this paper, we shall however not discuss the ways and criteria of defining coverings of the global composition K by subcompositions Cj. This topic is crucial and refers to questions of topological nerves of coverings, see [9, ch.13.2,ch.48] for the general theory and [8, ch.10] for an elaborate example. 1.2. Rubato Composer RUBATO COMPOSER [1] is an open source Java 1.5 application and a framework for music composition. It follows the classical Rubato architecture [10] and consists of a main application and a number of modules, named rubettes, each of them performing a specific basic task in music composition. In a graphical user interface (GUI), the rubettes can be connected to form a data exchange network, which can then be run by pressing a button. With the traditional RUBATO COMPOSER, music is therefore not composed in realtime, but generated offline. Within the scope of the research project described in this paper, a rubette has been developed, that integrates realtime functionality into RUBATO COMPOSER. The core of RUBATO COMPOSER is a mathematical framework, which provides objects and functions in the domain of modules, set theory, category theory and topos theory. The basic data type, which is also used for communication between the rubettes, is the denotator. Denotators are mathematical structures that are similar to objects in object oriented programming. Their type is of a specific form (similar to a class) and they can be modified in different ways, e.g. transformed using morphisms or evaluated using address changes, see [11] for details. 1.3. Hierarchical Scores The most common musical form in RUBATO COMPOSER, which is also used in this paper, is the MacroScore form. It defines a hierarchical musical score structure, which consists of notes that can have other notes as their children, named satellites. It is defined as follows: MacroScore: Id.Power(Node) Node: Id.Limit(Note, MacroScore) Note: Id.Limit(Onset, Pitch, Loudness, Duration, Voice) This means that a Note is defined by five parameters, namely Onset, Pitch, Loudness, Duration, and Voice. A MacroScore is a set of Nodes, which contain a Note and another MacroScore each. If this MacroScore is the empty set, the corresponding Note has no satellites. For a more thorough discussion of this definition, see [9, p.88]. MacroScore is a useful data type, as note hierarchies are common in music. All transformations and structures in RUBATO COMPOSER have been defined for MacroScores. The particular matter here is that, if an anchor note is transformed, the corresponding satellites maintain their relative position to it. This makes sense for many musical structures. An example for such a structure is a trill note, which can be defined as an anchor note holding a number of embellishment notes as its satellites. Now when we for example rotate the anchor note by 900, the satellites that define the trill keep their position and function in time before or after the anchor note, whereas otherwise they would result in a chord. Another useful application is described in [12], where twelve-tone rows have been defined as MacroScore structures. The first note of a row holds the following notes as satellites. This implies that if the anchor note is transformed, the following notes do not lose their relative position to it and therefore the twelve tone structure is maintained. 2. GESTURAL INTERACTION CONCEPT Our gestural interaction concept is a new way of making mathematical transformations easily accessible and understandable for non-mathematicians. It has been implemented as a prototype for music composition in RUBATO COMPOSER. In this section, after giving an overview of mathematical gesture theory, we will discuss how this theory can be applied and what is required for it to be implemented in an optimal way. 2.1. Gesture Theory In [13], a mathematical theory of gestures has been presented, which does not rely on the hitherto intuitive concept of a gesture, but sets forth a strictly mathematical concept. Our approach is based upon an ontological critique of the transformational theory of music (and even more of the pre-transformational theory, which focuses on the facts without being involved in processes that lead to such facts). It is argued that the arrows f: X -- Y (morphism symbols) used in category theory, which is the formal framework for transformational theory, are misleading graphems in that nothing is really present within the arrows' shaft, as was also observed by the French philosopher Gilles Chatelet [14]. The Fregean function concept backing mathematical arrows only knows about the argument x and the its image f (x). The process of transporting the argument to its image is compressed, if not anihilated

Page  3 ï~~in an abstract formula. The mathematical theory of gestures therefore closes this gap in defining a gesture as a morphism -y: F - I@X of directed graphs, where F is called the gesture's skeleton, and I@X is the digraph of continuous curves c: I - X (the arrows) on the unit interval I= [0, 1] with values in a topological space X, the head of an arrow c being the point h(c)- c(1), while the tail ist t(c)- c(0)4. Intuitively speaking, a gesture is a graphical configuration of continuous curves in a topological space X. This means that we may then ask for values of such curve arrows at any intermediate parameter values 0 < A < 1. In this paper, gestures are used for the simple case of linear skeletons F =" - -.... -. The idea is to use the above factorization theorem and to represent each factor Fi of F = F1 o F2 o... Fk by one of the arrows of the skeleton. So the gestural essence here is to turn the factors into the elementary gestures of continuous curves. We have to investigate the typical factors provided by the five standard transformation types. Let us get off ground with the translations. A two-dimensional translation Tt maps a vector x e R2 to the function value Tt (x) t + x. This action is enriched by letting the resulting value Tt (x) being the endpoint of an entire movement that starts with x, in fact, our intuition suggests that we take the curve c(Tt)(x): I - R2: A H x + At. Rotations are very nicely nurned into gestures, and in fact this example illustrates the crude abstraction encapsulated within the Fregean formulas of linear algebra. A two-dimensional rotation Rotc,a is essentially (the center being thought as the coordinate origin) represented by a 2 x 2 matrix, and nothing in this matrix reveals the motion understood by the word "rotation". This is now added by the parametrized curve c(Rotc,))(x): I -- R2: A H Rotc,A. (x). We have a similar and evident curve construction for shearing and for dilation. Only the reflection is somewhat trickier: reflecting a point means passing through the reflecting line 1, which is a singular moment in that movement. There is a canonical way to circumvent this singularity: We could add one dimension to R2 and then interpret reflection as the projection onto this R2 from a rotation around the reflection line 1 in R3. We have not implemented this workaround, but left the singular moment as a critical spot in the gestural interpretation of reflection and therefore have not attempted to use continuous curves to represent reflections, but implement reflections as (old-fashioned) Fregean functions of mirror character. We conclude by an important remark about the generic relation between gestures and the factorization method in mathematics: Similar to the translation gesture, the rotation gesture is a continuous curve for each argument cc that is transformed. But more than that emerges from this parametrization: The above factorization theoremwhich is used to understand factorization as a means of defining composed gestures on linear directed graphssuggests that gestures deal with factorization of elementary curve gestures. But conversely, such a curve, as in the case of the rotational gesture c(Rotc, ), appears to define a factorization of the rotation for each parameter value A, in fact c(Rotc,) = c(Rotc,(1-A).c) o c(Rotc,A.c,). This may be seen as an infinite factorization: One factorization for each parameter value A! This philosophy reveals the mathematical turning point of gesture theory: The continuous curves that trace the path from the argument x to its function value f(x) are just a way of factorizing the function into an infinity of intermediate stages. It is a representation of the entire function as a successive and continuous movement through intermediated factor values. This is the point of view, we take in the following implementation: Gestures relate to infinite and continuous factorizations of functional assignments. 2.2. Application of Gestural Theory These theoretical reasonings now led to a new user interface designed as a rubette for RUBATO COMPOSER, where transformations and structures can be realized using gestural mouse commands. The idea is to not only visualize transformation and structure generation as a gestural process but also to simplify and optimize the interface, so that quick combinations of gestures become possible and allow the composer to act in a fluid and spontaneous way. For the realization of this interface, the following points had to be considered. 2.2.1. Minimal Number of Gestures For each transformation or operation, the number of subsequent atomic gestures has been minimized, for the less gestures are needed to perform an operation, the faster it can be applied and the more spontaneous a composer's interactions can be. With simple and quick gestures, a composer can reach the state of mind named flow [15]. 2.2.2. Live Transformation During gestural interaction, the result of every operation is shown while it is performed. For example during score rotation, where the composer can drag the mouse across the screen to determine the right angle, at any time, the resulting score is shown as a preview. Not before the mouse button is released, the transformation is applied to the score definitively. Hereby, every transformation (except for the reflection, see Section 2.1) gains an intuitive gestural aspect and becomes understandable as a step by step process. Optionally, in every step of such a transformation, the corresponding result is played back immediately. This feature lets composers mainly focus on audible results, not on operations. 2.2.3. Undo/Redo With transformations being applied in a fast, easy and understandable way, composition becomes a very spontaneous and exploratory process. Therefore, it is very im

Page  4 ï~~portant to include an undo/redo feature that allows immediate backtracking. 3. MODULAR VIEWS Another new music composition software concept that has been introduced with the BigBang rubette is the concept of completely modular and customizable score views. This section will present the view concept as well as the BigBang rubette's non-mathematical basic functionality. The mathematical functionality will be presented in detail in the next section. 3.1. View Concept To ensure an intuitive and complete comprehension of the geometric and structural material and operations the BigBang rubette is dealing with, it is important to provide a simple and understandable yet versatile view of it. At the same time, this view must serve as a user interface, where actions can be defined. This leads to various requirements, especially due to the geometrical aspects of the represented material. Since transformations may take place on every side of the high-dimensional cube (see Section 1.1), the first requirement for a view is to be able to represent any of the 20 sides of the cube, i.e., the planes ml x mn2, m1 2 in M = {Onset, Pitch, Loudness, Duration, Voice}. A second requirement is to provide different visual representations of the composition's notes. This can be very useful for visualization of specific characteristics of the actual composition. Furthermore, such a variable representation can inspire and facilitate analysis of given compositions. Even when dealing with two-dimensional transformations, as with the BigBang rubette, it may not be possible to foresee all their consequences for objects in a higherdimensional space. It can therefore be beneficial to observe simultaneously a certain transformation from different perspectives. Multiple concurrent views are thus an additional requirement for an optimally advantageous view concept. To fulfill the first two requirements, we developed an generalized design, which allows for arbitrary pairing of screen parameters and musical parameters. This means that we define a number of screen parameters, each of them being able to represent any of the given note parameters m e M. These screen parameters will be discussed in detail later on. The BigBang rubette defines its own set of note parameters M', which is a superset of the set M of all Note form coordinates and enables simple visualization of additional note information. At the present time, we define M' = M U {SatelliteLevel}, where SatelliteLevel inticates the satellite hierarchy level of a note, which is a positive integer number, i.e. 0 for the top anchor notes, 1 for their satellites and so on. $1. I I I I I I i nset Figure 1. A parameter pairing corresponding to the traditional piano roll notation The third requirement is realized by allowing an arbitrary number of simultaneous views which can all be customized independently. 3.2. Note representation On the BigBang rubette's views, notes are represented as rectangles (see Fig. 1) of different sizes, like in a traditional piano roll representation. Such a rectangle is defined by 6 parameters: x-position and y-position on the plane, width, height, color and opacity. These parameters are the screen parameters discussed in the last section. We further set N {x-position, y-position, width, height, opacity, color}. So each of these can represent any of the note parameters m e M'. We define a view configuration as a functional graph V c N x M', which means that each screen parameter ne N is associated with at most one musical parameter V(n) that defines its value. For screen parameters not covered by V, we define a default value. For example to obtain the piano roll representation shown in Fig. 1 we would choose the pairs (x-position, Onset) (y-position, Pitch) (opacity, Loudness) (width, Duration) (color, Voice) A completely different example for the same musical material is shown in Fig. 2. The corresponding pairings are (ccposition, Onset) (y-position, Loudness) (width, Pitch) (color, Onset) (height, Loudness) In addition to this, every screen parameter can be customized independently at runtime. Depending on the rep

Page  5 ï~~I IPitch--............................................................................. L I...................................................................... Figure 2. An experimental parameter pairing resented note parameter, it can be useful to ensure that a screen parameter's value does not exceed a specific value range. For example it is neater to limit the rectangle's height in a way that their areas do not intersect. For each n e N, we optionally define minn, maxn, the minimal and maximal screen values. We then have two options to define the way note parameters are mapped to the screen parameters. If we choose the conversion to be relative, the minimal and maximal values of the given note parameter minm, max, mE M' are determined for the actual score, and then mapped proportionally so that the note with minim is represented by minn and the note with maxm by maxn. For this, we use the formula Vm - minm vn =(max, - minn) + minn, rmaxm - mrinm where vn is the screen value for the note value vm. On the other hand, absolute mapping means that every value with vm < minn or vm > main is mapped to a new value, while all other values stay the same, i.e. vn = vm. For absolute mapping, we have two choices. In limited mapping, the values that surpass the limits are given the minn and main values, respectively. The following formula is used: min, if vm < min vn = rmaxn, if vm > main vm otherwise. For cyclic mapping, we use the formula ((Vm mod (macca - Minn~)) + Minnt, vn = if vm < minn or vm > maxin vm otherwise. This mapping type can be useful for the color screen parameter for example, where it is reasonable to cycle through the color circle repeatedly to visualize a specific note parameter interval (see Fig. 2, where color visualizes a time interval of length 24, i.e. six 4/4 bars). 1.L 2, 3 0 4. 50, II I I I ~~ t Figure 3. A satellite hierarchy displayed by lines between notes and a different note color for each level For absolute mapping in general, it is possible not to define either or both of the limits. Accordingly, we assume mine - -oc or max - oc. Of course, if none of the limits are defined, the visible screen parameters correspond exactly with the original note parameters. At runtime, a view window's current pairings are selected using a matrix ofcheckboxes with a column for each screen parameter and a row for each note parameter (see Fig. 2). In addition to these customizable rectangular note objects, satellite relations may optionally be displayed as lines between the centers of two note objects, i.e. as shown in Fig. 3, every note has lines leading to each of its direct satellites. 3.3. Basic Functionality and Navigation For browsing through one of the BigBang view windows and for simple score editing, a number of basic actions are available to the user. To structure these and the numerous geometrical actions, different application modes have been defined, that can be activated using a toolbar. However, this is not the subject of this paper and will not be discussed in every detail. By grabbing it and moving the mouse pointer, the user can move around on the principally infinite score plane. To zoom in or out, he can use the mouse wheel. The current score can be edited in very common intuitive ways. Using a note selection tool, an arbitrary part of the score can be selected (see Fig. 4). This part can then be copied and pasted, deleted or added as a set of satellites to another note anywhere in the hierarchy. All these operations can either be chosen from a popup menu or directly applied using shortcuts. The second simple way to edit a score is to draw new notes. This can be done in a very similar as in usual drawing programs. Whenever and as long as the mouse button is pressed, notes are created in its location. Fig. 3 shows an example of notes created that way. Another basic function is the flatten operation. It can be applied to any selected set of notes whereby each of

Page  6 ï~~Pitchdt~ 2~3~ 1f I ___ ____ ____ ____ ____ (a) (b) Figure 4. Some notes of a layered composition are being selected these note's satellite level is reduced by one, i.e. for every note, the flatten function described in [9, p.88] is applied once. If a concerned note already is in the top level of the hierarchy, nothing is changed for it. The opposite operation is build satellites, whereby all selected notes can be assigned to a new anchor note. 3.4. Layers Compositions often contain large independent structures, e.g. different parts or voices. In this case, score modifications should often affect only one or a few of these structures. For this, we introduced the possibility of defining composition layers. This is inspired by the track concept of sequencers like Logic [16] or Live [17] and by the layer concept of graphical programs like photoshop. The BigBang layers are superimposed and transparent and they can have three states: active, visible and invisible. All score operations are restricted to the active layers. When using the note selection tool described in Section 3.3, for example, only notes of currently active layers can be selected. The notes of all visible layers are represented as grey rectangles in contrast to the active layers' notes, which are colored, as described in Section 3.2. To hide a layer, it can be set to invisible. Figure 4 shows a composition, the voices of which are split into different layers of all three states. Above the score area, there is a button for each layer, showing its current state. These buttons can be clicked on to change the states of the corresponding layers. Anytime, selected score parts can be copied or moved to new or existing layers. 4. IMPLEMENTED GESTURES In this section, we demonstrate how the gestural interaction concept of Section 2 is implemented for geometrical and structural operations and how a musical score can be manipulated in this way by showing simple examples. We refer to the video http: //www. encyclospace. org/ special /bigbang. m4v for an animated presentation of the above gestural interface. Figure 5. The rotation tool (a) and the reflection tool (b) (a) (b) Figure 6. The shearing tool (a) and the dilation tool (b) 4.1. Geometrical Transformations For each of the five basic geometrical transformations described in Section 1.1, a simple screen tool has been designed, which uses a minimal number of mouse gestures and clicks. The main part of each transformation gesture consists of a click-and-drag movement. As long as the user does not release the mouse button, a preview score is shown, where each translated note's shape and color change adequately, depending on the view configuration. For performing a translation, one of the selected notes can simply be clicked and dragged to its final destination. All other selected notes are translated in the same manner. Rotation is realized with two gestures. One click for the definition of the rotation center followed by a clickand-drag movement, which defines the angle. During this procedure, a schematic rotation tool is drawn, as shown in Figure 5 (a). All other transformations are controlled with a single... click-and-drag gesture. For shearing and dilation, the location of the first click defines the center of the given transformation, while the mouse position during dragging and the release point define slant or size, respectively. Finally, click and release points for a reflection define the mirror axis. See Figures 5 (b) and 6 for the corresponding schematic tools. Any of these transformations can be performed as ai Fiue5(a)(b clikanreagTesuFo shearing o ()and edilation, toelb) caton eahof the fistbaicgefinethicltrsfrmtensivetsnedawionche mnmahnero mouse pstoduigetragin and tlc he rees maitfinrfeatrasizerespetinvey.ure cnlyickofandclkased-dragsmorv elet.isongefinethe mirrothr xs.eetedgures arebtransldinorthe crspo mndngr srceduati toshmtcrtto.ol dan soni

Page  7 ï~~Pitc[....... ~...... iio D i "a _-M Figure 7. A composition realized from a single motif using copy and transform operations tier Tra Rot Sea ReV he Wps Alt 1......\......_.......\ Figure 8. An example of a two-dimensional wallpaper with the original motif drawn with darker colors copy and transform operation by pressing and holding the alt key. Figure 7 shows a composition generated in this way from a single motif using different transformations. 4.2. Wallpapers Another way of generating regular structures from a single motif has been described in [18] and [19]. A so-called wallpaper is defined by a number of morphisms, each of them defining one of its dimensions. It is generated by first applying the first morphism to the original motif repeatedly and by uniting all intermediate results. Each consecutive morphism is then applied to the prior resulting union in the same way. In so doing, we finally obtain a grid-like structure like the one shown in Figure 8. When creating a wallpaper using the BigBang rubette, we can benefit from exactly the same advantages as with the transformations described above. However, since these structures are much more complex it is even more important to have an immediate gestural feedback. To create a wallpaper, we select a motif and press the wallpaper start button. After this, we may perform as many gestural geometrical transformations (described in Section 4.1) as we like. The concatenation of all these transformations then forms the morphism of the first wallpaper dimension. During and after every of these partial transformations, the resulting wallpaper is visible. Every time the wallpaper start button is pressed, a new dimension is added and every following transformation applies to this new dimension. During the definition of these dimensions, the perspective can be changed freely. The wallpaper in Figure 8, for example, has two dimensions, the first consisting of a translation and a rotation, both on the Onset x Pitch plane, and the second consisting of a translation and dilation on the same plane, followed by a shearing on the Pitch x Loudness plane. The top right spinners can be used to modify the dimension's ranges (number of consecutive applications for each morphism). In our example for instance, the second dimension has the range (0, 6), this means that the morphism is applied from one to six times to obtain six copies. The first dimension even has a negative range (-1, 6), so that additionally the morphism's inversion is applied once to obtain one more copy. Negative wallpaper ranges are a new feature that could only be realized with the BigBang rubette, where all transformations are of geometrical nature and can therefore be inverted (with a few exceptions, that do not make sense for wallpapers though). 4.3. Alteration In [18], we also introduced a further useful musical transformation named alteration, a generalization of the common operations tonal alteration and quantizing. Here, one composition acts as a forcefield for another composition, i.e. each note of a composition Ci is attracted by the nearest note of a second composition 02. For this, the involved dimensions can be selected, e.g. Pitch and Duration like in the example in Figure 9. The BigBang rubette is ideal for visualizing the effect of alteration in realtime. In alteration mode, two arbitrary excerpts can be selected from the score (Ci and C2). Then, using two sliders, the alteration degree in the beginning of C1 and the one in the end can be adjusted. During this adjustment, the notes can be watched as they move, so the gestural concept is virtually projected on these two sliders. The checkboxes next to these sliders can be used to select the involved dimensions of the note space. There are five checkboxes, one for every dimension. In Figure 9 (b), the second and the fourth are selected (for Pitch and Duration) and the alteration degrees are 0% in the beginning and 100% in the end. Therefore, the later in time the note, the closer in Pitch and Duration it is pulled to the nearest note of 02. This is even better visible here since Duration is additionally represented by the color screen parameter (see Section 3.2). 5. CONCLUSIONS The overall conclusion from our implementation of a gestural interface to geometric composition tools is that the

Page  8 ï~~(a) [1O, (b) Figure 9. A composition (a) is gradually altered (b) in Pitch and Duration towards a second composition (darker colored in (a)) seamless concatenation of completely intuitive approaches of musical composition with elaborate mathematical (in our case: geometric and topological) operations is feasible and may yield a direct access to hithertoo hidden tools of formulaic composition. We also conclude that it could be a research direction for future computer-aided tools of composition/analysis in music to reduce the delay between gesture and calculation to a minimum or even to annihilate the categorical distance of formulaic calculation and gestural composition/analysis. 6. REFERENCES [1] G. Milmeister, The RUBATO Composer Music Software: Component-based Implementation of a Functorial Concept Architecture. Ph.D. thesis, University of Ziurich, 2006. [2] P. Boulez, structures, premier livre. London: UE, 1953. [3] P. Boulez, structures, deuxime livre. London: UE, 1967. [4] I. Xenakis, "La crise de la musique serielle," Gravesaner Bldtter, vol. 1, 1955. [5] G. Ligeti, "Pierre boulez: Entscheidung und automatik in der structure ia," Die Reihe, vol. 4, pp. 21-32, 1958. [6] M. Wanderley and M. B. (eds.), Trends in Gestural Control of Music. Paris: Ircam - Centre Pompidou, 2000. [7] P. Boulez, Jalons. Paris: Bourgeois, 1989. [8] G. Mazzola, La vdrite du beau dans la musique. Paris: Delatour/IRCAM, 2007. [9] G. Mazzola, The Topos of Music. Basel: Birkhiuser, 2002. [10] G. Mazzola and O. Zahorka, "The rubato performance workstation on nextstep," in ICMC 94 Proceedings, (San Francisco), ICMA, 1994. [11] G. Mazzola and G. Milmeister, "Functors for music: The rubato composer system," in Proceedings of the International Computer Music Conference, (New Orleans), pp. 83-90, ICMA, 2006. [12] G. Mazzola, C. Losada, F. Thalmann, and S. Tsuda, "A boulezian creative analysis of boulez's structures," Somashekhar Naimpally, Giuseppe Di Maio (eds.): Quaderni di Matematica, Theory And Applications of Proximity, Nearness and Uniformity, vol. 23, 2008. [13] G. Mazzola and M. Andreatta, "Formulas, diagrams, and gestures in music," Journal of Mathematics and Music, vol. 1, no. 1, pp. 21-32, 2007. [14] G. Chaitelet, Les enjeux du mobile. Paris: Seuil, 1993. [15] M. Csfkszentmihilyi, Beyond Boredom and Anxiety. San Francisco: Jossey-Bass, 1975. [16] "Logic pro." [17] "Ableton live." [18] F. Thalmann, "Musical composition with grid diagrams of transformations," master's thesis, University of Bern, 2007. [19] G. Mazzola and F. Thalmann, "Grid diagrams for ornaments and morphing," in First International Conference of the Society for Mathematics and Computation in Music, (Berlin), MCM, 2007.