Page  00000001 Generation of Complex Sound Sequences using Physical Models with Dynamical Structures Olivier Tache*, Claude Cadoz*t ICA Laboratory, INPG, Grenoble, France tACROE, INPG, Grenoble, France claude.cadoz Abstract Mass-interaction physical modeling is one of the few formalisms that can unify the work on music composition and sound synthesis. It allows generating sound sequences that exhibit, for example, some of the qualities of instrumental performance. This article introduces a method for building mass-interaction models whose physical structure changes during the simulation. Structural evolution is implemented in a physically consistent manner, by using nonlinear interactions that set temporary viscoelastic links between simulated objects. We present in details a model built with this method. It produces a wide range of complex sound sequences, the user having a control over global aspects of its behavior. This example shows that evolving models are particularly useful for the generation of macrotemporal musicalforms. 1 Introduction Since the beginnings of computer music, sound synthesis and computer-assisted composition have followed quite different paths. The majority of computer environments for music creation introduce a separation between sound synthesis (generation of microstructure) and sonic events organization (generation of macrostructure). The high number of musical works performed with these tools attests their relevance to musical creation. However, the persistent distinction between those two levels in computer music may somehow have slowed down the development of more general tools and concepts (Berg 1996). Indeed, this separation involves that micro- and macrostructure are viewed as belonging to different spaces. This conception is inherited from acoustical music, where it is not an issue, since the instrumentalist is "in charge of" the interaction between musical ideas and sound production mechanisms. In computer music, the interpretation is either performed in real-time, using specific interfaces (e.g. gesture devices), or is "simulated" (and possibly extended) by algorithmic processes. In this case, a formalism including both micro- and macro-level may be a powerful and usable tool for designing complex relationships between them. A few environment and languages attempting to unify the micro- and the macro-level have been proposed (Dannenberg 1997; Laurson, Norilo, and Kuuskankare, 2003). GENESIS (Castagn6, Cadoz 2002) is such an environment. It is based on the CORDIS-ANIMA massinteraction physical modeling system (Cadoz, Luciani, and Florens 1993). Cadoz (2002) demonstrated that massinteraction physical modeling allows composing entire musical pieces. For example, pico.. Tera (Cadoz, C., 2002) is a piece entirely generated by a single model, without any post-processing. In GENESIS, musical models deal with the two levels of musical creation. They are composed of several components with different temporal scales. Composing with GENESIS consists in designing components, such as virtual instrumentalists, which generate sonic events by interacting with virtual instruments, at the temporal scale of gesture. The musician interested in computer-assisted composition is then able to build his or her own event generators. Due to the fundamentally modular nature of CORDISANIMA, there are a very large number of possible GENESIS models. It is thus important to explore this potentiality space. We are currently identifying and documenting the main categories of sounding and compositional models. The purpose of the study reported here was to extend the set of available event generation schemes for computer-assisted composition. We present a physically consistent method for building GENESIS models whose structure changes during the simulation. Structural evolution is performed in a discrete way, by temporarily linking two objects. These models are used to produce sound sequences that exhibit complex timbre and timing variations. After an introduction to CORDIS-ANIMA and GENESIS (Section 2), we will present the method of structural evolution (Section 3) and give a detailed presentation of a reconfigurable string "instrument", (Section 4). We will focus on the control it offers to the musician. This model demonstrates a possible musical application of structural evolution, which deals with the relationship between repetition and irregularity.

