|
Mixing Visual Programs and Music Notation in OpenMusic
1 IntroductionAlthough one may consider music composition to be an important issue in any computer music research or development, the term Computer Assisted Composition (CAC) has taken a specialized meaning during the past years. As opposed to the generation and processing of audio signal, by means of Digital Sound Processing hardware or software technologies, CAC systems focus on the formal structure of music. The software technology is rather based on symbolic computation, where the typical data structures (e.g. trees, graphs, sets) and algorithms are suited to handle the complex structures involved in a compositional process. The great diversity of aesthetic, technical, and formal (or anti-formal) models implies that one cannot conceive an environment of CAC as a fixed application which provides a finished collection of procedures for the generation and transformation of musical structures. On the contrary, we conceive a CAC environment as a programming language, enabling composers to constitute their personal universe. Because of the fact that users are composers, there is no sense in providing a traditional programming language whose control requires a great technical expertise. This led us to a threefold reflection about: the various existing models of programming; intuitive graphical interfaces (which make it possible to control this programming) and the internal and external representations of musical structures, that will be built and transformed using this programming. We have designed and implemented a visual programming language called OpenMusic (G. Assayag, 1999). It is an icon-oriented control-flow visual programming language based on Common Lisp (Steele, 1990). The reasons for the choice of a visual paradigm go beyond the goal to provide simplicity to the user. Indeed, the main interest of our work in the last years was |