Fun with interfaces (SVG interfaces for musical expression)

Benedict R. Gaster, Nathan Renney, Carinna Parraman
2019 Proceedings of the 7th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design - FARM 2019  
In this paper we address the design and implementation of custom controller interfaces, bridging the issue of user mapping between action and sound in interactive music systems. A simple framework utilizing functional specifications for musical interfaces and their mappings is presented, in terms of a subset of Scalable Vector Graphics (SVG); interfaces can be described using a simple Haskell based 'controller DSL' or equally using a vector drawing application (i.e. Illustrator). We demonstrate
more » ... the practical use of our system for specifying interfaces as SVGs combined with Faust, a functional DSL for Digital Signal Processing (DSP), in the context of building digital musical instruments. We combine these into a hardware and software audio toolkit, with synthesizers, a sampler, effects, and sequencers. Written in the systems programming language Rust, it demonstrates utilizing the output of our DSLs, providing a type safe and high-level framework for DSP and interface development, with the performance benefits of Rust. Working examples of custom interfaces are described, using ROLI's Lightpad and Sensel's Morph.
doi:10.1145/3331543.3342579 fatcat:tfohs3ci3fg4fn6jx4umq2l2ze