Page  00000002 2 The GENESIS environment 2.1 Overview of the CORDIS-ANIMA system The GENESIS environment is based on a massinteraction modeling and simulation system called CORDIS-ANIMA. This system has been extensively described by Cadoz, Luciani and Florens (1993), so we only give here an overview of its principles. In CORDIS-ANIMA, virtual objects are composed of two types of elements, called modules: * Punctual material elements or <MAT> modules. The most used is the MAS module, which represents an ideal inertia. * Link elements or <LIA> modules. A <LIA> simulates an interaction between two <MAT>. The different available interactions are based on linear or nonlinear elasticity and friction. A <LIA> computes forces according to the relative distance or velocity of the two <MAT> it links. A <MAT> computes its position according to the forces it receives from the <LIA> modules it is linked with. Position and force are the two fundamental variables upon which CORDIS-ANIMA modules operate. CORDIS-ANIMA models are networks of interconnected <MAT> and <LIA> modules. All <MAT> modules have an initial position. Mobile <MAT> modules also have an inertia parameter (M) and an initial velocity. <LIA> modules have elasticity (K) and/or friction (Z) parameters 2.2 From CORDIS-ANIMA to GENESIS GENESIS (Castagn6, Cadoz 2002) is a graphical environment for musical creation based on CORDISANIMA. Its interface lets the user operate at an elementary level, since models are created by direct graphical manipulation and connection of individual modules on a virtual workbench. A number of higher-level tools are available for fast parameter edition and generation of large structures, such as strings and membranes. GENESIS implements ten CORDIS-ANIMA modules listed below. While CORDIS-ANIMA does not specify the dimensionality of its modules, the simulation space is onedimensional in GENESIS. Consequently, modules only move in the direction that is perpendicular to the workbench and positions and velocities are computed along this axis. For convenience, graphical manipulations take place in a 2D space (the Workbench), but the position of the modules in this plane have absolutely no consequence on the simulation. The GENESIS modules. The set of GENESIS' building blocks is composed of: * Linear modules: ideal mass (MAS), fixed point (SOL), second-order damped oscillator (CEL), elasticity (RES), friction (FRO), elasticity and friction combined (REF); * Nonlinear interactions: the BUT and the LNL; * Force or position input (ENF, ENX) and output (SOF, SOX) modules. The BUT module. The BUT module simulates a conditional viscoelastic interaction between two modules (Figure 1). When the difference between the positions of M, and M2 is greater than a given threshold S, there is no interaction between them; when the difference is smaller than the threshold, the BUT simulates the effect of a nulllength damped spring between M, and M2. The BUT is an asymmetric module, since the value that is compared to the threshold is not the distance between the two modules, but the difference of their positions. The graphical representation of a BUT module includes a small dot indicating its orientation. (a) (b) Figure 1. Effect of the BUT interaction with a null threshold. (a) M, is above the threshold; modules are free. (b) M2 is below the threshold; modules are linked by a viscoelastic interaction The LNL module. The LNL module is a user-defined nonlinear viscoelastic interaction. The user chooses the points defining two curves (Figure 2). The first one (LNLK) gives the force to be applied to the modules according to the difference of their positions (nonlinear elasticity). The second one (LNLZ) gives the force according to the difference of their velocities (nonlinear friction). Elastic and friction forces are added and applied to the <MAT> modules linked by the LNL. (a) (b) Figure 2. The LNL module. (a) Graphical representation. (b) A velocity-force curve (LNLZ)

Page  00000003 2.3 The GENESIS Instrumentarium We are currently working on the development of a large library of GENESIS models that will cover the major possibilities of the environment so far, concerning sound synthesis and processing as well as sonic events generation. This library, the Instrumentarium, is not a mere collection of models. It will also include a detailed description of each selected model or category of models and will be integrated into a precise and complete documentation of practical and conceptual aspects of GENESIS. This information will be available with the next multiplatform release of the environment and, hopefully, will help learners build a deep knowledge of physical modeling and GENESIS. It aims at meeting the same kind of needs as the Csound Book (Boulanger 1999) does for learners of this other highly modular environment. Constructing the Instrumentarium. The study we present here was conducted with the aim of developing the Instrumentarium, thus it is important to understand our general approach to this task. Generally speaking, we do not try to imitate real-world instruments or phenomena, even though - as for any synthesis technique - this is a useful exercise for developing experience. We consider that the conceptual basis of CORDIS-ANIMA is sufficient to ensure that most GENESIS models will show physically plausible behavior, thus producing correspondingly plausible sounds or sound sequences. The rare cases where this statement may not be true are rigorously studied. Consequently, we build and study GENESIS models for themselves, while keeping realworld phenomena as references in the modeling process. The building of the Instrumentarium consists in a large number of precise studies like the one reported here. Each study involves several steps. Firstly, the direction to be explored is defined according to various goals. Then begins a phase during which a number of models are built and evaluated against the initial objectives. An important guideline is the search for minimal models that exhibit interesting properties. Indeed, minimal models constitute a far better teaching support than complex ones. They are easier to understand and more usable. The last step is the precise analysis of selected models. It aims at providing rules that will help users employ models in creative situations. When possible, these rules are implemented in Excel-like calc sheets in order to provide fast calculation of common formulas. The method and models presented in Sections 3 and 4 result from a systematic exploration of the applications of GENESIS' nonlinear interactions, with the aim of building models that behave as if their parameters or structure were evolving during the simulation.' The work on parametric 1 Indeed, in GENESIS, parameters and connections between modules (i.e. structure) are chosen at design time and remain the same during the simulation of the model. changes led to models similar to the nonlinear strings presented by Castagne and Cadoz (2000), with the extra possibility to perform timbre morphing by amplifying nonlinear effects. We only present here the results concerning structural changes, which had not been previously studied and which extend the range of event generation mechanisms available in mass-interaction physical modeling. 3 Setting up temporary interactions between virtual objects This section describes a method used to dynamically modify the structure of a GENESIS model. The basic idea is to set temporary viscoelastic interactions between MAS modules belonging to two different objects, thus resulting in a new object. The group of modules used to set up a temporary interaction is called a sticking device (Figure 3). Sticking devices are based on GENESIS nonlinear interactions. We designed two different devices, the simpler one (Section 3.1) being a component of the other (Section 3.2). Two important aspects of these devices were evaluated: their "transparency" and the strength of the temporary link they create. Transparency refers to the importance of side effects introduced by the device compared to reference models where temporary interactions are replaced by equivalent permanent ones. Figure 3. Temporary link between two simple structures. Objects A and B are "stuck" together with nonlinear interactions. 3.1 The simple sticking device This device is composed of an elastic-only LNL module (L) and two viscous-only BUT modules (Bi and B2). It links two <MAT> modules, M, and M2, which are supposed to be of the same inertia, m (Figure 4-a). We make no supposition about the other modules M, and M2 may be connected to.

