HOME

Toward a cybernetics of sound synthesis practice and composition

 

Michael Hamman

1. Introduction

In her book Philosophy in a New Key , Susanne Langer characterizes a historical age not only by the problems and questions which it formulates, but by the techniques by which they are formulated. "It is the mode of handling problems," she proposes, " rather than what they are about, that assigns them to an age" (Langer, 1942). Texts about computer music projects tend to emphasize those aspects of the project which can be described definitatively. Many such descriptions of computer music research are rooted in largely 19th Century notions of musical form and composition technique, its methodology deeply grounded either in the rationalist tradition of thesis and argument or, more commonly, in the empiricist tradition of experiment and conclusion. What seems to be missing in these kinds of descriptions is a more "holistic" descriptive framework -- one which explicitly addresses not only the computational models employed for rendering sonic artifacts, but also the particular stipulative criteria that motivate their development. What is significant about Hiller's application of information theory to music composition, for instance, was not that he did it -- what is significant is that the inventive criteria he sought to realize led him to make that particular connection. For Hiller -- as for Xenakis and others -- the incorporation of mathematical theory in music composition was not merely a technique by which new works could be generated -- it represented an epistemological model for composition which allowed them to reconceptualize the process of composition itself.
 

In this paper, I attempt to provide an analysis of procedures by which musical structure might be formulated with the aid of a computer program such that the software system developed to carry out such a formulation consitutes a theoretical model for composition itself. Such a model encapsulates the stipulative criteria motivating a class of composition activity. Its outputs are useful both as objects themselves -- musical artifacts -- and as verification of hypotheses which the model formalizes. Viewed as such, a software system itself becomes the object of compositional investigation, and not merely a generator of composed artifacts. In order to make this argument, this paper distinguishes the various roles which computers play in the tradition of computer-assisted composition and synthesis -- from the more-or-less "instrumental" use of computers to express musical ideas formulated without their aid to a "systematic" use of computer systems in which the systems are themselves regarded as species of composition. What is required for such a formulation? In order to address this question, we first want to establish a basic understanding of computational models themselves. Secondly, we want to investigate the manner in which a computation model might be mapped to a specific problem domain , such that the mapping is "systematic" rather than "instrumental."
 

2. Computation Models

Interest in computation and computing machinery is centuries old. However, what distinguishes machines developed beginning in the 1930's from those which preceded them is, as author Zenon Pylyshyn points out, "that the focus is not primarily on the imitation of movements (as was the case with early clockwork mechanisms) but on the imitation of certain unobservable internal processes" (Pylyshyn, 1989, p.53). This notion was conceived in correlation with a gradual shift in scientists' understanding of mechanisms themselves, becoming more and more concerned with "abstractly defined operations such as storing, retrieving, and altering tokens of symbolic codes" (Pylyshyn, 1989,p. 53). A technology emerged in which the abstract could be literally represented with mechanical parts. The essential model for this technology is the computing device.

A minimal computing device delineates 2 components: an executive component, and an input device. One very basic model of a computing device is a finite automaton (figure 1). A finite automaton consists of a scanner which reads an input tape, and an executive component which interprets the symbols scanned in off the tape as mechanical instructions to do some thing or the other. The 'executive' component represents some set of "states." Two such states are special: the initial state and the accepting state. When

Figure 1: A finite state machine
 
the machine is first started, and before it has read any input, it is in its initial state. Once the machine is started, it reads in each token -- either a 0 or 1 -- token by token. Each input token causes a state transition within the executive component. Any sequence of 0s and 1s which causes a transition to an "accept" state is said to cause the computer to 'accept' that particular sequence of 0s and 1s, which together are refered to as an input 'word.' The set of all words which the machine accepts constitutes its "lexicon. " An "instruction" is the lowest level of executive coherence -- it represents a set of actions which result in a change of state as held within the executive component. A program is a sequence of such instructions, having a definite starting point and a definite ending point.

