Coypu and Phausto: accessible live sound coding with Pharo

Domenico Cipriani; Sebastian Jordan Montaño; Stéphane Ducasse

Coypu and Phausto: accessible live sound coding with Pharo
Image credit: Domenico Cipriani; Sebastian Jordan Montaño; Stéphane Ducasse

Abstract:

Coypu and Phausto have been designed to turn the Pharo IDE into a music playground, enabling on-the-fly composition and DSP programming, with a focus on accessibility, fun, and simplicity. Like Pharo itself, both libraries are free, open source and cross-platform. Coypu focuses on the creation, manipulation and playback of musical patterns, with sound rendering that can be handled by different audio servers. Phausto provides an interface for programming synthesisers and audio effects by leveraging an embedded Faust compiler. Pharo’s syntax, rooted in the pedagogical tradition of Smalltalk, can be taught straightforwardly to introduce beginners to computer music practice. Moreover, Pharo’s reflective capabilities support a constructivist approach to discovering and learning the internal mechanisms of the system, as well as how to implement custom methods and classes. In this paper, we present the architecture and the core features of Coypu and Phausto. We first give an overview of the Pharo programming language and its IDE, followed by a description of the syntax and semantics of our libraries and their usage scenarios. Finally, we report on the libraries’ use in live performances and workshops, examine critical aspects of the system, and outline future challenges and improvements.