Page  00000004 (a) (b) Figure 4. The simple sticking device. (a) The three <LIA> modules. (b) The LNLK curve of module L. L is a symmetric elastic interaction with a threshold, S. Its LNLK curve is shown in Figure 4-b. The central part of the curve corresponds to an ideal spring of stiffness KL. This spring is only active when the distance between M1 and M2, AX, is smaller than S. B1 and B2 prevent M1 and M2 from mutually oscillating when the spring is active. This increases the strength of the temporary link, and, in particular, avoids that the link breaks as soon as it is set. BI and B2 have opposite threshold and friction coefficient. Their combination produces a symmetric friction zone around M2, as shown in Figure 5. The friction coefficient of B, is calculated according to KL and m: Z,= 2Km-KK (1) This value is the critical viscosity of a GENESIS second order oscillator of inertia m and stiffness KL. decreasing S reduces the excitation produced by the sticking, though this results in a weaker link. Evaluation. This sticking device is not perfect. Firstly, forces applied to M1 and M2 by other modules may easily cause AX to become greater than S, thus breaking the interaction. Secondly, M1 and M2 cannot be at the same position without interacting. This constraint reduces the range of possible applications. Moreover, it would be useful to be able to set any interaction between M1 and M2, while we are so far limited to critically damped viscoelasticity. An important side effect of the sticking device is the damping introduced by B1. It may have significant consequences on the vibrating properties of the object created by the linking of M1 and M2. Its higher modes are likely to have shorter damping times than higher modes of an equivalent static model (i.e. a model in which the sticking device has been replaced by a linear spring of stiffness KL). In order to reduce this effect, it is possible to choose a lower value for Z1. This will also decrease the strength of the temporary link, so the actual choice of Z, depends on the particular needs of the application. 3.2 The complete sticking device In order to get a general method of temporarily linking masses, we built a more complex sticking device represented in Figure 6. Figure 5. The combined effect of BI and B2. Friction zones are represented by hatchings The general effect of the simple sticking device is the following. If AX is smaller than S, the MAT modules are mutually attracted. They tend to occupy the same position without oscillating, thanks to B1 and B2. One can say they are "stuck" together. If AX is greater than S, the MAT modules do not interact. Physical consistency. While the simple sticking device is unrealizable in the real world, it is still physically consistent. Indeed, it only uses elementary GENESIS modules, which all fundamentally respect a discrete equivalent of Newton's laws. One may notice that, when the interaction is set, M1 and M2 are accelerated and gain kinetic energy, since they are now attached via an elongated spring. However, this energy is not created ex nihilo. It is present as potential energy before the interaction is set and it returns to this state when the link is broken. This phenomenon is controllable: Figure 6. The general sticking device applied to MAS modules M, and M2. Description. The device is made of two "intermediary" MAS modules Mc, and MC2, with the same inertia mc. They are respectively linked to M, and M2 with identical simple sticking devices (Ls, and LS2), and linked together by an interaction R. R is the interaction we want to set between M, and M2. It can be any GENESIS interaction, provided that it does not cause instability.2 We will suppose here that it is a linear viscoelastic interaction. Ls, and LS2 are very stiff, so Mci closely follows Mi when they are connected. Thus, as a first approximation, we may consider a connected Mi-Mci pair as a single MAT module having inertia equal to the sum of the inertias of Mi and Mci. mc can be relatively small (a tenth or a hundredth of m) so as to reduce the amount of inertia added to the system. 2In the GENESIS unit system, which is different from the real-world one, this means that the numerical value of its stiffness should not be greater than mc.