The Turing Machine or Universal Machine -- or UM -- represents an advancement over finite state machines. It simulates particular mechanisms by accepting, as input, a description of the mechanism it is to simulate. Thereafter, it executes a procedure whose input/output behavior is identical to that of the simulated mechanism. This is done by partitioning the input of the UM into two components: one component constitutes a set of input tokens that are to be interpreted as instructions which specify the function of the simulated mechanism, and the other constitutes the inputs to that mechanism. These instructions are read in first, and stored to memory. The UM then begins executing each such instruction as though it were its own, reading input, and responding to it according to these instructions. Mechanisms such as multiplication, division, and later on, more advanced operations could be simulated by a UM. In fact, it has been proven that virtually any mechanism could be modeled with a UM. This abstract machine forms the theoretical basis for Von Neumann based computer systems as we know them
 

3. Representational vs. Specificational System Formulations

The principle utility of computational devices, then, is their inherent capacity to form abstract representations of specific problem domains. It is solely on the basis of such representations that their output behavior is determined. From the very beginning, the application of computing devices to particular problems represented profoundly different views of the function of computers in scientific research. According to one view, computing devices are seen as useful for the outputs they produce. An entire branch of computational advancements emerged which were directed toward the implementation of high speed mathematical calculation machines and for computing and controlling rockets, balancing accounts, and so on. I call this category of computation representational. It is characteristic of the view of computers taken within mathematics and the physical sciences, a view according to which computer systems (software or hardware) simulate a world which is the object of calculation and control. Even in the case of control of orbital satelites, for example -- where it could be said that the computer is operating upon a real-world object -- it actually does so by virtue of highly specified simulations, embedded within a software system, which form the output behavior controlling those real-world objects. The purpose of such a system is to represent a problem with sufficient accuracy to render a solution attainable. The point of contact between this system and an observer is its output behavior. According to this view, a computational system simulates the behavior of a mechanism and not its organization; its outputs but not its processes.

According to the other view, computing devices are seen as usefull precisely for their capacity to model the processes by which problems can be formulated. Within this area of research, computing devices are viewed as possible models for human cognition, and computational processes as models for cognitive processes. I call this category of computation specificational. It is characteristic of the view of computers taken by many cyberneticians, cognitive scientists and some researchers in AI. I use the word "specificational" in its prescriptive rather than descriptive sense . Thus, to specify a system is to formally state the conditions required for its realization.

With specificational systems, for example, the design of the control systems operating upon an orbital satelite would be of interest primarily for the insight they provide about the processing behavior required to control a satelite. According to this view, a computational system constitutes the functional behavior of a mechanism. Its purpose is to allow for the observation of its processes rather than its outputs.
 

4. Specificational Systems and Cognitive Systems

In order to more deeply examine some of these issues, I would first like to introduce some notions of cognition and cybernetics that are pertinent to the discussion.
 

4.1 A Cybernetics of Cognition

In rendering this introduction, I will make reference primarily to ideas put forth by cybernetician and neurophysiologist Humberto Maturana as they are presented in his writings and in those of Winograd and Flores, Kenneth Wilson, and Susan Parenti.

Maturana's ideas stem from observations he first made during his research as a neurophysiologist, working with visual perception. The observations he made called into question traditional notions of perception: i.e. that perception occurs as a direct mapping from real objects "out there" onto structures within our sensory organs. His experiments with frog vision, for example, challenged the traditional assumption that the neurological activity of the optic nerve was a "direct representation of the pattern of light on the retina" (Winogrand, 1986, p.41). He showed, for instance, that fibers within the retina responded not to patterns of light intensity but rather to patterns of local variation on the retina itself. This demonstrated that at least some of the cognitive processes relevant to the survival of the frog occured within the visual system and not at a higher level of neuroanatomy (such as the brain).

In subsequent research in color vision, Maturana noticed that under certain conditions, the retina would produce color messages not actually occuring in the environment. This and many other experiments lead Maturana to question the traditional theories of color vision as a process by which the visual system associates colors with wavelengths on the spectrum and to postulate that the study of color vision is "the understanding of the participation of the retina ... in the generation of the color space of the observer" (Maturana, 1970, p xii). As such, it seemed that perception needed to be studied by viewing "the properties of the nervous system as a generator of phenomena rather than as a filter on the mapping of reality" (Winograd, 1986, p. 42).

This characterization of perception can be applied to cognition in general. Maturana defines a cognitive system as

