The Microsound Synthesis Framework in the LC Computer Music Programming Language

This article describes the design of a framework for sound synthesis in LC, a new computer music language we prototyped, together with concrete code examples. Unlike existing unit-generator languages, LC provides objects as well as library functions and methods that can directly represent microsounds and related manipulations that are involved in microsound synthesis. Furthermore, LC is equipped with traditional unit generators, and these two different abstractions can collaborate seamlessly. Although the framework for microsound synthesis itself is not particularly bound to the entire language design of LC, such seamless unification between the traditional concept of unit generators and LC's microsound synthesis framework contribute to making LC's programming model for microsound synthesis simpler and terser in comparison with existing unit-generator languages. These features of LC's entire sound-synthesis framework can help computer musicians to creatively explore the domain of microsound synthesis and would also be beneficial for further research in computer music language as a design exemplar.

[1]  Curtis Roads,et al.  Introduction to Granular Synthesis , 1988 .

[2]  T. Baker,et al.  Opening up Ada-tasking , 1990, IRTAW '90.

[3]  Françoise Détienne,et al.  Software Design — Cognitive Aspects , 2001, Practitioner Series.

[4]  Eli Brandt,et al.  Temporal type constructors for computer music programming , 2000, ICMC.

[5]  Perry R. Cook,et al.  Combining Analysis and synthesis in the Chuck Programming Language , 2007, ICMC.

[6]  J. Simon Spoken Language Generation and Understanding , 1980 .

[7]  Ann Blandford,et al.  From tasks to conceptual structures: misfit analysis , 2001 .

[8]  Ryohei Nakatsu,et al.  Mostly-Strongly-Timed Programming in LC , 2014, ICMC.

[9]  Ross Bencina,et al.  Implementing Real-Time Granular Synthesis , 2001 .

[10]  Max V. Mathews An acoustic compiler for music and psychological stimuli , 1961 .

[11]  Eli Brandt,et al.  Implementing Temporal Type Constructors for Music Programming , 2001, ICMC.

[12]  Roger B. Dannenberg,et al.  Machine tongues XIX: Nyquist, a language for composition and sound synthesis , 1997 .

[13]  Nick Collins,et al.  The SuperCollider Book , 2011 .

[14]  Ge Wang,et al.  The chuck audio programming language. a strongly-timed and on-the-fly environ/mentality , 2008 .

[15]  Ge Wang,et al.  Chugens, Chubgraphs, Chugins: 3 Tiers for Extending Chuck , 2012, ICMC.

[16]  Alan F. Blackwell,et al.  The Abstract is an Enemy: Alternative Perspectives to Computational Thinking , 2008, PPIG.

[17]  Miller S. Puckette,et al.  Theory and Techniques of Electronic Music , 2007 .

[18]  Miller Puckette,et al.  Max at Seventeen , 2002, Computer Music Journal.

[19]  X. Rodet Time — Domain Formant — Wave — Function Synthesis , 1984 .

[20]  Curtis Roads,et al.  The Computer Music Tutorial , 1996 .

[21]  Max V. Mathews,et al.  The Technology Of Computer Music , 1970 .

[22]  Umer Farooq,et al.  API usability: report on special interest group at CHI , 2009, SOEN.

[23]  Alan F. Blackwell,et al.  CHAPTER 5 – Notational Systems—The Cognitive Dimensions of Notations Framework , 2003 .

[24]  Richard Boulanger The Csound book: perspectives in software synthesis, sound design, signal processing, and programming , 2000 .

[25]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[26]  Dennis Gabor,et al.  LECTURES On COMMUNICATION THEORY , 2015 .

[27]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[28]  Alan Purvis,et al.  VOCEL: New implementations fo the FOF synthesis method , 1988, ICMC.

[29]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[30]  Ann Blandford,et al.  Evaluating system utility and conceptual fit using CASSM , 2008, Int. J. Hum. Comput. Stud..

[31]  David P. Anderson,et al.  A system for computer music performance , 1990, TOCS.