Page  00000005 When AX1 and AX2 are both smaller than S, the Mi-Mci pairs are connected (Figure 7). Consequently, we can state that the whole system is equivalent to a system composed of two MAT modules M'I and M'2 linked by R, with M', and M'2 inertia equal to m+mc. In other words, a temporary interaction has been set between M1 and M2, at the expense of an increase in inertia and damping. Figure 7. The complete sticking device with the interaction active. Breaking the interaction. The interaction "breaks" if the distance between M1 and M2 becomes greater than a certain threshold SB that is easily calculated: SB S +2KR (2) KR where KL is the stiffness of Lsi and LS2. We see that SB is at least two times greater than S, so the link is clearly stronger than the one created by the simple sticking device alone. There is an interesting way to deliberately break the temporary link at a chosen time. It consists in striking Mc1 and MC2 with a very high velocity MAS, so that they get out of the threshold in only one simulation step (Figure 8). In this case, the interaction is instantly interrupted, so the sudden movement of Mci and MC2 does not influence M1 and M2. Thanks to quantization, it is possible to break objects without making any noise! 3.3 A sample application: the (St)ring This model demonstrates a possible application of the general sticking device. It simulates an open string (i.e. a string whose only one endpoint is fixed) that gets longer in two steps, and then turns into a ring, as its endpoints are finally connected one to the other (Figure 9). Figure 9. A three-segment (St)ring The first string segment (SI) is struck at the beginning of the simulation. Then, one after the other, three sticking devices connect S1 to S2, S2 to S3 and S3 to S1. The intermediary masses of the sticking devices are initially at rest. They are linked to the string segments via a unidirectional friction that progressively accelerates them until they connect. The acceleration of a given sticking device is proportional to the amplitude of the oscillations of the segment it is linked to. Each time a segment is added to the previous one, the number of modes increases by the number of MAS modules that are added3 and the fundamental frequency decreases because the vibrating structure gets longer (Figure 10). When S3 connects to Si, the topology of the object changes. This evolution is clearly perceptible in the sound produced by the model, since the timbre, which is pseudo-harmonic before the connection, abruptly becomes inharmonic (see the last part of the spectrogram). Figure 10. Spectrograms of the first 4 seconds of sounds produced by the (St)ring. Linear frequency scale, max. frequency: 2200 Hz. 3 The number of vibrating modes of a linear GENESIS model is equal to the number of its MAS modules. Figure 8. Breaking a temporary interaction without making noise. Mc~ and Mc2 get out of the threshold in one simulation step. Comparison with the simple sticking device. The complete sticking device solves the main drawbacks of the simple one. It can set any interaction between two MAS modules, while the link is significantly stronger. Moreover, the position of M1 and M2 are not constrained anymore; the masses may be at the same position without interacting. On the other hand, the complete device is made of two simple devices, which means that the extra damping is twice as high as in the simple case.

