Scientific Publications

Paolo Marrone, Stefano D'Angelo, Federico Fontana, Gennaro Costagliola, Gabriele Puppis

Ciaramella: A Synchronous Data Flow Programming Language For Audio DSP

in Sound and Music Computing Conference, 2022


Ciaramella is a new audio DSP programming language, featuring a fully declarative syntax and the synchronous data flow computational model. We developed a compiler, Zampogna, which translates Ciaramella code to C++ and MATLAB. We demonstrate that our solution allows to naturally represent and correcly schedule highly-interdependent DSP systems such as Wave Digital Filters.

PDF


Paolo Marrone

A Web Playground for Ciaramella

in Colloqui di Informatica Musicale, 2022


We implemented a web playground for coding in Ciaramella, compiling and instantly generating working web audio plugin prototypes. In order to obtain that, its compiler, Zampogna, which is written in JavaScript, has been embedded in a web page, and it has been augmented for the production of JavaScript code. We developed a simple graphical user interface targeting both domain experts and newcomers.

PDF


Paolo Marrone, Stefano D'Angelo, Federico Fontana

Introducing stateful conditional branching in Ciaramella

in Sound and Music Computing Conference, 2023


Mixing control and data flow comes with both theoretical and practical problems. We found a solution to implement conditional blocks in the SDF model, and we designed a syntax to express if-then-elses blocks in Ciaramella while respecting the declarative and data flow paradigms. Additionally, the branches can have internal state/memory, which is a rare feature in this kind of language.

PDF