Results 1 -
9 of
9
The Canon Score Language
, 1989
"... Canon is both a notation for musical scores and a programming language. Canon offers a combination of declarative style and a powerful abstraction capability which allows a very high-level notation for sequences of musical events and structures. Transformations are operators that can adjust common p ..."
Abstract
-
Cited by 18 (3 self)
- Add to MetaCart
Canon is both a notation for musical scores and a programming language. Canon offers a combination of declarative style and a powerful abstraction capability which allows a very high-level notation for sequences of musical events and structures. Transformations are operators that can adjust common parameters such as loudness or duration. Transformations can be nested and time-varying, and their use avoids the problem of having large numbers of explicit parameters. Behavioral abstraction, the concept of making behavior an arbitrary function of the environment, is supported by Canon and extends the usefulness of transformations. A non-real-time implementation of Canon is based on Lisp and produces scores that control MIDI synthesizers. Introduction Canon is a computer language designed to help composers create note-level control information for hardware synthesizers or synthesis software. Canon was motivated by my need for a simple yet powerful language for teaching second-semester stud...
Real-Time Software Synthesis on Superscalar Architectures
, 1992
"... Advances in processor technology will make it possible to use general-purpose personal computers as real-time signal processors. This will enable highly-integrated "all-software" systems for music processing. To this end, the performance of a present generation superscalar processor running synthesi ..."
Abstract
-
Cited by 13 (7 self)
- Add to MetaCart
Advances in processor technology will make it possible to use general-purpose personal computers as real-time signal processors. This will enable highly-integrated "all-software" systems for music processing. To this end, the performance of a present generation superscalar processor running synthesis software is measured and analyzed. A real-time reimplementation of Fugue, now called Nyquist, takes advantage of the superscalar synthesis approach, integrating symbolic and signal processing. Performance of Nyquist is compared to Csound.
The implementation of Nyquist, a sound synthesis language
- Computer Music J
, 1997
"... Nyquist is an advanced functional language for sound synthesis and composition. One of the goals of Nyquist is to achieve efficiency comparable to more conventional Music N synthesis languages such as Csound (Vercoe 1986). Efficiency can be measured in space and time, and both are important: digital ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
Nyquist is an advanced functional language for sound synthesis and composition. One of the goals of Nyquist is to achieve efficiency comparable to more conventional Music N synthesis languages such as Csound (Vercoe 1986). Efficiency can be measured in space and time, and both are important: digital audio takes enormous amounts of memory, and sound synthesis programs are computationally intensive. The efficiency requirement interacts with various language features, leading to a rather elaborate representation for signals. I will show how this representation supports Nyquist semantics in a space and timeefficient manner. Among the features of the representation are incremental computation, dynamic storage allocation and reclamation, dynamic instantiation of new signals, representation of infinite sounds, and support for multi-channel, multi-sample-rate signals.
Software Support for Interactive Multimedia Performance
, 1993
"... . A set of techniques have been developed and refined to support the demanding software requirements of combined interactive computer music and computer animation. The techniques include a new programming environment that supports an integration of procedural and declarative score-like descriptions ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
. A set of techniques have been developed and refined to support the demanding software requirements of combined interactive computer music and computer animation. The techniques include a new programming environment that supports an integration of procedural and declarative score-like descriptions of interactive real-time behavior. Also discussed are issues of asynchronous input, concurrency, memory management, scheduling, and testing. Two examples are described. Keywords: music, interactive, composition, MIDI, multimedia, software 1. Introduction My work for the past few years has focused on the use of real-time computer systems to carry on compositional processes during a performance. The rationale behind this work is that composing during a performance allows a work of music to benefit from the ideas of a composer as well as those of an improviser. Of course, this could be said about many approaches ranging from aleatoric music to jazz. Almost all music contains elements of compo...
Real Time Control For Interactive Computer Music and Animation
, 1989
"... Real-time systems are commonly regarded as the most complex form of computer program due to parallelism, the use of special purpose input/output devices, and the fact that time-dependent errors are hard to reproduce. Several practical techniques can be used to limit the complexity of implementing re ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Real-time systems are commonly regarded as the most complex form of computer program due to parallelism, the use of special purpose input/output devices, and the fact that time-dependent errors are hard to reproduce. Several practical techniques can be used to limit the complexity of implementing realtime interactive music and animation programs. The techniques are: (1) a program structure in which input events are translated into procedure calls, (2) the use of non-preemptive programs where possible, (3) event-based programming which allows interleaved program execution, automatic storage management, and a single run-time stack, (4) multiple processes communicating by messages where task preemption is necessary, and (5) interface construction tools to facilitate experimentation and program refinement. These techniques are supported by software developed by the author for realtime interactive music programs and more recently for animation. Although none of these techniques are new, the...
A Brief Survey of Music Representation Issues, Techniques, and Systems
"... ly, there is a mathematical function that maps beat numbers to time and an inverse function that maps time to beats. (Some special mathematical care must be taken to allow for music that momentarily stops, instantaneously skips ahead, or is allowed to jump backwards, but we will ignore these details ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
ly, there is a mathematical function that maps beat numbers to time and an inverse function that maps time to beats. (Some special mathematical care must be taken to allow for music that momentarily stops, instantaneously skips ahead, or is allowed to jump backwards, but we will ignore these details.) One practical representation of the beat-to-time function is the set of times of individual beats. For example, a performer can tap beats in real time and a computer can record the time of each tap. This produces a finitely sampled representation of the continuous mapping from beats to time, which can be interpolated to obtain intermediate values. MIDI Clocks, which are transmitted at 24 clocks per quarter note, are an example of this approach. The Mockingbird score editor [Maxwell 84] interface also supported this idea. The composer would play a score, producing a piano-roll notation. Then, downbeats were indicated by clicking with a mouse at the proper locations in the piano roll score....
Software Techniques for Interactive Performance Systems
"... The CMU MIDI Toolkit supports the development of complex interactive computer music performance systems. Four areas supported by the system are: input handling, memory management, synchronization, and timing (scheduling and sequencing). These features are described and then illustrated by their use ..."
Abstract
- Add to MetaCart
The CMU MIDI Toolkit supports the development of complex interactive computer music performance systems. Four areas supported by the system are: input handling, memory management, synchronization, and timing (scheduling and sequencing). These features are described and then illustrated by their use in two performance systems. 1. Introduction Complex interactive real-time systems are among the most difficult to program, but certain techniques can simplify the programming task and increase software reliability. Four aspects of real-time systems that often lead to complexity and errors are: input handling, memory management, synchronization, and timing. Practical approaches to these problems have been developed and incorporated into the CMU MIDI Toolkit, a set of support tools and programming libraries for interactive computer music systems. This paper is a "report from the trenches" on techniques that have proven to be effective. I will also attempt to analyze the techniques to explain ...
Roger B. Dannenberg, Abstract Time Warping of Compound Events and Signals Abstract Time Warping of Compound Events and Signals
"... Functions of time are often used to represent continuous parameters and the passage of musical time or tempo. The work described in this article generalizes previous work in three ways. First, common temporal operations of stretching and shifting are shown to be special cases of a new general time-w ..."
Abstract
- Add to MetaCart
Functions of time are often used to represent continuous parameters and the passage of musical time or tempo. The work described in this article generalizes previous work in three ways. First, common temporal operations of stretching and shifting are shown to be special cases of a new general time-warping operation. Second, it shows a language in which these operations are “abstract.” behaviors that interpret warping at an appropriate structural level. Third, we show how time warping can be applied to both discrete events and continuous signals. These new generalizations are implemented in Nyquist, and we describe the implementation.
OpenMusic Visual Programming Environment for Music Composition, Analysis and Research
"... OpenMusic is an open source environment dedicated to music composition. The core of this environment is a fullfeatured visual programming language based on Common Lisp and CLOS (Common Lisp Object System) allowing to design processes for the generation or manipulation of musical material. This langu ..."
Abstract
- Add to MetaCart
OpenMusic is an open source environment dedicated to music composition. The core of this environment is a fullfeatured visual programming language based on Common Lisp and CLOS (Common Lisp Object System) allowing to design processes for the generation or manipulation of musical material. This language can also be used for general purpose visual programming and other (possibly extra-musical) applications.