So defined, a cognitive system operates "in a phenomenal domain (domain of phenomena) that is distinct from the domain of mechanistic structure-determined behavior" (Winograd, 1986, p. 47). Within this domain, patterns of interactions occuring over time become embodied in the structure of both the organism and its environment. However, this does not mean that the emerging structure of the organism is dependent on inputs from its environment; quite the contrary: the emerging structure of the organism in fact determines the nature of the interactions it engages with its environment.

This leads to a common cybernetic definition of cognition:

Cognition---> Computing Descriptions of a Reality
This definition resonates with Maturana's observations in vision such that "the optic nerve may be said to transmit a 'description' of the original image to higher nuclei (Wilson, 1974, p.18)." This manner of transmission occurs at many points along its path. As information is passed along to higher and higher level nuclei, ascending levels of abstraction are employed in its representation. This results in a modification of our original definition:

This recursive definition distinguishes cognition as a process -- a process by which descriptions are generated. A 'description' is, in this context, understood as the observer's representation of a system or structure in a linguistic domain such as language, mathematics, or logic.
 

4.2 Specificational Systems Are Cognitive Systems

Having provided a brief overview of cybernetics as it applies to cognition, we can now deepen our discussion of computation models and their possible consideration as cognitive systems.

Figure 2 is a stripped down illustration of the process by which a computer system might be developed. It depicts a traditional approach to software development,
 
 

Figure 2: "Representational" model of system development process
 
one in which the "model" of a problem that the program is to solve is static and unchangeable. As depicted, the computer reads in a program which has been written by the designer, or perhaps programmer. The computer generates outputs based on instruction cycles contained within the program. As the designer or programmer observes the outputs, he evaluates them on the basis of the model or problem which the program implements. Corrections are made to the program until the output behavior matches those expected from the model.

Figure 3 depicts a non-traditional approach to software development; one in which a body of "hypotheses" provide a framework for program design and development. Hypotheses are changeable and operative within the system itself. Changes made with respect to hypotheses are motivated within the context of the designer's engagement with a program's functional and output behavior. The program acts then as an agent in theverification of hypotheses, which verification in turn provides a framework for the re-formulation of hypotheses, and so on.
 

Figure 3: "Specificational" model of system development process
 
The most salient difference between these two approaches to computation is that representational systems model solutions to problems whose formulations are already complete, while specificational systems model descriptions of problems whose formulation is a procedural attribute of the system. With representational systems, a very specific description of a very particular problem constitutes its input while that problem's solution forms the output of the system. With specificational systems on the other hand, descriptions of problem domains comprise the input, while variable descriptions of problems form the output. In other words, representational systems generate solutions to problems that are well known, while specification systems generate descriptions of problems newly posed. This quality of specificational systems distinguishes them as a particular class of "cognitive" system. The descriptions they generate articulate a process which is goal-oriented but not goal-directed -- a type of problem solving activity which engages experimental interaction -- a process not unlike the so-called "creative" process.

Specificational models of computation can be somewhat more rigorously diagrammed then. As shown in figure 4, the designer specifies both program inputs and program code itself. In addition, the designer specifies hypotheses. The designer's specification occurs as a response to his observations. The designer observes the system from three vantage points: the program's outputs (which are data oriented), the program's structure (which is procedure oriented), and abstract hypotheses he himself has formulated (which are theoretically oriented). This model for system development is highly amenable to experimental activity.
 

Figure 4: Structure diagram of "specificational" system development process.
 

This model can be somewhat strengthened by reducing our description of the designer's behavior to its procedural functionality. As is shown, observation occurs within the domain of program output, program structure, and hypotheses formulation. Descriptions are formulated on the basis of observation. They form the stipulative environment for the articulation of particular algorithms which in turn determine program structure, program input, and a reformulation of hypotheses.

This model for system development infers isomorphisms between description and program, inasmuch as a program comes to be constituted as a formalized description of a problem and its domain of application. Accordingly, the separation between description.
 

Figure 5: Structure diagram #2 o f "specificational" system development process.
 

