An Open Architecture for Real-Time Audio Processing Software

OSW, or “Open Sound World,” allows development of audio applications using patching, C++, high-level specifications and scripting. In OSW, components called “transforms” are dynamically configured into larger units called “patches.” New components can be expressed using familiar mathematical definitions without deep knowledge of C++. High-level specifications of transforms are created using the “Externalizer,” and are compiled and loaded into a running OSW environment. The data used by transforms can have any valid C++ type. OSW uses a reactive real-time scheduler that safely and efficiently handles multiple processors, time sources and synchronous dataflows.

[1]  David L. Mills,et al.  Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI , 1996, RFC.

[2]  Bjarne Stroustrup,et al.  The C++ Programming Language, Second Edition , 1991 .

[3]  Uzi Shvadron,et al.  Asynchronous rate conversion , 1997, Proceedings of First Signal Processing Society Workshop on Multimedia Signal Processing.

[4]  Edsger W. Dijkstra,et al.  Go To Statement Considered Harmful , 2022, Software Pioneers.

[5]  Ken Jones,et al.  Practical programming in Tcl & Tk , 1995 .

[6]  Roger B. Dannenberg,et al.  Low-latency Music Software Using Off-the-shelf Operating Systems , 1998, ICMC.

[7]  Edward A. Lee,et al.  Dataflow process networks , 2001 .

[8]  Bjarne Stroustrup,et al.  C++ : programovací jazyk : The C++ programming language (Orig.) , 1997 .

[9]  David Wessel,et al.  Audio Applications of the Sound Description Interchange Format Standard , 1999 .

[10]  Donald E. Knuth,et al.  Structured Programming with go to Statements , 1974, CSUR.

[11]  Amar Chaudhary Band-Limited Simulation of Analog Synthesizer Modules by Additive Synthesis , 1998 .

[12]  Eric Clarke,et al.  Rhythm and Timing in Music , 1999 .

[13]  Edward A. Lee,et al.  Ptolemy II, Heterogeneous Concurrent Modeling and Design in JAVA , 2001 .

[14]  Matthew Wright Implementation and Performance Issues with OpenSound Control , 1998, ICMC.

[15]  Mordechai Ben-Ari,et al.  Principles of concurrent programming , 1982 .

[16]  Amar Chaudhary,et al.  Music Programming with the new Features of Standard C++ , 1998, ICMC.

[17]  Matthew Wright,et al.  Supporting the Sound Description Interchange Format in the Max/MSP Environment , 1999, ICMC.

[18]  Roger B. Dannenberg,et al.  Real-time issues in computer music , 1993, 1993 Proceedings Real-Time Systems Symposium.

[19]  Roger B. Dannenberg,et al.  Real-time scheduling and computer accompaniment , 1989 .

[20]  Matthew Wright,et al.  Preparation for Improvised Performance in Collaboration with a Khyal Singer , 1998, ICMC.

[21]  David Wessel,et al.  Communication of Musical Gesture using the AES/EBU Digital Audio Standard , 1998, ICMC.

[22]  S Puckette Miller,et al.  Pure Data : another integrated computer music environment , 1996 .

[23]  Jennifer C. Hou,et al.  Distance-Constrained Scheduling and Its Applications to Real-Time Systems , 1996, IEEE Trans. Computers.

[24]  David Zicarelli,et al.  An Extensible Real-time Signal Processing Environment for Max , 1998, ICMC.

[25]  Matthew Wright,et al.  New Musical Control Structures from Standard Gestural Controllers , 1997, ICMC.