Abstract
We believe that interactivity is one of the most important aspects of computer-aided compositional tools. Traditional environments (e.g., Music-V) have very slow turnaround time, which causes an unacceptable loss of direct control over the computational process. In the same vein, once a piece is constructed via a traditional system, it is recorded and is then fixed in every aspect. We think that the computer enables the composer to envision interactive for the first time-be it the interaction with a live performer on stage or the interaction with a listener in the context of an installation. To describe such a piece, a computer language has to provide mechanisms for real-time control. To develop such a piece, an interactive real-time environment for this language has to exist. Such an environment exists. It is called Formula, written by Dave Anderson and Ron Kuivila, and described in (Anderson and Kuivila 1986) and (Anderson 1987). Formula is a real-time extension to Mitch Bradley's ForthMacs implementation of the Forth computer language. Formula enables the composer/programmer to specify real-time processes. Each process may generate sound events or control other processes. (Formula is a MIDI-based system without direct sound-generation mechanisms. Instead, synthesizer fine-control via Exclusive-Messages is used.) A composition is modeled as a program consisting of a number of event-generating processes. Real-time control of these processes is possible while they are running, for example, by changing process-local variables. While Formula suits our needs in terms of interactivity, it lacks data structures, higher-order functions, and other computational tools found in modern languages. It is not easy to compute music in Formula using data bases and rules. The level of abstraction is quite low; it is the MIDI protocol, modeled by the $-words of event generation, which make it possible to specify single notes. When we started the CAMP project (Nieberle 1989), we used basically the process scheduling of Formula. After some had been composed with these relatively low-level constructs, we felt a real demand to extend the system with another, higher, language level. It should be possible to represent scores of efficiently as a list of notes and to define functions to analyze, alter, and create those scores.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.