and program begin to blur since the articulation of a description becomes the program.A specificational model, then, articulates what I call a "deep" systematization of problem formulation. It activates a topology for experimental gesture in which articulation and representation occur within a unified and mutually interacting sphere of activity.

 

Figure 6: Isomorphism between 'description' and 'program.'
 
 

5. Experimental Research in Synthesis and Composition

We now want to begin to discuss music composition as a "systematic" process. This process differentiates "programming" interfaces from "application" interfaces. Programming allows a composer to interact with a computer at a "deep" level of systematization in as much as it allows him relative freedom in the representation and formulation of a problem domain.

My own research in computer-assisted composition addresses a single question: how can structure be represented symbolically within a program, or more specifically, how are signals to be represented and generated within a computer program?

In the most general sense, we partition the space in terms of control and parameter. "Control" refers to processes which monitor and modify the state of a system or system component. A "parameter" constitutes a point in a vector field. This vector field is defined with respect to a model of some object, and is frequently refered to as a "parameter space." A parameter space can represent a real-world object such as a flute sound, or it can represent a hypothetically stipulated object. A hypothetically stipulated object can itself instantiate a model of a real-world object or process, but its constraints are not subject to those which would render that modeled object or process. In either case, a parameter space encapsulates a description with respect to those structural aspects of the modeled object or process which that description declares as relevant to the program being designed.

It can be said, then, that symbolic representations of sonic and musical processes involve the application of control processes to parameter vectors (Wessel 1979). Control processes activate the generation of information which identifies the object being modeled with respect to a parameter space. The determination of control process and parameter space is a compositional determination if the modeled object occurs as a result of hypothetical experimentation.

In the following, I will describe certain aspects of the empirical research which I have been conducting over the last four-and-a-half years in computer-assisted sound synthesis and composition. This research has involved the development of software -- and in one case hardware -- used for composition and synthesis, down to the sample-generating layer. This reflects my desire to experimentally investigate possible computational representations of musical structure without the kinds of constraints introduced by more general software systems.
 
 

5.1 Non-linear Systems of Granular Synthesis
 

The first project I will report is one which involved research in non-linear dynamic systems using granular synthesis techniques. Over the last 10 years, granular synthesis has provided a rich model for sound synthesis since it facilitates methods of control over low-level aspects of timbre evolution. The technique itself suggests the possibility of linking control structures determining timbre to those functioning at the level of composition architecture. This investigation was first conducted by Curtis Roads (Roads, 1978, 1985, 1991) and Barry Truax (Truax, 1987, 1988, 1990) and was later taken up by Augostino Di Scipio (Di Scipio, 1990, 1991, 1992) among others. My program Wave summarizes my own preliminary research in composing non-linear musical forms using granular synthesis.

This research began with investigations in understanding the behavior of non-linear functions as computational analogs to the ideas of open form with which I was engaged at the time. The behavior of the logistic difference equation was particularly rich in this respect. The behavior of this function suggested the possibility of generating dynamically evolving timbres whose control functions could be employed on differing temporal dimensions from the smallest grain to an entire class of compositions. This hypotheses became the basis for the development of a composition/synthesis software system in which musical structure constitutes a set of processes which the progrem sets into motion during its execution.

The kernel data structure is a 6-field parameter space:

Control procedures implement networks of intersecting non-linear functions. Hierarchies of parent-child relations map these control procedures to different aspects of the form of the output. The generative organization of such a parent-child control structure can be demonstrated with an example which depicts the generation of a single stream of grains (figure 7). As is shown, for each of the 6 parameters a range is first specified within the parent loop. Within the child loop, each parameter for each individual grain is computed and scaled to the range specified in the parent loop. This particular example comprises the lowest level of control within the program.

A particular child may have multiple parents, each parent-child controlling some unique aspect of the generative process while a particular parent may have similarly
 

Figure 7: Parent-child control structure
 
multiple children. In addition, a child itself can be a parent in another parent-child control structure, and vice-versa.

As a consequence of this complex organization and of the non-deterministic nature of the generative functions used, the behavior of this system -- and thus its outputs -- is indeterminate, though not random. Some aspects of its behavior can be predicted down to a low level, while others are more difficult. As a result, large-scale form evolves only as the program is executed and cannot be absolutely determined beforehand. Because of the fact that non-linear systems are highly sensitive to their initial conditions, minimal alterations in startup data can yield maximally variant formal behaviors . At what point does such variance impact our experience of one output such that we no longer recognize it as related to outputs generated by very similar executions?

