Ciaramella: A Synchronous Data Flow Programming Language For Audio DSP

Paolo Marrone, Stefano D'Angelo, Federico Fontana, Gennaro Costagliola, Gabriele Puppis
2022 Zenodo  
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
more » ... 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 verified 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.
doi:10.5281/zenodo.6798221 fatcat:mwlpfqhcjfgvppu3llnz3ht3le