ï~~SDIF is also supported in OM and is used to communicate sound description data with external sound analysis and synthesis tools (see for instance the SDIFFile box in Figure 1). It also helps unifying the codification and manipulation of the various possible types of such descriptions inside the environment [3]. Various tools allow to inspect, extract and manipulate the contents of an SDIF file in OM visual programs. A set of classes have been added to the OM library to represent the components of a sound description in this format: The classes SDIFBuffer, SDIFStream, SDIFFrame and SDIFMatrix allow to reconstitute the hierarchical structure of the SDIF data; and the SDIFType object stands for a data type definition to be declared. In Figure 5 a set of data generated in OM is processed and formatted as SDIF matrices, then stored in a file. t(a) S si MATRICES XNFO - XMAT /.................................................................. FRAME XFRA (c MATIX "/ TYPE _- XNF -', I'.,,. "'I MATRIX TYPE.-XMAT [siga.ee: F., SDIFFrame.......27 TYPE-- XPRA Contains 1XNFO and 1XMAT (b) Genertes a seres of reprt-n SDIFFarnes Save s l stream.... (d) ' Figure 5. Generating SDIF data in OM: Three new types are declared (a), then frames (b) and matrices (c) of these types are created and collected to constitute the frame stream (d). 6. CONCLUSION The particular programming paradigm, execution model and other specificities of the OM environment, such as iterative processes or higher-order functions, may lead to original ways of thinking and designing music description data analysis, manipulation or generation processes. Complementarily to automatic conversions between lowlevel description data and the high-level musical ones, the visual programming tools presented in this paper enable dealing with this low-level description data in OM visual programs. Even though, the environment provides symbolical representations of the related processes and allow to maintain intuitive and high-level control. Moreover, this integration with computer-aided composition ensures the possibility to connect the different data sets generated or manipulated in these processes to symbolic musical data such as chords, sequences or rhythmic structures. Even if OM is principally dedicated to music composition, some collaborations in other contexts, such as musicology or experimental data analysis, gave us the opportunity to experiment the use of these tools for extra-compositional purposes in different situations where automatic analysis, processing and/or formatting of music or sound file databases were needed. This approach could be extended to other data formats and standard protocols as well. For real-time interaction, for instance, the class OSCEvent already allows to build, process and send OSC formatted data [7] in OM. However, concrete and real-size applications of OSC messages creation and scheduling in OM visual programs remain to be found and developed. 7. REFERENCES [1] G. Assayag, C. Rueda, M. Laurson, C. Agon, and O. Delerue, "Computer Assisted Composition at Ircam: From PatchWork to OpenMusic," Computer Music Journal, vol. 23, no. 3, 1999. [2] J. Bresson, "Sound Processing in OpenMusic," in Proc. Int. Conf on Digital Audio Effects, Montr6al, 2006. [3] J. Bresson and C. Agon, "SDIF Sound Description Data Representation and Manipulation in Computer Assisted Composition," in Proc. International Computer Music Conference, Miami, 2004. [4] J. Bresson, C. Agon, and G. Assayag, "Visual Lisp/CLOS Programming in OpenMusic," HigherOrder and Symbolic Computation, vol. 22, no. 1, 2009. [5] M. Puckette, "Combining Event and Signal in the MAX Graphical Programming Environment," Computer Music Journal, vol. 15, no. 3, 1991. [6] D. Schwartz and M. Wright, "Extensions and Applications of the SDIF Sound Description Interchange Format," in Proc. International Computer Music Conference, Berlin, 2000. [7] M. Wright, "Open Sound Control: an enabling technology for musical networking," Organised Sound, vol. 10, no. 3, 2005. 549
Top of page Top of page