Synchronous programming in audio processing: A lookup table oscillator case study

  • Authors:
  • Karim Barkati;Pierre Jouvelot

  • Affiliations:
  • MINES ParisTech, France;MINES ParisTech, France

  • Venue:
  • ACM Computing Surveys (CSUR)
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 article, we address a particular version of this issue by comparing the adequacy of general-purpose synchronous programming languages to more Domain-Specific Languages (DSLs) in the field of computer music. More 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.