This quandary allows us to propose a differentiation between form and pattern -- a differentiation which the biologist C.H. Waddington arrives at with the following reasoning: In a human being, from the time of birth onward, the legs and lower part of the body grow at a greater rate than does the head, so that the proportions between the various parts of the body gradually alter. Is this to be considered a change of form (Waddington, 1962, p. 86)?Waddington offers a qualified definition of form "to mean a structural arrangement which cannot be altered by a mere change in the existing system of growth vectors" (Waddington, 1962, p87). The word "pattern", on the otherhand, is to be used "to focus attention on the spatial interrelations between the various parts into which a form can be analyzed" (Waddington, 1962, p. 87). He further develops this argument by pointing out that "[a] change of form would be produced if a new growth vector made its appearance, for instance, in the development of a third pair of legs as in insects..." (Waddington, 1962, p. 87). This differentiation between form and pattern forms one aspect of the experimental investigation begun with this program.

Three works for two-channel tape were made: free-Fall, Listing 1 , and Listing 2 . Listing 1 and Listing 2 represent two program executions which are distinguished by small changes in startup data.
 
 
 

5.2 Dynamically Configurable Feedback/Delay Networks
 

The program just described models generative processes that are applicable over the range of an entire composition, or family of compositions. The premise which energizes these investigations is that computation allows for a tighter conceptual link between timbre design and composition design, and that both can be designed using hypotheses-based models rather than nature-based models. In more recent sound synthesis research, I am interested in developing models which explicitly address the problem of mapping algorithm to sound such that sound becomes capable of communicating meaningful information with respect to the algorithm with which it is generated. As such, my interest is in transforming sound from the status of material to one of form -- to use Augostino Di Scipio's term (Di Scipio 1994) -- where sound itself becomes a context for computational design. Sound -- as "form" -- systematically encodes information which references the states of the system with which it is formulated. This articulates a sound synthesis model in which individual sounds actually require the contextual framework -- i.e. the larger scale forms -- into which they are projected. It also suggests a compositional procedure by which large-scale form emerges from the computational -- not acoustic -- aspects of individual sounds. Such a procedure begs the question: how can I determine which aspects of a computational model of sound will have significance for the larger form into which it is projected such that the dialectics inherent in the model are recapitulated in its output?

The following is a description of a synthesis program which implements a virtual instrument model in which control parameters for individual sounds both activate and are activated by higher-level processes. By "virtual instrument" I mean a 'physically modelled' synthesis system in which control organizations are modeled around the physical organization of some type of generic musical instrument (Borin, 1992; Woodhouse, 1992; Cadoz, 1993; Smith, 1986, 1987,1993; Garnett, 1988). This type of rendering provides a rich parameter space, as well as methods for its control. In my own work, I am far less interested in imitating the physical characteristics of known musical instruments than I am in formulating hypotheses for the rendering of possible instruments -- instruments which actually extend the controllable parameter space beyond that of traditional instrument models. In the following description, I will first provide an overview of how the basic sound rendering software works. Then I will briefly describe an application of this software and a composition made using this application.

Functionally, the system delineates two layers: signal propagation and signal control (see figure 8). At the signal propagation layer, a network of interconnected
 
 

Figure 8: The system delineates two layers: signal control and signal propagation
 
 
modules is defined. These modules are grouped into three types: an excitor, a resonator, and an output. As its name implies, an excitor provides initial input signals to a system. A resonator acts as a resonating 'body' into which a signal is dispatched. It is comprised of a network of delay and multiplication components interconnected according to specifications made by the designer using an ASCII script file (figure 9).
 
 
Figure 9: A sample resonator module: ASCII script file and its digramatic representation
 

In the example, boxes represent delays, circles represent summers, and triangles represent multipliers. This particular example diagrams a 1-pole filter. These module groupings can be interconnected in either feed-forward or feed-back configurations, allowing for complex re-propagation of the generated signal throughout the system (figure 10).
 

