Signal Rate Inference for Multidimensional Faust (Inproceeding)
Proceedings of the 28th Symposium on the Implementation and Application of Functional Programming Languages, pp. 1:1–1:12, ACM, Leuven, Belgium, 2016, ISBN: 978-1-4503-4767-9, (a1-orlarey.pdf).
@inproceedings{Orlarey:2016:SRI:3064899.3064902,
title = {Signal Rate Inference for Multidimensional Faust},
author = {Yann Orlarey and Pierre Jouvelot},
doi = {10.1145/3064899.3064902},
isbn = {978-1-4503-4767-9},
year = {2016},
date = {2016-01-01},
booktitle = {Proceedings of the 28th Symposium on the Implementation and Application of Functional Programming Languages},
pages = {1:1–1:12},
publisher = {ACM},
address = {Leuven, Belgium},
series = {IFL 2016},
abstract = {We introduce a new signal-level, type- and rate-based semantic framework for describing a multirate version of the functional, domain-specic Faust language, dedicated to audio signal processing, and here extended to support array-valued samples. If Faust is usually viewed as a formalism for combining signal processors, which are expressions mapping input signals to output signals, we provide here the first formal, lower-level semantics for Faust based on signals instead. In addition to its interest in understanding the inner workings of the Faust compiler, which uses symbolic evaluation of signal expressions, this approach turns out to be useful when introducing a language extension targeting multirate and multidimensional (array-valued) processing.
More precisely, we provide (1) new syntax and dynamic semantics for (recursive) Faust-based signals, (2) a type and, more interestingly, rational rate static semantics and (3) a new rate inference algorithm, together with its soundness and (relative) completeness theorems.},
note = {a1-orlarey.pdf},
keywords = {audio signal processing, FAUST, rate inference, type systems},
pubstate = {published},
tppubtype = {inproceedings}
}
We introduce a new signal-level, type- and rate-based semantic framework for describing a multirate version of the functional, domain-specic Faust language, dedicated to audio signal processing, and here extended to support array-valued samples. If Faust is usually viewed as a formalism for combining signal processors, which are expressions mapping input signals to output signals, we provide here the first formal, lower-level semantics for Faust based on signals instead. In addition to its interest in understanding the inner workings of the Faust compiler, which uses symbolic evaluation of signal expressions, this approach turns out to be useful when introducing a language extension targeting multirate and multidimensional (array-valued) processing.
More precisely, we provide (1) new syntax and dynamic semantics for (recursive) Faust-based signals, (2) a type and, more interestingly, rational rate static semantics and (3) a new rate inference algorithm, together with its soundness and (relative) completeness theorems.