Patchwork is a graphical interactive environment for computer assisted composition which is aimed at helping composers generate, represent and manipulate musical material. Its general, extendible environment can be easily adapted to suit radically different aesthetic needs.
Implemented using Macintosh Common Lisp, Patchwork
was originally conceived to create, manipulate and edit musical
structures in order to generate pre-compositional material for
instrumental music. Interfaces for the synthesis programs Csound
and Chant have been subsequently added as supplementary tools
for controlling sound synthesis.
Patchwork was designed to offer the musician a wide range of musical functions, to provide a flexible environment in which he can craft his compositional material and structures and to allow him to test his results with commercial synthesizers. However, one of Patchwork's principal strengths is that it allows the composer to add personalised functions specifically adapted to his constantly evolving compositional needs.
A patch is a graphically programmed execution
procedure represented on-screen by interconnected objects (programs)
in the form of boxes/modules containing inputs and outputs. The
path traced by the operating connections between these objects
defines the behaviour of a particular musical application pertaining
to the creation, transformation or editing of musical data.
Part of Patchwork's power is related to the principle of abstraction in which a complex patch can be transformed into a single box. The musician can then organise these abstractions into specialised libraries in order to create his own ever-developing environment.
The module is the basic unit of Patchwork. It
is selected from a list of categorised modules in the menu bar.
Its graphic representation in a patch is a rectangle (box) containing
a variable number of inputs and a single output. Each module is
associated with a specific function whose code (programmed in
Lisp) can be easily accessed and modified in a text window.
The different types of Patchwork modules include:
According to the knowledge, experience and needs
of the composer, Patchwork can be used at different levels:
Concept: Mikael Laurson, Camilo Rueda,
User group: Mikhaïl Malt
Development: the IRCAM Music Representation team: Gérard Assayag, Carlos Agon
Macintosh or PowerMacintosh (preferably with a large monitor) and System Software 7.1 or later. A minimum of 8MB of RAM and a 20MB hard disk is strongly recommended. In order to compile new functions/modules, Patchwork needs Common Lisp 2.0.1 (available by Digitool or APDA). For Macintosh models before PowerMacintosh, the Csound and Chant Libraries are compatible with a Digidesign card and a high quality audio reproduction system; Chant can also be used on NeXT, SGI, Dec Alpha, and Dec Mips stations.