Page  00000006 In order to evaluate the effects of the sticking devices, we compared the sound produced by a completely connected (St)ring to the sound of a an equivalent linear ring.4 While the frequency of partials is nearly identical in both sounds, their decay time is much shorter in the nonlinear model. After 4 seconds, only two partials are still audible in the first sound, while there are five in the second sound. This demonstrates that critical damping plays an important role in vibrating properties of the connected model. Mi-Mci pairs are not simply equivalent to a single MAS module as was first approximated. At the perceptual level, both sounds are identified as being produced by metallic objects, but the second one may be perceived as being unnaturally sustained. Although the extra damping introduced by the sticking device may not always be desirable, it doesn't affect sound plausibility. 4 A generative model: the reconfigurable string instrument This model demonstrates a more musically significant application of structural evolution than the (St)ring. It uses the simple sticking device. Since its interest resides in the frequent ruptures of the temporary links, their strength is not a concern here. Consequently, the BUT modules that usually stabilize the links are not used. 4.1 Description The reconfigurable string instrument is made of two groups of three open strings. The free endpoint of each string is linked to all the free endpoints of the other group's strings with simple sticking devices (Figure 11). When two endpoints are close, they are temporarily linked, thus creating a closed string. The entire right group has a sinusoidal movement caused by a very heavy oscillator that carries the "bridges". As a result, the connections between strings keep setting up and breaking throughout the simulation (Figure 12). Figure 11. Workbench view of the reconfigurable string instrument. 4In the linear model, each Mi-Mci pair is replaced by a single MAS module with an inertia equal to m+mc Figure 12. Two consecutive states of the reconfigurable string instrument. (a) SI and S2 are linked with S4, S3 with S5 and S6 is free. (b) The right group is below the left one; all strings are free 4.2 Sound sequences generation A string is excited when it connects to or disconnects from another string. The excitation produces a hearable sonic event, characterized by a change in pitch and timbre, as the vibrating structures are modified Consequently, the reconfigurable string instrument generates sequences of sounds. The strings can be precisely tuned in order to choose the timbre and pitch classes produced by the model. For example, it may be interesting to have a similar string in each group so that harmonic sounds are produced when both are connected. Other strings could be added in order to have richer possibilities. Sound sequences produced by the model are complex and partially chaotic (Figure 13), since the generation of events depends on the unpredictable movements of the strings' endpoints. However, the regular movement of the oscillator imposes periodicity to the global behavior of the model. The oscillator of the model that generated the first sound (Figure 13-a) had a period of 8 seconds. The effect of this regular oscillation can be seen in the spectrogram. It shows several groups of sonic events approximately every 4 seconds (the half-period), with a strong similarity between the groups separated by 8 seconds (e.g. A, B and C). The second sound (Figure 13-b) was produced by a different version of the model with a period of 11 seconds. Two sound groups (A and B) are clearly visible in the spectrogram. They have a very similar structure. In both cases, events groups are not exactly of the same duration. For example, in the first sound, group C is shorter than groups A and B.

