Algorithmic Composition Using Max MSP

download Algorithmic Composition Using Max MSP

of 4

Transcript of Algorithmic Composition Using Max MSP

  • 8/10/2019 Algorithmic Composition Using Max MSP

    1/4

    THE APPLICATIONS OF SIEVE THEORY IN ALGORITHMIC COMPOSITION USING

    MAX/MSP AND BASIC

    Duarte, Jose*, Hsiao, Shu-Chin**, Huang, Chih-Fang***, and Winsor, Phil****

    Music Institute ofNational Chiao Tung University

    1001 Ta Hsueh Road, Hsin Chu, Taiwan 300, ROC*[email protected], **[email protected],

    ***[email protected], ****[email protected]

    ABSTRACT

    The following paper compares tools used at theMusic Institute of National Chiao Tung University to

    generate Sieves based on Xenakis Theory. Also revealsthe importance of continuous research in the area ofalgorithmic composition. The comparison betweenBASIC language and MAX (cycling 74) will show howthe development of the research and teaching techniques

    of the institute. Also at the end remarks the necessity ofthe use of new platforms using a different approach likethe case of athenaCL developed at the New YorkUniversity.

    1. INTRODUCTION

    Since 1989 Music Institute of National Chiao TungUniversity has been developing applications andmethodology to compose music algorithmically. In thispaper we will discuss the Sieve Theory and two examples

    of its application utilizing MAX and BASIC. Theimportance of this comparison is part of an effort to definethe direction of the Algorithmic composition education inthe Institute and part of an evaluation of the software

    applications available.The use of Sieve Theory represent a very important

    exercise in algorithmic composition at a very basic level,allowing the user to start dealing with mathematicalconcepts like number set theory and Boolean operands.

    Music Sculptor application based on BASICprogramming language is a powerful tool to input musicalevents based on mathematical operations, results can besaved in a MIDI file to visualize a score. On the other side,

    MAX also can deal with a number of mathematicalexpressions to output music as well.

    2. BASIC APPLICATIONS IN ALGORITHMICCOMPOSITION

    BASIC is a programming language ideal for firstlevel Algorithmic composition courses. It provides a

    friendly environment to work with, and resources ofinformation are all spread out in libraries and in theInternet. As a composition tool, it is also useful in thegeneration of Sieves. Xenakis even used BASIC to

    compile the first Sieve generator. BASIC is applied todeal with musical concepts like pitch classes,transposition, inversions, rhythmic values and so on. Formore information see Winsors Automated Music

    Composition [1], where many topics can be found likeexamples of programs dealing from simple transpositionof pitch classes to the generation of Fibonacci series andfractal patterns.

    3. XENAKIS SIEVE THEORY

    Proposed originally in 1964, During Xenakis stayingat Berlin from the fall of 1963 to the spring of 1964.During this time, he developed Sieve Theory further [2].Sieves output numerical sequences that can be translatedto musical and sound events such as pitches, time points,

    dynamics, densities, degrees of order, local timbres, etc.[3]. In the search of symmetry in musical figures, Xenakisused sieves in his early compositions such as Zyia (1952)and Sacrific [4]. In which the Fibonacci Series wererepresented. In music the question of symmetries (spatial

    identities) or of periodicities (identifies in time) plays a

    fundamental role at all levels: from a sample in sound

    synthesis by computers, to the architecture of a piece. It is

    thus necessarily to formulate a theory permitting the

    construction of symmetries, which are as complex as one

    2006 International Workshop on Computer Music and Audio Technology

    96

    mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]
  • 8/10/2019 Algorithmic Composition Using Max MSP

    2/4

    might want, and inversely, to retrieve from a given series

    of events or objects in space or time the symmetries that

    constitute the series. We shall call these series Sieves

    [3].

    FIGURE 1: Mycenae Alpha(UPIC Graphic/Computer)

    composing By Xenakis

    Sieve is analogous to scale in music, and Xenakismakes emphasis that it is not a mode. The idea of thistheory is to generate scales (if we are dealing with pitch),generate rhythmic patterns (if we are working withrhythm) and so on.

    Sieves are composed by a sequence of integers (inthe case of scales) and the interval between each value.This interval is called the modulo. A Sieve can be defined

    as MRC, in which RC stands for the residual class, or thestarting point of the scale and M will be the modulo. Tobe more detailed RC is where the pitch class begins, RC=0 starts from C, then RC=1 will start from C#, etc. Themodulo determines the constant interval between theelements of the class. For example, RC=0 and M=1 or 10= {-2, -1, 0, 1, 2, 3, 4, 5} will output a Chromaticscale starting from C like this: C, C#, D, D#, E, F, F# andso on. For modulo 2, Whole-tone scale is generated: 20= C,D, E, F#, G#, A# (Or 20= {0, 2, 4, 6, 8, } Other

    combinations are possible. We only need to follow theserestrictions: modulus can be any positive integer greaterthan 0 (M>0); RC, for a given modulus M, can be anyinteger between 0 and M-1 (0

  • 8/10/2019 Algorithmic Composition Using Max MSP

    3/4

    THEN PRINT P$(X);" "; ELSE 20502045 PRINT #1,NOTEON;X;VELOCITY;ARTDUR;CHANNEL2046 NOTEON=NOTEON+DURATION2050 NEXT X

    2060 RETURN

    Previous example shows how to calculate the MajorScale Sieve. Line 2040 can be read as if x mod 3 is not

    equal to 2 and X mod 4 is equal to 0, or if X mod 3 is notequal to 1 and X mod 4 is equal to 1, or if X mod 3 isequal to 2 and X mod 4 is equal to 2, or if X mod 3 is notequal to 0 and X mod 4 is equal to 3 then X passes thetest.[1]

    Then the execution of the program will show themajor scale:Enter number of background scale elements:

    12

    Enter scale type: (1=major, 2=harm. Minor,

    3=pentatonic)? 1

    C1 D1 E1 F1 G1 A1 B1

    Now, after the generation of any Sieve (in this casethe Sieve corresponding to a Major Scale) we can

    transport the file to Music Sculptor. See Figure 2 andthen if needed save a MIDI file to display a music Score,

    to be imported by Music Sculptor as shown in Figure 3.

    Figure 4 shows that the program generated pitch data,saved as pitch.dat, can be loaded from Music Sculptor,to compose the music piece automatically by the sieve

    algorithm. Many other sieves can be generated using the

    same procedure; there are many combinations yet to bediscovered.

    FIGURE 3: Music Sculptor (Winsor & Kuo-Lung

    Chang) Interface.

    FIGURE 4: Music Sculptor (Phil Winsor & Kuo-Lung

    Chang) Interface.

    Regarding Max software (Cycling 74), there areseveral ways to implement a Sieve analysis. The Max

    predefined objects allow users in different ways to

    produce several sequences. In Figure 5 we can visualizeone example to generate sieves using Max Objects. The

    real time capabilities of this platform permit the user to

    modify the parameters of the modulo and the residualclass

    FIGURE 5: Sieve Implementation Using MAXMSP

    while playing the sequence. In addition, predefined

    presets may change several parameters at the same time.On the other side, different variables can be added to

    form part of the patch, for example: Metro and Randomobjects, influencing the sound event by changing thedistance between the noteon and noteoff or by

    modifying the order of the attacks respectively.Max, apart of being a great tool to design patches, it

    is also a good platform to deal with The Sieve Theory.

    Figure 6 shows the twelve tone matrix forcomposing the serial music, with four operationsincluding prime, inversion, retrograde, and retrograde-

    inversion. Based on the twelve tone 12 x 12 Matrix [6],the MAX/MSP program can be used for composing the

    2006 International Workshop on Computer Music and Audio Technology

    98

  • 8/10/2019 Algorithmic Composition Using Max MSP

    4/4

    serial music based on the sieve theory using the MAX

    internal objects, as shown in Figure 7.

    FIGURE 6: Twelve Tone Matrix for Sieve Theory

    Serial Music Composition Using MAX/MSP

    FIGURE 7: Sieve Theory for Twelve Tone Serial

    Music Composition Using MAX/MSP

    5. CONCLUSION

    After showing two examples of Sieve Applications a

    wider panorama appeared. The ways of experimentationin the topic vary in time, and others remain because oftheir success. This is the example of BASIC language,which provides ways to implement many musical-based

    concepts; in this case the Sieve Theory can be studied andanalyzed.

    On the other side, Max software (Cycling 74), showsa different perspective. The comparison of different set of

    sieves is done thanks to its capabilities of real timeparameter settings. In other words, this characteristicillustrates sieves in a faster way, so users can compare theresults at the moment.

    Also, many other software programs have been

    develop on the way. Firstly, there is a translation of thefirst BASIC to C language made by Grard Marino [3] aprogrammer from CEMAMu Centre d'Etudes deMathematiques et Automatiques Musicales/Center forStudies in Mathematics and Automated Music) to know

    more about this implementation see Xenakis, FormalizedMusic [3]. Another more recent application is the onedeveloped by Christopher Ariza (Graduate School of Arts

    and Sciences, New York University), which is an object-

    oriented model and Python implementation [5]. Thismodel is executed using a bigger platform called

    athenaCL, which is an open-source, interactivecommand-line environment for algorithmic compositionin Csound and MIDI [5]. The work of Ariza will representa great deal of new and easier ways to deal with Sieve

    theory and other Algorithmic composition areas. For more

    information see athenaCLUsers guide. [7]

    6 . REFERENCES

    [1] Winsor, Phil, Automated music composition,University of North Texas. 1989.

    [2] Barthel-Calvet, A. S., Chronologie. In F. B. Mache,ed. Portrait(s) de Iannis Xenakis. Paris: BibliothequeNationale de France, pp. 133142, 2001.

    [3] Xenakis, Iannis, Formalized Music Tutorial,Pendragon revised revision, 1990.

    [4] Solomos, M., Xenakis Early Works: From

    Bartokian Project' to 'Abstraction'," ContemporaryMusic Review 21(2-3): pp. 21-34., 2002.

    [5] Ariza, Christopher. The Xenakis Sieve as Object: ANew Model and a Complete Implementation. NewYork University. Computer Music Journal.

    [6] Joseph N. Straus, Introduction to Post-TonalTheory, Prentice-Hall International UK Limited,

    pp. 118-146, 1990.

    [7] Ariza, Christopher, AthenaCL User Guide, SecondEdition, Version 1.4.3.

    2006 International Workshop on Computer Music and Audio Technology

    99