Figure 10: Feedback configurations within signal propagation layer
 
 
At the signal control layer, each component of the signal-propagation network is attached to a control node. A control node dynamically constrains the behavior of its attached module. While a control node may determine the constraints defining the behavior of a signal-propagation module, it is the module itself which defines exactly how those constraints are to be applied. Moreover, components at the signal propagation level can themselves modulate the behavior of its attached control node or even of control nodes attached to other propagation components.

The system allows the composer to specify a variety of organizations and, as such, models for synthesis. One example of such a model specifies the organizational structure capable of modeling the behavior of a generic plucked string instrument out into a domain of control not normally associated with such an instrument.

Figure 11 depicts the design of a generic plucked string virtual instrument which I call "stringX". The propagation layer represents a very basic Karplus-Strong plucked string model. The excitor provides an initial noise burst which sets the thing into motion. Besides dispursing signals throughout the propagation modules in a manner characteristic of plucked string resonances, it causes signal disruptions within the control layer, activating the generation of signals there which cause dynamic alteration of those
 
 

Figure 11: Model design for "stringX" virtual instrument
 
propogation components to which they are attached. This signal generation system was used in the composition of topologies/surfaces/oblique angles/installed parameters .

This piece engaged two experiments. In the first, I was interested in investigating ways in which larger-scale syntax could manifest the organization of signal generation and control algorithms operating at the level of the individual sound. Globally drawn algorithms selected subgroups from the larger signal-propagation network in order to try to make sounds. The composition projects five trajectories of sequences of such subgroupings into time, the five trajectories overlapping and sometimes colliding. The generative structure ends up articulating a topology which composes control parameters within the virtual instrument.

The second experiment concerned the nature of the sounds as "materials." My wish was for the presence of absolutely flat sounds and for the composibility of their envelopes. Within the context of these sounds, it seemed appropriate to consider only the attack and decay portions of the envelope, and to reduce these to a duration of between 1 and 1,000 samples. This allowed me to compose onset and offset clicks with a variety of frequency and amplitude characteristics
 

7. Conclusion

In this paper, I have attempted to frame and demonstrate a description of computer music which emphasises the articulation of what Otto Laske calls "possible musics" (Laske, 1994). Generating descriptions of projects that are not merely narrative recitations of what one thinks about what one does is a challenge which deserves more attention than it gets. Considerable progress has been made over the last 30 years in developing rich models for synthesis technique, spatialization, simulation, and so on. It is my opinion, however, that insufficient progress has been made in formulating theoretical bases for these efforts since the 1960s and early 70s, and what progress is made is woefully under-reported. I consider such theoretical research -- when occuring alongside empirical investigation -- to be at least as relevant to composition as the production of musical works, since it is only by virtue of rigorous inquiry into the manner in which we understand the problems in front of us, that we can re-formulate them as new and more interesting ones. 
 

 

8. Bibliography
 

Ames, C., 1987. "Automated Composition in Retrospect: 1956-1986." LEONARDO 20(2): 169-185.

Borin, G., De Poli, G., and Sarti, A., 1992. "Algorithms and Structures for Synthesis Using Physical Models." Computer Music Journal 16(4), pp. 30-42.

Brun, H., 1969. "Infraudibles." In H. Von Foester and J. Beauchamp, ed. Music by Computer. New York: John Wiley and Sons, Inc, pp. 117-121.

Cadoz, C., Luciani, A., and Florens, J-L.,1993. "CORDIS-ANIMA: A Modeling and Simulation System for Sound and Image Synthesis -- The General Formalism." Computer Music Journal 17(1), pp. 19-29.

Di Scipio, A., 1990. "Composition by exploration of nonlinear dynamical systems." Proceedings of the 1990 International Computer Music Conference . San Francisco: Computer Music Association, pp. 324-328.

Di Scipio, A., 1994. "Formal Processes of Timbre Composition: Challenging the Dualistic Paradigm of Computer Music; A study in Composition Theory (II)." Proceedings of the 1994 International Computer Music Conference. San Francisco: Computer Music Association, pp. 202-208.