Page  00000007 A B C "'""""" (1) Figure 13. First 24 s of the sound produced by two versions of the reconfigurable strings. (a) 8 s period, high damping. (b) 11 s period, medium damping. Linear frequency scale, max. frequency: 5000 Hz. Generally speaking, the sound sequences generated by the reconfigurable string instrument are characterized by a periodic macrotemporal form, while the precise organization of sonic events is irregular. 4.3 Controlling the model Working with the reconfigurable string model implies dealing with unpredictability, but the musician can still control certain aspects of its behavior. Available controls allow exploring the possibilities of the model in a structured way. Several parameters of the model may influence the same phenomenon. Thus, it is recommended to choose the properties of the strings in a first stage, and then to deal only with the other parameters. They are the following: * Frequency (F) and amplitude (A) of the oscillator's movement. * Distance between the fixed endpoints of the strings (D). * Threshold (S) and stiffness (KL) of the sticking devices. We suppose here that the values of D, KL and S are the same across the model. Influence of the oscillator's parameters. The frequency of the oscillator has a quite simple influence on the model's behavior. It determines its general periodicity, thus fixing the interval between similar sound groups. The influence of amplitude is more complex. Generally speaking, A controls the number of possible string configurations, i.e. the diversity of individual sounds that the model produces. If it is relatively small, each string only interacts with the opposite one (e.g. SI with S4). If it is high enough, each string interacts with all the strings of the opposite group. For higher values of A, the model is periodically found in the configuration depicted in Figure 12-b, where no sonic event is produced. This results in periodic rests, whose duration increases with A Influence of the sticking device's parameters. K and S play approximately the same role. Since they determine the strength of the temporary links, they directly influence the complexity and the predictability of the sound sequence. A stronger link results in a smaller number of sonic events, so the higher K and/or S, the simpler the sequence. In addition, when K or S are particularly small, the link is so weak that it never lasts more than a few milliseconds. In this case, the interaction between two strings is similar to a kind of mutual plucking. A stiff string, whose endpoints have fast movements, may pluck another one at a fast rate. This produces sound textures rather than distinct sonic events. The duration of these sound textures depends on the characteristics of the oscillator. They are longer if F and/or A are small. Influence of the distance between the strings. This parameter is rather difficult to use, since it influences both the diversity and the complexity of the sound sequences produced. Indeed, high values of D have the same effect as low values of A (i.e. strings can't interact with all the strings of the opposite group). In addition, links between strings of different rows breaks easily, since the strings are more elongated than for smaller values of D. 5 Discussion The reconfigurable string instrument allows the musician to deal with the relationship between repetition and irregularity, which may be considered one of the bases of musical composition. Furthermore, the interaction between the micro- and the macrostructure of the output sound sequences is really intimate here, since the same object performs event generation and sound production.5 The reconfigurable strings model is a kind of partially programmable musical automaton. It generates varied, surprising and, in our opinion, musically meaningful sound sequences. While the method of structural evolution allows working on sound synthesis alone (e.g. for producing continuous timbre change), its main interest is the articulation between micro- and macrostructure. The evolution of the structure of a model can be correlated by several means to the actions of the virtual instrumentalist. This is illustrated by the (St)ring, which lengthens more quickly if more energy is brought to the vibrating structure. Though this may be a rather dumb example, it suggests new ways of thinking the relationships between the micro- and the macrostructure of music generated by mass-interaction physical modeling. Indeed, it is impossible in this model to separate the exciter from the vibrating structure, as can be done for GENESIS compositional models that have been proposed so far.

Page  00000008 6 Conclusion and future works GENESIS compositional models that had been presented so far were composed of several static components, at least the virtual instrumentalist and its instrument. The method that we introduced in this article allows transforming these structures during the simulation. This brings more complex and potentially more expressive relations between the micro- and the macrostructure of the sound sequences generated. The movements of the low-frequency components of the models (e.g. the heavy oscillator of the reconfigurable strings) may modify the properties, not to say the nature, of the high-frequency components. This is a new possibility in physical modeling. A model such as the reconfigurable string instrument is quite difficult to master, since some parameters have mutual influence. We will continue its study and add its results to the Instrumentarium, so that users will be informed of its possibilities and of the controls it offers. We also plan to extend the model by using more sophisticated vibrating structures than simple strings and by replacing the global oscillator by objects with more interesting behaviors. In addition, we will investigate the numerous other applications of both sticking devices, with the aim of designing new event generators and new evolutive sounding structures. Some of these models will be used for the creation of a complete musical work using GENESIS. Acknowledgments This work has been supported by the French Ministry for Culture and Communication and the French Ministry for Higher Education and Research. References Berg, P. 1996. Abstracting the Future: The Search for Musical Constructs. Computer Music Journal 20(3), 24-27. Boulanger, R. 1999. The CSound Book. Cambridge, Massachusetts: MIT Press. Cadoz, C., A. Luciani and J.L. Florens. 1993. CORDIS-ANIMA: A Modeling and Simulation System for Sound and Image Synthesis - The General Formalism. Computer Music Journal 17(1), 19-29. Cadoz, C. 2002. The Physical Model as Metaphor for Musical Creation "pico..TERA", a piece entirely generated by physical model. Proceedings of the 2002 International Computer Music Conference, pp 305-312. San Francisco: International Computer Music Association. Castagn6, N., and C. Cadoz. 2000. Physical Modeling Synthesis: Balance Between Realism and Computing Speed. Proceedings of the DAFX-00 Conference, Verona, Italy, 2000. Castagn6, N. and C. Cadoz. 2002. GENESIS: A Friendly Musician-Oriented Environment for Mass-Interaction Physical Modeling. Proceedings of the 2002 International Computer Music Conference. San Francisco: International Computer Music Association. Dannenberg, R. B. 1997. Machine Tongues XIX: Nyquist, a Language for Composition and Sound Synthesis. Computer Music Journal 21(3), 50-60. Laurson, M., V. Norilo and M. Kuuskankare. 2003. PWGLSynth: A Visual Synthesis Language for Virtual Instrument Design and Control. Computer Music Journal 29(3), 29-41.