Published June 7, 2022 | Version v2

Zero-cost Abstractions To Manage Audio Resource Allocation In Functional Programming Languages

Authors/Creators

  • 1. wags.fm

Description

Audio programming languages fall into two broad categories: imperative (CSound, sclang) and functional (Faust, tidal). For the latter, the declarative and immutable nature of data and control structures are often at odds with the mutable and referentially opaque nature of audio units like oscillators and filters. Recently, languages such as Rust have bridged this chasm through zero-cost abstractions that manage resource allocation in otherwise functional settings. In the same spirit, this paper presents a zero-cost abstraction for the management of audio units when working with pure audio rendering functions. The result is automatic audio memory management that incurs a minimal runtime penalty while retaining an expressive functional syntax.

Files

66.pdf

Files (423.1 kB)

Name Size
md5:19f330f367c2c0ccb4ab445b1f68ff4f
423.1 kB Preview Download