ICLC 2025 Catalogue

Music on-the-fly with Pharo

Domenico Cipriani (Lucretio)

The workshop is articulated in 4 sections of different durations. During the first section, the participants will be supervised while installing Pharo, Coypu, SuperCollider and SuperDirt (for Linux, macOS or Windows). In the second section, the focus shifts to introducing the syntax of Pharo and Coypu, their main features and their most relevant classes and methods to program music on-the-fly. In the third section we will explore the polysemic nature of Coypu, i.e. different ways to compose and manipulate patterns encouraging the participants to compose their own performance using SuperDirt as an audio engine for Pharo. In the last section we will explain how to install the Phausto package for Pharo; this packages enables the generation of sounds from within Pharo without the need of any external audio client; participants will be guided on how to load sound kits from the Phausto standard library and to perform with them, and simple DSPs can be written in Phausto. The goal of the workshop is to allow the participants to program music on-the-fly with Pharo and Coypu using both SuperDirt and Phausto for audio generation. Additionally we aim to underline the fundamental principles of pure object-oriented programming, highlighting the power of inheritance and abstraction. Also we want to exemplify the elegance of Pharo's reflective nature and the ease of use of its class browser provides to implement new classes and methods live.