Garnett, G., and Mont-Reynaud, B. M., 1988. "Hierarchical Waveguide Networks." Proceedings of the 1988 International Computer Music Conference . San Francisco: Computer Music Association, pp. 297-312.

Hamman, M., 1991. "Mapping Complex Systems Using Granular Synthesis." Proceedings of the 1991 International Computer Music Conference. San Francisco: Computer Music Association, pp. 475-478.

Hamman, M., 1994. "Dynamically Configurable Feedback/Delay Networks: A Virtual Instrument Composition Model." Proceedings of the 1994 International Computer Music Conference. San Francisco: Computer Music Association, pp. 394-397.

Hiller, L., and Isaacson, L., 1959. Experimental Music . New York: McGraw Hill.

Langer, S. K., 1942. Philosophy in a New Key . Cambridge, Massachusetts: Harvard University Press.

Koenig, G. M., 1970. "PROJECT 2: A programme for musical composition." Electronic Music Reports 1(3).

Laske, O., 1989. "Composition Theory: An Enrichment of Music Theory." Interface 18, pp. 45-49.

Laske, O., 1991. "Toward an Epistemology of Composition." Interface 20, pp. 235-269.

Laske, O., 1993. "A search for a theory of musicality." Languages of Design 1, pp. 209- 228.

Maturana, H., Lettvin, J., McCulloch, W., and Pitts, W., 1960. "Anatomy and physiology of vision in the frog." Journal of General Physiology, 43, pp. 129-175.

Maturana, H., Uribe, G., and Frenk, S., 1968. "A biological theory of relativistic color coding in the primate retina." Arch. Biologia y Med. Exp. Suplemento No. 1, Santiago: University of Chile.

Maturana, H., 1970. "Biology of Cognition." In H. Maturana and F. Varela Autopoiesis and Cognition: The Realization of the Living . Dordecht: Reidel.

Maturana, M. (1970). "Neurophysiology of cognition." In P. Garvin, ed. Cognition: A Multiple View . New York: Spartan Books.

Parenti, S., 1985. The Relationships Between an Objectivity-Conditioned Language and the Present State of New Music . Dissertation, University of Illinois at Urbana- Champaign.

Pylyshyn, Z. 1989. "Computing in Cognitive Science." Foundations of Cognitive Science . Cambridge, Massachusetts: MIT Press.

Roads, C., 1978. "Automated granular synthesis of sound." Computer Music Journal 2(2): 61-62.

Roads, C., 1985. "Granular synthesis of sound." Foundations of Computer Music . Cambridge, Massachusetts: MIT Press, pp. 145-159.

Roads, C., 1991. "Asynchronous Granular Synthesis." Representations of Musical Signals . Cambridge, Massachusetts: MIT Press, pp. 143-186.

Smith, J., 1986. "Efficient Simulation of the Reed-Bore and Bow-String Mechanisms." Proceedings of the 1986 International Computer Music Conference . San Francisco: Computer Music Association, pp. 275-280.

Tipei, S., 1987. " Maiden Voyages : A Score Produced with MP1." Computer Music Journal 11(2), pp. 49-58.

Tipei, S., 1990. "The Computer, A Composer's Collaborator." LEONARDO 22 (2), pp 241-258.

Truax, B., 1987. "Real-time granulation of sampled sound with the DMX-1000." Proceedings of the 1987 International Computer Music Conference . San Francisco: Computer Music Association.

Truax, B., 1988. "Real-time granular synthesis with a digital signal processing computer." Computer Music Journal 12(2):14-26.

Waddington, C. H., 1962. New Patterns in Genetics and Development . New York: Columbia University Press.

Wessel, D., 1979. "Timbre Space as a Musical Control Structure." Foundations of Computer Music . Cambridge, Massachusetts: MIT Press, pp 640-657.

Wilson, K., 1974. The Cybernetics of Cognitive Processes . Urbana: University of Illinois Graduate College.

Winogrand, T. and Flores, F. 1986. Understanding Computers and Cognition . Reading, Massachusetts: Addison-Wesley Publishing Company, Inc.

Woodhouse, J., 1992. "Physical Modeling of Bowed Strings." Computer Music Journal 16(4), pp. 43-56.