Zero-cost Abstractions To Manage Audio Resource Allocation In Functional Programming Languages
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
(411.3 kB)
Name | Size | Download all |
---|---|---|
md5:2d4fe4d7cf1f714295f88cee54297c72
|
411.3 kB | Preview Download |