ï~~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