⌂ Algorithmic Composition for Classical Guitar Equipped
with MIDI Pickup
___________________________________________________________
Csound was created in 1985 by Barry Vercoe at the MIT Media Lab, developing and formalizing the pioneering ideas of Max Mathews, a foundational figure in computer music who had already explored digital sound synthesis during the 1960s through the Music I–V family of programs. Csound’s original structure is emblematic in its simplicity: a system based on an orchestra and a score, in which the composer defines synthetic instruments and musical events through a rigorous textual language. A decisive step toward integration with the Max/MSP environment came through the work of Matt Ingalls, who, between the late 1990s and early 2000s, developed csound~, an external object that allows Csound to run directly within a Max patch as a native object. Ingalls was already known for MacCsound, a real-time implementation of Csound for Macintosh, and the experience gained in real-time audio processing provided the conceptual foundation for the development of csound~.
The importance of this integration is multifaceted. Csound~ brings the entire arsenal of Csound opcodes into the Max/MSP environment—including additive, subtractive, and FM synthesis, physical modeling, granular synthesis, and formant synthesis—making these techniques available in real time, a prerequisite for interactive performance. Particularly significant is the computational efficiency of the Csound engine, which is often superior to equivalent implementations developed exclusively in native Max. Max’s visual interface thus becomes the control layer for an exceptionally powerful synthesis engine, capable of being driven through MIDI, sensors, graphical objects, and complex data streams.

Interface MaxMSP with Csound~
"Il giardino di Goldbach" by Stefano Petrarca
The modularity of the system is comprehensive: csound~ integrates directly into the Max/MSP data stream, allowing the composer to employ advanced algorithmic processes and interactive visual structures simultaneously. This is further enhanced by the portability of the system, which has ensured operational stability across Macintosh platforms, an area in which Matt Ingalls had already developed significant expertise through his work on MacCsound.
The result is an environment in which the algorithmic complexity of Csound and the interactive flexibility of Max/MSP coexist seamlessly, providing both composers and performers with a workspace of exceptional technical and expressive richness.
It is also worth briefly recalling the development lineage of csound~. Originally created by Matt Ingalls in the early 2000s for the Macintosh platform, the project was subsequently maintained by Davis Pyon, later updated to Csound 6 and migrated to the official repository by Steven Yi. More recent developments led to the creation of csound6~, developed by Iain Duncan beginning in 2021 and based on the modern Csound 6 API. This evolution benefited significantly from the contributions of Steven Yi, Victor Lazzarini, and John Peter Fitch, all of whom played a decisive role in the broader development of the Csound~ 6 architecture (*)
*
To use
Csound with Max/MSP you need two things: the actual Csound engine
and an interface (external) that drives it inside Max. The
engine is currently at version 6.18.1 (Universal
build, runs on both M1 and Intel). Two interfaces are available:
csound_tilde (csound~)
and csound6~. Stefano Petrarca's piece uses
csound_tilde, which works on both M1 and Intel.