Synchronous programming in audio processing
ACM Computing Surveys
The adequacy of a programming language to a given software project or application domain is often considered a key factor of success in software development and engineering, even though little theoretical or practical information is readily available to help make an informed decision. In this paper, we address a particular version of this issue by comparing the adequacy of general-purpose synchronous programming languages to more domain-specific languages (DSL) in the field of computer music.
... re precisely, we implemented and tested the same lookup table oscillator example program, one of the most classical algorithms for sound synthesis, using a selection of significant synchronous programming languages, half of which designed as specific music languages -Csound, Pure Data, SuperCollider, ChucK, Faust -and the other half being general synchronous formalisms -Signal, Lustre, Esterel, Lucid Synchrone and C with the OpenMP Stream Extension (Matlab/Octave is used for the initial specification). The advantages of these two approaches are discussed, providing insights to language designers and possibly software developers of both communities regarding programming languages design for the audio domain. ACM Reference Format: Karim Barkati and Pierre Jouvelot, 2012. Synchronous programming in audio processing: a lookup table oscillator case study. ACM Comput. Surv. V, N, Article A ( YYYY), 35 pages.