acmc05-096-101

Upload: miguel-cardoso

Post on 14-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 acmc05-096-101

    1/6

    ACMC05 Generate and Test: Proceedings of the Australasian Computer Music Conference 2005

    Page 96

    Peter McilwainCentre for Electronic Media Art,School of Music,Monash UniversityVIC [email protected]

    Jon McCormackCentre for Electronic Media Art,School of Computer Science and Soft-ware EngineeringMonash UniversityVIC 3800Australia [email protected]

    Design Issues inMusical CompositionNetworks

    Abstract Alternative approaches are explored and dis-cussed relating to the design and function ofthe software project "Nodal". This projectaims to create a graphical environment thatenables the user to configure a spatial, di-rected graph that generates music in real-time. We refer to such graphs as compositionor nodal networks. These networks provide a programming and visualization structurethat emphasizes temporal relations and eventtopology the primary reasons for usingnetworks to represent musical processes. Thediscussion in this paper relates to the initialdesign constraints that have been imposed onthe project and alternatives within these con-straints that give rise to different musicalbehaviors. Assessments are made about the

    effectiveness of different design approaches.

    IntroductionComputers and algorithmic processes bring newpossibilities for both compositional notation andthe process of music generation. This paper de-scribes some in-progress exploration of how wecan design dynamic, graphic notation systemssuitable for composing and specifying generativealgorithmic processes for music composition.Conventional representation systems are illsuited to effectively notating the musical output

    of non-linear generative processes. Moreover,they are inadequate for programming specifica-tion of such processes. The scheme examined in

    this paper represents an on-going investigationinto how visual programming and notation sys-tems can be designed for generative musicalcomposition.

    Nodal networks are a new musical representa-tion and generation system we have developedfor computer-assisted music composition andgeneration. Dynamic musical systems are repre-sented as discrete and continuous events spa-tially organised as a directed graph. The graph(termed a nodal network) is built interactively

    by the user of the system, withnodes (vertices)representing discrete events such as playing anote, and directed arcs (edges) representing con-tinuous events such as dynamic expression.Networks are traversed in real-time by anynumber of software players who interpret thegraph layout and translate it into music.

    There are a number of similarities in this ap-proach to previous generative musical specifica-tion systems, such as generative grammars, fi-nite state automata, Petri nets and PredicateNetworks (Chemillier 1992; Lyon 1995; McCor-mack 1996; Pope 1986). The nodal network dif-fers principally in the mapping of geometricspace to represent timing information. The arcdistance between connected nodes correspondsto the time between discrete events i.e. thelonger the arc the greater the time taken for theplayer to travel between connected nodes. Byquantising arc distances to standard musical me-tres, arc lengths can represent the note durationsfound in conventional musical notation. How-ever, this restriction can easily be relaxed, lead-ing to more unconventional temporal relation-ships.

    While it is common for networks to be usedin real-time composition, a precursor to thework described here is theSnet program (Mcil-wain & Pietsch 1996), which utilized a real-time

  • 7/30/2019 acmc05-096-101

    2/6

    ACMC05 Generate and Test: Proceedings of the Australasian Computer Music Conference 2005

    Page 97

    neural network simulation. In this system, a keyaspect is the evolution connections by emulatingthe action potential of a neuron.

    Graph based notation and programming sys-tems offer a number of advantages over othermethods. Musical temporal structure and phras-ing is given a two- or three-dimensional geomet-ric analogue, highlighting structural and timinginformation that is difficult to discern in otherrepresentations. For example, linear time repre-sentation schemes, such as the piano-roll sys-tem currently used in most commercial musiccomposition software cannot obviously repre-sent cyclic, hierarchical, or feedback structuresin a composition. State machines, graph gram-mars and Petri nets are more suited to this prob-lem, but while they may show compositionalstructure and flow, this is usually abstract and isdone at the expense of timing information (Pope

    1986).Dynamic graphs are capable of generatingcomplex, emergent properties, even throughrelatively simple feedback mechanisms andstructures. The use of real time structural changeand interaction with the compositional structuregives the composer the ability to interactivelywork in tandem with the generative complexityof computational networks, potentially leadingto new creative possibilities in composition.

    The implementation of composition net-works has been realised in the software projectNodal, which permits real time construction, ed-iting and traversal of networks. The remainderof this paper relates to how the design process ofthe software influenced the development andanalysis of how composition networks can beimplemented as a practical tool for the musician.

    Initial Concept and Design Con-

    straints

    The initial concept behindNodal was to create amethod of generating music via a network inwhich the output of a node is a musical note (de-fined by MIDI note parameters). Time betweennote events is determined, and represented, in agraphical form by the length of arcs between thenodes. The design brief was that the softwareshould generate music in real-time so that itcould function as a module or plug-in with othersoftware such as MIDI sequencers and programssuch as Max/MSP.

    Given that the number of possible configura-tions and functions that a composition networkcan have, software of this kind can potentially betoo complex for a user to configure in a mean-

    ingful way. For this reason the over-riding de-sign constraint was that the software be as sim-ple and as intuitive to use as possible. Thereforea significant proportion of the software devel-

    opment process was given over to addressinguser interface issues. This design constraint alsodetermined that the software would present of alimited set of possibilities while still providing aflexible and multifaceted network environment.This raises the question of how to select designfeatures that fall within the design constraint.Part of the process that was adopted was to lookat how an existing piece of music might be cre-ated and represented as a real-time nodal net-work. This should then provide clues as to whatfeatures and designs may be the most useful.

    The nursery rhyme Three Blind Micewas se-lected for its apparent simplicity. This selectionwas made with the rationale that if a nodal net-work was not able to generate a simple mel-ody then it would be hardly likely to generatedanything more sophisticated.

    Nodal Representations of a Melodystart node

    Figure 5. A nodal network with a linear structure.

    One way to represent a melodyin a nodal net-work is to represent every note event by a singu-lar node. In this kind of network, connectionsonly need to be unidirectional (the first nodeconnects to the second etc.). This results in a lin-

    ear network that plays the melody once (shownin Figure 1). Clearly, this configuration is not aparticularly useful or sophisticated use of agraph (in fact it is a list) because it fails to utilisethe more complex structural properties that area key feature of graphs in general. Such featuresenable the user to work with representations ofunderlying iterative, hierarchical and feedbackstructures that afford the possibility of creatingvariants from a finite set of elements. Further-more it is time consuming and cumbersome tocreate melodies in this fashion.

    Given that many melodies are repeated, the

    network described above could be configured ina loop so that the last node is connected to thefirst. The network would then play continuousrepeats of the melody. Large-scale repetition ofthis kind is the lowest level of structure that canbe represented in a network.

    Another way to produce a continuous loopis to make all of the connections in a linear lay-out, bidirectional (i.e. the first node is connectedwith the second, which is also connected to thefirst, and so on). This will produce a variant ofthe melody that alternates between the originalform and a kind of retrograde. Here the retro-grade version is a literal rhythmic retrogradeand a displaced pitch retrograde (see Figure 2).

  • 7/30/2019 acmc05-096-101

    3/6

    ACMC05 Generate and Test: Proceedings of the Australasian Computer Music Conference 2005

    Page 98

    p: p: p: terminal node

    Figure 6. 2 way connections in a linear network.

    Nested Looping StructuresMelodies such asThree Blind Miceinclude motifsthat are repeated. This is particularly true ofrhythmic motifs (a full transcription with a mo-tivic analysis is shown in Figure 3). Therefore,the next level of structure that can be repre-sented is a series of nested network loops.

    Figure 7. Transcription of Three Blind Mice with motivicanalysis.

    Figure 4 illustrates a network that generatesa simplified version ofThree Blind Mice. It con-sists of three interconnected looped structures(sub-networks) that are part of a larger loopedstructure. In order for the sub-networks to beconnected it is necessary for each sub-network tohave one node with multiple outputs. In Figure4, nodes that have multiple outputs are: A-3, B-4and C-8.

    A B

    CA

    A-1 A-2

    A-3

    B-1 B-2

    B-4

    B-3

    B-5

    C-1 C-3

    C-6

    C-5

    C-2

    C-4

    C-7

    C-9

    C-8C-9

    A-3 A-2

    A-1

    (A-3 to B-1)(B-4 to B-5)

    (A-3 to A-1)

    (A-3 to A-1)

    (B-4 toB-1)

    Figure 8. A nested looping structure.

    Whenever a node has multiple output con-nections some sort of rule must be employed todetermine which of the connections will be acti-vated 1. The rule that is relevant in the examplein Figure 4 is that the two outputs are selectedalternatively. For example, on the first firing ofB-4 the connection will be B-4 to B-1 and on thesecond firing the connection will be B-4 to B-52.In the melody, motif C is heard three times. Tomake this possible in the network an extensionto the connection rule must be applied. This isdone by creating a connection list that is appliedsequentially. So for node C-8 the connection listwill be:

    1. C-8 to C-92. C-8 to C-93. C-8 to C-10

    Multi-layered StructuresWhile the example in the previous section doescontain some iteration the network does not dis-play any sophisticated behavior as a result. Thatis, the structure of the network does not repre-sent the evolution of the elements of motif A.Instead the three motifs must be created sepa-rately and as a result, any short-term elaborationof the melody cannot be represented. This is thecase with motif C, where there are in fact threevariants of the motif but only one is representedin the network shown in Figure 4.

    A more sophisticated way of representingThree Blind Miceis to create a multi-layered net-work that adds information to a network ratherthan replacing it with a new sub-network. Es-sentially, this preserves the topology of theoriginal network, but makes the spatial layoutand relationships easier for the composer to un-derstand in terms of melodic structure and pro-gression. In order to do this it is necessary tofind any elements of the melody that are re-tained from one motif to the next.

    The rhythmic structure ofThree Blind Micedoes contain repeated elements that are elabo-

    rated as the melody progresses. As shown inFigure 5 below, the rhythmic motif in A contin-ues through all 8 measures of the melody. Addi-tional time points are added with successive mo-tifs and are retained until the end of measure 7after which there is a recapitulation of the open-ing motif. The exceptions to this are the timepoints added in measures 6 and 7. These addi-tions only occur for one measure each and canbe seen as elaborations that are necessary fortext setting purposes. The analysis shows a dis-tinct evolving pattern stemming from the initialrhythmic motif.

    1 In this discussion we assume only one input per node.2 This rule is also applied in the example in Figure 2 where the second and third nodes in the network both

    have two outputs.

  • 7/30/2019 acmc05-096-101

    4/6

    ACMC05 Generate and Test: Proceedings of the Australasian Computer Music Conference 2005

    Page 99

    In rhythmic terms, the melody can be repre-sented as a series of networks that run simulta-neously (although starting and ending at differ-ent times). While rhythmic structures are re-tained, pitch material associated with particulartime points change. In order to deal with this, alist of pitches for each node can be used. Herethe list is read sequentially, the position in thelist being advanced each time the associatednode fires. The subnets discussed above andtheir related pitch lists are shown in Figure 6.

    sn 1

    3

    5

    7

    2

    4

    6

    8

    1 3 5 7 9 112 4 6 8 10 12

    A

    B

    C

    A

    rhythmic divisions

    sn 2

    sn 3

    sn 4

    sn 5

    sn 6

    1

    Figure 9. Overlaid rhythmic structures in Three Blind Mice. Black dots represent the addition of a newtime point. Subnets derived from the analysis areenclosed in grey boxes and are annotated sn .

    As the subnets start and stop at differenttimes some method must be used for determin-ing when a node is to be active. A simple con-vention for turning subnets on is to have anacti-vation threshold. Here a node only becomes activeafter a certain number of messages have beenpassed to it. An easy way to include this is toinclude a non-active state in the pitch list. Forexample the pitch list for subnet 2 would be:

    n1: Nx2, F3x2, B3x3, NHere N = non-active state.

    Another way to conceive of the subnet layerapproach is to think of the layers as part of athree dimensional space. Here arcs between

    nodes in different layers could be used to acti-vate the successive layers. This requires aspawning process that creates multiple activa-tions within the network. For this to occur a spe-cial connection rule must be used where two ormore connections from one node can be acti-vated simultaneously. With multiple activationsit is therefore possible to create polyphonic mu-sical textures and, given the right configuration,complex feedback interactions between sub-networks.

    The pitch list technique discussed previouslyrepresents an extension to the concept of thepitch series. The classical pitch series consists ofan array of pitches that are applied to timepoints in a serial fashion. The technique de-

    scribed above has unique arrays for each timepoint. This has interesting, and potentially, veryuseful possibilities for the representation of ver-tical pitch structures in horizontal environmentssuch as a nodal network (although a nodal net-work is not needed to implement this tech-nique). For example the pitch lists shown in Fig-ure 6 show chords that are voiced across time,an example of which is the pitch list for 1.1 (sub-net 1, node 1). This pitch list constitutes the CMaj chord. Other examples include 1.2 - Dom7thand 3.1 Dom7th. The pitch list technique enablesthe exploration of horizontal harmonic struc-tures. For example, if the chords in the pitch listsfor Three Blind Micewhere changed to thosefrom a different mode, then the melody wouldbe transformed with a new harmonic structure.

    1

    Pitch Listsn1: F3x2, B3x3

    Start after 2 cycles of Sn1

    Figure 6. Subnets and related pitch lists for Three Blind Mice.

    In the rhythmic domain, the multilayeredapproach enables subtle yet complex evolutionof rhythmic structures and has advantages overa two-dimensional structure in that the rhythmicstructures can be maintained across time. Likethe potential for harmonic transformation via

    pitch lists, base level transformation of therhythmic structure is relatively easy to perform.As the layer approach enables the representation

  • 7/30/2019 acmc05-096-101

    5/6

    ACMC05 Generate and Test: Proceedings of the Australasian Computer Music Conference 2005

    Page 100

    of different hierarchies of structure, transforma-tion can in fact occur an all of these levels.

    This would suggest that it is desirable to cre-ate a three-dimensional environment withinwhich to work. There may however, be a trade-off between the flexibility that a three-dimensional environment offers against thecomplexity of working within it.

    Emergent MusicSo far we have discussed nodal networks fromthe perspective of taking an existing piece ofmusic and representing it in a nodal networkstructure. This approach is useful in that itbrings to light structures that may be musicallyuseful. It can be argued however that this is notthe best approach to take because real-timenodal networks may generate music that doesnot necessarily conform to the kind of structuresfound in music such as theThree Blind Miceex-ample. They may however be of interest forother reasons.

    One obvious approach is to use networks inan experimental fashion. Here the network isconfigured without a fixed goal in mind. Insteadthe focus is on emergent properties of a particu-lar network structure. It can be argued that thisapproach makes the best use of the structuralproperties of networks. The nature of real timeinteraction also facilitates easy experimentationand play with a complex system.

    It is possible for example, to configure net-works that can create musical textures thatwould be very difficult to calculate manually.Furthermore they can create textures with ongo-ing change based on a defined set of elements.The network shown in Figure 7 generates a mel-ody that contains many motivic fragments butdoes not repeat for a least 80 measures. Thisnetwork has a simple two-dimensional design,comprising nine nodes, each of which outputs afixed pitch. Connection between the nodes arehowever relatively complex; there is an innercore of four nodes that are all interconnectedand an outer layer of five nodes that are moresparsely connected. This design focuses activityon the inner core allowing for variation comingfrom the outer layer.

    The connect rule is also simple, for every in-put the output connection is selected sequen-tially (where there is two or more outputs).While there is motivic diversity in the melodythe main variation is through recombinationfrom available pitches and durations. Thereforelong term changes in register, harmonic andrhythmic structures are not present.

    A more sophisticated design would allowthe interaction between the nodes to influenceparameters such as pitch and duration. This canbe achieved via the use of relative parameters in

    the nodes. For example a node can be designedthat has a pitch increment which outputs a pitchvalue either higher or lower than the value in thenode that caused it to fire. This approach can betaken for all parameters that define a note. Rela-tive values can therefore create change over timeand also allow for true emergent behavior toevolve.

    a.

    C

    C3Eb3

    Gb3

    C2

    G3

    A3

    b.

    Figure 7. a) Long melody network diagram, b) transcrip-

    tion of the output.

    The Nodal Software

    The Nodal software system, currently in devel-opment, implements many of the design featuresdiscussed in this paper. Figure 8 shows a screenshot of the software in operation. Networks arecreated in real time and displayed in the mainwindow. Multiple networks and players are

    possible, with each player starting from a possi-bly different node. Each node is assigned a set ofattributes that specify player state changes car-

  • 7/30/2019 acmc05-096-101

    6/6