Ciaramella: A Synchronous Data Flow Programming Language For Audio DSP
- Authors
- Paolo Marrone1, Stefano D'Angelo1, Federico Fontana2, Gennaro Costagliola3, Gabriele Puppis2
- Status
- Published in Proceedings of the 19th Sound and Music Computing Conference (SMC-22), pp. 407–414, Saint-Étienne, France, June 2022
- 1
- Orastron Srl, Sessa Cilento, Italy
- 2
- Università degli Studi di Udine, Udine, Italy
- 3
- Università degli Studi di Salerno, Salerno, Italy
BibTeX
@inproceedings{marrone22ciaramella,
title={Ciaramella: A Synchronous Data Flow Programming Language For Audio DSP},
author={Marrone, Paolo and D'Angelo, Stefano and Fontana, Federico and Costagliola, Gennaro and Puppis, Gabriele},
booktitle={Proc. 19\textsuperscript{th} Sound and Music Comp. Conf. (SMC-22)},
pages={407--414},
month={June},
year={2022},
address={Saint-\'Etienne, France}
}Abstract
Various programming languages have been developed specifically for audio DSP in the last decades, yet only a handful of industrial and commercial applications are known to actually use them. We assume that this is due to some common deficiencies of such languages, namely the tight coupling between syntax and computational model, which limits modularity, and the adoption of programming paradigms that are conceptually distant from conventional DSP formalism. We propose a new audio DSP programming language, called Ciaramella, based on the synchronous data flow (SDF) computational model and featuring a fully declarative syntax to address these issues. A source-to-source compiler which translates Ciaramella code to C++ and MATLAB programs has been developed. We have checked that our solution allows to naturally represent and correctly schedule highly-interdependent DSP systems such as Wave Digital Filters (WDFs) which would be hard to handle in current audio DSP languages.