Why the Future of Audio Is Functional


We'll start with a hypothesis that the way we approach writing modern audio software and DSP will significantly change in the near future. In particular, the imperative, object oriented programming model that dominates modern audio software will be replaced by a more declarative, functional programming model.

We'll explore this hypothesis with some common approaches to writing audio DSP using C++, demonstrating what works and what doesn't. We'll note that every digital signal is a function of time, and often must be stateful: we need signals that change over time. Here, the object oriented model in C++ can be quite helpful, but carries with it complexity that limits our ability to compose larger processes from smaller processes, and engages the author with the "how" of the system when only the "what" really matters.

I'll then introduce Elementary, an audio engine, runtime, and framework for writing audio apps in a functional, declarative model with JavaScript. I'll show what it looks like to work with Elementary, and explain how the runtime maps this model onto the underlying audio engine to deliver a fast and intuitive approach to writing and delivering audio applications.

[email protected]
Raw Material Software Limited
5 Technology Park, Colindeep Lane
United Kingdom
Contact Us
Copyright © Raw Material Software Limited
Raw Material Software Limited is a private limited company registered in the UK with company number 03971916
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram