SAOL: the MPEG-4 Structured Audio Orchestra Language

Total Page:16

File Type:pdf, Size:1020Kb

SAOL: the MPEG-4 Structured Audio Orchestra Language Eric D. Scheirer and Barry L. Vercoe Machine Listening Group SAOL: The MPEG-4 E15-401D MIT Media Laboratory Cambridge, Massachusetts 02139-4307, USA Structured Audio [email protected] [email protected] Orchestra Language Since the beginning of the computer music era, The Motion Pictures Experts Group (MPEG), tools have been created that allow the description part of the International Standardization Organiza- of music and other organized sound as concise net- tion (ISO) finished the MPEG-4 standard, formally works of interacting oscillators and envelope func- ISO 14496, in October 1998; MPEG-4 will be des- tions. Originated by Max Mathews with his series ignated as an international standard and published of “Music N” languages (Mathews 1969), this unit in 1999. The work plan and technology of MPEG-4 generator paradigm for the creation of musical represent a departure from the previous MPEG-1 sound has proven highly effective for the creative (ISO 11172) and MPEG-2 (ISO 13818) standards. description of sound and widely useful for musi- While MPEG-4 contains capabilities similar to cians. Languages such as Csound (Vercoe 1995), MPEG-1 and MPEG-2 for the coding and compres- Nyquist (Dannenberg 1997a), CLM (Schottstaedt sion of audiovisual data, it additionally specifies 1994), and SuperCollider (McCartney 1996b) are methods for the compressed transmission of syn- widely used in academic and production studios thetic sound and computer graphics, and for the today. juxtaposition of synthetic and “natural” (com- As well as being an effective tool for marshalling pressed audio/video) material. a composer’s creative resources, these languages Within the MPEG-4 standard, there is a set of represent an unusual form of digital audio com- tools of particular interest to computer musicians pression (Vercoe, Gardner, and Scheirer 1998). A called Structured Audio (Scheirer 1998, 1999; program in such a language is much more succinct Scheirer, Lee, and Yang forthcoming). The MPEG-4 than the sequence of digital audio samples that it Structured Audio tools allow synthetic sound to be creates, and therefore this method can allow for transmitted as a set of instructions in a unit-gen- more dramatic compression than traditional audio erator-based language, and then synthesized at the coding. The idea of transmitting sound by sending receiving terminal. The synthesis language used in a description in a high-level synthesis language MPEG-4 for this purpose is a newly devised one and then performing real-time synthesis at the re- called SAOL (pronounced “sail”), for Structured ceiving end, which Vercoe, Gardner, and Scheirer Audio Orchestra Language. By integrating a music- (1998) term structured audio, was suggested as synthesis language into a respected international early as 1991 (Smith 1991). A project at the Massa- standard, the required broad base of systems can be chusetts Institute of Technology (MIT) Media established, and industrial support for these power- Laboratory called NetSound (Casey and Smaragdis ful capabilities can be accelerated. The sound-syn- 1996) constructed a working system based on this thesis capabilities in MPEG-4 have a status concept, using Csound as the synthesis engine, equivalent to the rest of the coding tools; a compli- and allowing low-bit-rate transmission on the ant implementation of the full MPEG-4 audio sys- Internet. If it were possible to create a broad base tem must include support for real-time synthesis of mutually compatible installed systems and mu- from SAOL code. sical compositions designed to be transmitted in In this article, we describe the structure and ca- this manner, this technique could have broad util- pabilities of SAOL. Particular focus is given to the ity for music distribution. comparison of SAOL with other modern synthesis languages. SAOL has been designed to be inte- Computer Music Journal, 23:2, pp. 31–51, Summer 1999 grated deeply with other MPEG-4 tools, and a dis- © 1999 Massachusetts Institute of Technology. cussion of this integration is presented. However, Scheirer and Vercoe 31 Downloaded from http://www.mitpressjournals.org/doi/pdf/10.1162/014892699559742 by guest on 26 September 2021 it is also intended to be highly capable as a stand- expressive (so that musicians can do complex alone music-synthesis language, and we provide things easily), and highly functional (so that any- some thoughts on the implementation of efficient thing that can be done with digital audio can be stand-alone SAOL musical instruments. Strengths expressed in SAOL). Additionally, SAOL as a lan- and weaknesses of the language in relation to guage should lend itself to efficient implementa- other synthesis languages are also discussed. A dis- tions in either hardware or software. cussion of the role of the MPEG-4 International As well as the new features of SAOL that are de- Standard in the development of future computer scribed below, many well-established features of music tools concludes the article. Music-N languages (Mathews 1969; Pope 1993) are retained. SAOL, like other Music-N languages, de- fines an instrument as a set of digital signal-pro- SAOL: Structure and Capabilities cessing algorithms that produces sound. A set of instruments is called an orchestra. Other retained SAOL is a declarative unit-generator-based lan- features include: the sample-rate/control-rate dis- guage. In this respect, it is more like Csound tinction, which increases efficiency by reducing (Vercoe 1995; Boulanger forthcoming) than it is sample-by-sample calculation and allowing block- like SuperCollider (McCartney 1996a, b; Pope based processing; the orchestra/score distinction, 1997) or Nyquist (Dannenberg 1997a); Nyquist in which the parametric signal-processing instruc- employs a functional-programming model in its tions in the orchestra are controlled externally by design, and SuperCollider employs an object-ori- a separate event list called the score (one of ented model. SAOL extends the syntax of Csound Nyquist’s innovations is the removal of this dis- to make it more understandable and concise, and tinction); the use of instrument variables to en- adds a number of new features to the Music-N capsulate intermediate states within instruments model that are discussed below. and global variables to share values between in- It is not our contention that SAOL is a superior struments; and a heavy dependency on stored- language to the others we cite and compare here. In function tables or wavetables to allow efficient fact, our belief is somewhat the opposite: the dif- processing of periodic signals, envelopes, and other ferences between general-purpose software-synthe- functions. These historical aspects of SAOL will sis languages are generally cosmetic, and features not be discussed further here, but excellent sum- of the languages’ implementations are much more maries on the evolution and syntactic construction crucial to their utility for composers. For the of synthesis languages may be found in other refer- MPEG-4 project, we developed SAOL anew because ences (Roads 1996; Dannenberg 1997a, b; and it has no history or intellectual-property encum- Boulanger forthcoming, among others). brances that could impede the acceptance of the standard. SAOL is not a research project that pre- sents major advances in synthesis-language design; Readability rather, it is an attempt to codify existing practice, as expressed in other current languages, to provide Where Csound is “macro-assembly-like,” Nyquist a fixed target for manufacturers and tools develop- is “Lisp-like,” and SuperCollider is “Smalltalk- ers making use of software-synthesis technology. like,” SAOL is a “C-like” language. In terms of There were several major design goals in the cre- making the language broadly readable, this is a ation of SAOL. These were: to design a synthesis good step, because C is the most widely used of language that is highly readable (so that it is easy these languages. The syntactic framework of to understand and to modify instrument code), SAOL is familiar to anyone who programs in C, al- highly modular (so that general-purpose process- though the fundamental elements of the language ing algorithms can be constructed and reused are still signal variables, unit generators, instru- without modification in many orchestras), highly ments, and so forth, as in other synthesis lan- 32 Computer Music Journal Downloaded from http://www.mitpressjournals.org/doi/pdf/10.1162/014892699559742 by guest on 26 September 2021 Figure 1. A SAOL instru- ment that makes a short tone. // This is a simple SAOL instrument that makes a short tone, // using an oscillator over a stored function table. instr beep(pitch,amp) { table wave(harm,2048,1); // sinusoidal wave function asig sound; // ‘asig’ denotes audio signal ksig env; // ‘ksig’ denotes control signal env = kline(0,0.1,1,dur-0.1,0); // make envelope sound = oscil(wave, pitch) * amp * env; // create sound by enveloping an oscillator output(sound); // play that sound } guages. (The exact syntax of C is not used; there Modularity are several small differences that make the lan- guage easier to parse.) The program in Figure 1 There is a highly capable set of unit generators shows a simple SAOL instrument that creates a built into the SAOL specification (100 in all; see simple beep by applying an envelope to the output Appendix 1). This set is fixed in the standard, and of a single sinusoidal oscillator. all implementations of SAOL must implement A number of features are immediately apparent them. However, SAOL may be dynamically ex- in this instrument. The instrument name (beep), tended with new unit generators within the lan- parameters (or “p-fields”: pitch and amp), stored- guage model. While other Music-N languages function table (wave), and table generator (harm) require rebuilding the language system itself to all have names rather than numbers. All of the sig- add new unit generators, this capability is a funda- nal variables (sound and env) are explicitly de- mental part of SAOL.
Recommended publications
  • Flocking: a Framework for Declarative Music-Making on the Web
    Proceedings ICMC|SMC|2014 14-20 September 2014, Athens, Greece Flocking: A Framework for Declarative Music-Making on the Web Colin Clark Adam Tindale OCAD University OCAD University [email protected] [email protected] ABSTRACT JavaScript. As artists and musicians increasingly use net- worked devices, sensors, and collaboration in their work, Flocking 1 is a framework for audio synthesis and mu- these limitations take an increasing toll on the complexity sic composition written in JavaScript. It takes a unique and scalability of creative coding. approach to solving several of the common architectural Flocking is an open source JavaScript framework that problems faced by computer music environments, empha- aims to address some of these concerns by connecting mu- sizing a declarative style that is closely aligned with the sicians and artists with the cross-platform, distributed de- principles of the web. livery model of the web, and with the larger pool of li- Flocking’s goal is to enable the growth of an ecosys- braries, user interface components, and tutorials that are tem of tools that can easily parse and understand the logic available to the web development community. Further, and semantics of digital instruments by representing the it emphasizes an approach to interoperability in which basic building blocks of synthesis declaratively. This is declarative instruments and compositions can be broadly particularly useful for supporting generative composition shared, manipulated, and extended across traditional tech- (where programs generate new instruments and scores al- nical subcultural boundaries. gorithmically), graphical tools (for programmers and non- programmers alike to collaborate), and new modes of so- cial programming that allow musicians to easily adapt, ex- 1.1 Interoperability in Context tend, and rework existing instruments without having to A primary motivating concern for Flocking is that the “fork” their code.
    [Show full text]
  • The Early History of Music Programming and Digital Synthesis, Session 20
    Chapter 20. Meeting 20, Languages: The Early History of Music Programming and Digital Synthesis 20.1. Announcements • Music Technology Case Study Final Draft due Tuesday, 24 November 20.2. Quiz • 10 Minutes 20.3. The Early Computer: History • 1942 to 1946: Atanasoff-Berry Computer, the Colossus, the Harvard Mark I, and the Electrical Numerical Integrator And Calculator (ENIAC) • 1942: Atanasoff-Berry Computer 467 Courtesy of University Archives, Library, Iowa State University of Science and Technology. Used with permission. • 1946: ENIAC unveiled at University of Pennsylvania 468 Source: US Army • Diverse and incomplete computers © Wikimedia Foundation. License CC BY-SA. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse. 20.4. The Early Computer: Interface • Punchcards • 1960s: card printed for Bell Labs, for the GE 600 469 Courtesy of Douglas W. Jones. Used with permission. • Fortran cards Courtesy of Douglas W. Jones. Used with permission. 20.5. The Jacquard Loom • 1801: Joseph Jacquard invents a way of storing and recalling loom operations 470 Photo courtesy of Douglas W. Jones at the University of Iowa. 471 Photo by George H. Williams, from Wikipedia (public domain). • Multiple cards could be strung together • Based on technologies of numerous inventors from the 1700s, including the automata of Jacques Vaucanson (Riskin 2003) 20.6. Computer Languages: Then and Now • Low-level languages are closer to machine representation; high-level languages are closer to human abstractions • Low Level • Machine code: direct binary instruction • Assembly: mnemonics to machine codes • High-Level: FORTRAN • 1954: John Backus at IBM design FORmula TRANslator System • 1958: Fortran II 472 • 1977: ANSI Fortran • High-Level: C • 1972: Dennis Ritchie at Bell Laboratories • Based on B • Very High-Level: Lisp, Perl, Python, Ruby • 1958: Lisp by John McCarthy • 1987: Perl by Larry Wall • 1990: Python by Guido van Rossum • 1995: Ruby by Yukihiro “Matz” Matsumoto 20.7.
    [Show full text]
  • Real-Time Multimedia Composition Using
    Real-time Multimedia Composition using Lua W esley Smith Graham W akefield Media Arts and Technology Program Media Arts and Technology Program University of California Santa Barbara University of California Santa Barbara [email protected] [email protected] ABSTRACT 1.2 Lua In this paper, a new interface for programming multimedia compositions in Max/MSP/Jitter using the Lua scripting Lua is a powerful, efficient scripting language based on language is presented. Lua is extensible and efficient making associative tables and functional programming techniques. it an ideal choice for designing a programmatic interface for Lua is ideally suited for real-time multimedia processing multimedia compositions. First, we discuss the distinctions because of its flexible semantics and fast performance; it is of graphical and textual interfaces for composition and the frequently used for game logic programming (e.g. World of requirements for a productive compositional workflow, and Warcraft [24]) and application extension (e.g. Adobe then we describe domain specific implementations of Lua Lightroom) [11]. bindings as Max externals for graphics and audio in that order. 1.3 jit.gl.lua and lua~ Categories and Subject Descriptors H.5.1 [Information Interfaces and Presentation] Multimedia The jit.gl.lua (for OpenGL graphics) and Lua~ (for audio DSP) Information Systems - animations; H.5.5 [Information extensions allow a new range of expressive control in which Interfaces and Presentation] Sound and Music Computing - arbitrary, dynamic data structures and behaviors can be methodologies & techniques, modeling, signal synthesis and generated, whilst interfacing with the convenient graphical processing; I.3.7 [Computer Graphics] Three-Dimensional interface and libraries of Max/MSP/Jitter.
    [Show full text]
  • Computer Music (So Far)
    Computer Music (So Far) Part I. Mainframes Computers have made noises since Eniac was rolled out in 1947. It seems one of the problems with programming the early systems was knowing that everything was operating properly. That's why you see computers in 50s science fiction movies covered in lights. A common trick was to connect a loudspeaker to a key component in the main processor -- this would give tones of various pitches as data moved in and out of the accumulator. As long as a program was running, the tones would change in a random sort of way. A steady pitch meant the program was caught in a loop and needed to be shut down. That's how beedle beep became the signifier of computer operation. The first real music program was written by Max Mathews in the early 1960s. He was working at Bell labs, a research center run by AT&T when they were the phone company. Max was primarily developing more practical things for the phone company (he invented the little square plug, for instance). But he worked on music software in his spare time. He called his software MUSIC, with the different versions indicated by Roman numerals. MUSIC made its first sound in 1957, playing single line tunes. MUSIC II, a year later, had four part polyphony. These ran on the most powerful computer of the day, and took something like an hour of computing time to generate a minute of music. The sound was similar to the tunes played by some wristwatches today. In 1960, MUSIC III introduced the concept of a "unit generator", a subroutine that would create a specific kind of sound and only needed a few numbers from the composer.
    [Show full text]
  • Towards a Functional-Aesthetic Sonification Design Framework A
    Composing and Decomposing Electroacoustic Sonifications: Towards a Functional-Aesthetic Sonification Design Framework A Dissertation Presented to The Academic Faculty by Takahiko Tsuchiya In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of Music Georgia Institute of Technology May 2021 Copyright © 2021 by Takahiko Tsuchiya Composing and Decomposing Electroacoustic Sonifications: Towards a Functional-Aesthetic Sonification Design Framework Approved by: Dr. Jason Freeman, Advisor Dr. Claire Author School of Music School of Music Georgia Institute of Technology Georgia Institute of Technology Dr. Grace Leslie Dr. Hiroko Terasawa School of Music Faculty of Library, Information and Georgia Institute of Technology Media Science University of Tsukuba Dr. Carrie Bruce Date Approved: February 1, 2021 School of Interactive Computing Georgia Institute of Technology ACKNOWLEDGEMENTS This thesis was only made possible by the tremendous help from my advisors, mentors, colleagues and friends. Dr. Jason Freeman has supported me and this research for so many years with genuine care. His guidance ensured that both scientific vigor and creative / aesthetic values unique in music technology are present in this research. Dr. Grace Leslie took generous time to understand my research goals and complexity, providing many practical advices and resources for the experimental design. Dr. Claire Author shared with me examples on conducting an online listening test as well as meticulous feedback on the manuscript. Dr. Carrie Bruce was also extremely helpful with constructive suggestions and insights on qualitative user studies. Perhaps more importantly, she first introduced me to a sonification project that ultimately grew into the present thesis. Dr. Hiroko Terasawa’s research in timbre and sonification was a direct inspiration for my thesis.
    [Show full text]
  • A Declarative Metaprogramming Language for Digital Signal
    Vesa Norilo Kronos: A Declarative Centre for Music and Technology University of Arts Helsinki, Sibelius Academy Metaprogramming PO Box 30 FI-00097 Uniarts, Finland Language for Digital [email protected] Signal Processing Abstract: Kronos is a signal-processing programming language based on the principles of semifunctional reactive systems. It is aimed at efficient signal processing at the elementary level, and built to scale towards higher-level tasks by utilizing the powerful programming paradigms of “metaprogramming” and reactive multirate systems. The Kronos language features expressive source code as well as a streamlined, efficient runtime. The programming model presented is adaptable for both sample-stream and event processing, offering a cleanly functional programming paradigm for a wide range of musical signal-processing problems, exemplified herein by a selection and discussion of code examples. Signal processing is fundamental to most areas handful of simple concepts. This language is a good of creative music technology. It is deployed on fit for hardware—ranging from CPUs to GPUs and both commodity computers and specialized sound- even custom-made DSP chips—but unpleasant for processing hardware to accomplish transformation humans to work in. Human programmers are instead and synthesis of musical signals. Programming these presented with a very high-level metalanguage, processors has proven resistant to the advances in which is compiled into the lower-level data flow. general computer science. Most signal processors This programming method is called Kronos. are programmed in low-level languages, such as C, often thinly wrapped in rudimentary C++. Such a workflow involves a great deal of tedious detail, as Musical Programming Paradigms these languages do not feature language constructs and Environments that would enable a sufficiently efficient imple- mentation of abstractions that would adequately The most prominent programming paradigm for generalize signal processing.
    [Show full text]
  • Deubois New Edit
    Extension 5: Sound Text by R. Luke DuBois Excerpt from Processing: a programming handbook for visual designers and artists Casey Reas and Ben Fry The history of music is, in many ways, the history of technology. From developments in the writing and transcription of music (notation) to the design of spaces for the performance of music (acoustics) to the creation of musical instruments, composers and musicians have availed themselves of advances in human understanding to perfect and advance their professions. Unsurprisingly, therefore, we find that in the machine age these same people found themselves first in line to take advantage of the new techniques and possibilities offered by electricity, telecommunications, and, in the last century, digital computers to leverage all of these systems to create new and expressive forms of sonic art. Indeed, the development of phonography (the ability to reproduce sound mechanically) has, by itself, had such a transformative effect on aural culture that it seems inconceivable now to step back to an age where sound could emanate only from its original source. The ability to create, manipulate, and losslessly reproduce sound by digital means is having, at the time of this writing, an equally revolutionary effect on how we listen. As a result, the artist today working with sound has not only a huge array of tools to work with, but also a medium exceptionally well suited to technological experimentation. Composers adopted digital computers slowly as a creative tool because of their initial lack of real‐time responsiveness and intuitive interface. Although the first documented use of the computer to make music occurred in 1951 on the CSIRAC machine in Sydney, Australia, the genesis of most foundational technology in computer music as we know it today came when Max Mathews, a researcher at Bell Labs in the United States, developed a piece of software for the IBM 704 mainframe called MUSIC.
    [Show full text]
  • Computational Composition Strategies in Audiovisual Laptop Performance
    Computational composition strategies in audiovisual laptop performance Alo Allik The University of Hull This thesis is submitted for the degree of Doctor of Philosophy to accompany a portfolio of audiovisual performances and the software systems used in the creation of these works PhD supervisors: Dr. Robert Mackay and Dr. Joseph Anderson This project was supported by the University of Hull 80th Anniversary Scholarship. April 2014 Acknowledgements I would like to take this opportunity to thank everyone who has supported this project throughout its duration. I am very grateful to my supervisor Rob Mackay who not only has been a very supportive and knowledgeable mentor, but also an amazingly accommodating friend during my time at the Creative Music Technology program at the University Hull Scarborough campus. I am also indebted to my first supervisor Jo Anderson for encouragement, lengthy conversations and in-depth knowledge, particularly in Ambisonic spatializa- tion, allowing me to test the early versions of the Ambisonic Toolkit. This project would not have been possible without the University of Hull funding this project over the course of 3 years and providing means to attend the ISEA symposium in Istanbul. I am grateful for the financial support from the School of Arts and New Media for attending conferences - NIME in Oslo, IFIMPAC in Leeds, and ICMC in Ljubljana - which has provided opportunities to present aspects of this research in the UK and abroad. These experiences proved to be instrumental in shaping the final outcome of this project. I owe a great deal to the dedication and brilliance of the performers and collaborators Andrea Young, Satoshi Shiraishi, and Yota Morimoto, the latter two also for sowing the seeds for my interest and passion for audiovisual per- formances while working together on ibitsu.
    [Show full text]
  • Flocking: a Framework for Declarative Music-Making on the Web
    Proceedings ICMC|SMC|2014 14-20 September 2014, Athens, Greece Flocking: A Framework for Declarative Music-Making on the Web Colin Clark Adam Tindale OCAD University OCAD University [email protected] [email protected] ABSTRACT JavaScript. As artists and musicians increasingly use net- worked devices, sensors, and collaboration in their work, Flocking 1 is a framework for audio synthesis and mu- these limitations take an increasing toll on the complexity sic composition written in JavaScript. It takes a unique and scalability of creative coding. approach to solving several of the common architectural Flocking is an open source JavaScript framework that problems faced by computer music environments, empha- aims to address some of these concerns by connecting mu- sizing a declarative style that is closely aligned with the sicians and artists with the cross-platform, distributed de- principles of the web. livery model of the web, and with the larger pool of li- Flocking’s goal is to enable the growth of an ecosys- braries, user interface components, and tutorials that are tem of tools that can easily parse and understand the logic available to the web development community. Further, and semantics of digital instruments by representing the it emphasizes an approach to interoperability in which basic building blocks of synthesis declaratively. This is declarative instruments and compositions can be broadly particularly useful for supporting generative composition shared, manipulated, and extended across traditional tech- (where programs generate new instruments and scores al- nical subcultural boundaries. gorithmically), graphical tools (for programmers and non- programmers alike to collaborate), and new modes of so- cial programming that allow musicians to easily adapt, ex- 1.1 Interoperability in Context tend, and rework existing instruments without having to A primary motivating concern for Flocking is that the “fork” their code.
    [Show full text]
  • Chugens, Chubgraphs, Chugins: 3 Tiers for Extending Chuck
    CHUGENS, CHUBGRAPHS, CHUGINS: 3 TIERS FOR EXTENDING CHUCK Spencer Salazar Ge Wang Center for Computer Research in Music and Acoustics Stanford University {spencer, ge}@stanford.edu ABSTRACT native compiled code, which is precisely the intent of ChuGins. The ChucK programming language lacks straightforward mechanisms for extension beyond its 2. RELATED WORK built-in programming and processing facilities. Chugens address this issue by allowing programmers to Extensibility is a primary concern of music software of implement new unit generators in ChucK code in real- all varieties. The popular audio programming time. Chubgraphs also allow new unit generators to be environments Max/MSP [12], Pure Data [8], built in ChucK, by defining specific arrangements of SuperCollider [6], and Csound [4] all provide mechanisms for developing C/C++-based compiled existing unit generators. ChuGins allow a wide array of sound processing functions. Max also allows control-rate high-performance unit generators and general functionality to be encapsulated in-situ in the form of functionality to be exposed in ChucK by providing a Javascript code snippets. Csound allows the execution of dynamic binding between ChucK and native C/C++- Tcl, Lua, and Python code for control-rate and/or audio- based compiled code. Performance and code analysis rate manipulation and synthesis. A thriving ecosystem shows that the most suitable approach for extending revolves around extensions to popular digital audio workstation software, in the form of VST, RTAS, ChucK is situation-dependent. AudioUnits, and LADSPA plugins developed primarily in C and C++. In general-purpose computing 1. INTRODUCTION enivornments, JNI provides a highly flexible binding between native machine code and the Java virtual Since its introduction, the ChucK programming machine-based run-time environment [5].
    [Show full text]
  • Subsynth: a Generic Audio Synthesis Framework for Real-Time Applications
    Iowa State University Capstones, Theses and Retrospective Theses and Dissertations Dissertations 1-1-2002 Subsynth: A generic audio synthesis framework for real-time applications Kevin August Meinert Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/rtd Recommended Citation Meinert, Kevin August, "Subsynth: A generic audio synthesis framework for real-time applications" (2002). Retrospective Theses and Dissertations. 20166. https://lib.dr.iastate.edu/rtd/20166 This Thesis is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Retrospective Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Subsynth: A generic audio synthesis framework for real-time applications by Kevin August Meinert A thesis submitted to the graduate faculty in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Major: Computer Engineering Program of Study Committee: Carolina Cruz-Neira, Major Professor Daniel Ashlock AnneDeane Julie Dickerson Govindarasu Manimaran Iowa State University Ames, Iowa 2002 Copyright © Kevin August Meinert, 2002. All rights reserved. 11 Graduate College Iowa State University This is to certify that the master's thesis of Kevin August Meinert has met the thesis requirements of Iowa State University Signatures have been redacted for privacy
    [Show full text]
  • From Live Coding to Virtual Being
    Live Coding and Machine Listening Nick Collins Durham University, Department of Music [email protected] ABSTRACT Live coding control of machine listening processes, or more radically, machine listening control of live coding, provides an exciting area of crossover between two research frontiers in computer music. is article surveys the state of the art, and reports a number of experimental projects that point to potentially productive further directions. 1. Introduction Live coding has established itself as a viable and productive method of computer music performance and prototyping, embracing the immedicacy of modern computer programming languages (Collins et al. 2003; Ward et al. 2004; Blackwell and Collins 2005; Brown and Sorensen 2009; Collins 2011; McLean 2011; Magnusson 2014). New avenues in interfacing for programming are being embraced, including tangible computing of unit generator graphs and musical sequences (see for example Mónica Rikić’s buildacode), natural language processing (e.g., Craig Laa’s oth) and computer vision (e.g., Nik Hanselmann’s bodyfuck (2009) brainfuck interface). Performance ventures range from the current vogue for algoraves, showcasing generative and interactive creation of electronic dance music (Collins and McLean 2014) to contemporary dance and live arts. Complementing existing work, this paper explores the interaction of live coding with machine listening, from listening functionality within existing performance systems towards the use of live audio analysis as programming interface itself.
    [Show full text]