Overview Clamps Packages CM Dictionary Clamps Dictionary Fomus
Next: Internal Components of Clamps , Previous: Why Clamps? , Up: Introduction , Home: Introduction

Clamps Overview

External components of Clamps

As the acronym as a word implies, Clamps combines and extends different Common Lisp Packages. Apart from using many general purpose Lisp packages, crucial components of Clamps are realized on top of the following packages which do the heavy lifting of Clamps' functionality:

These systems and their contribution to Clamps are described in the following subsections.

Incudine

Incudine is the backbone of the system for everything related to Real-time computing or DSP. It is actively developed and maintained at the time of writing this manual by Tito Latini and released under an open source license. Incudine is a very efficient DSP engine with a builtin sample accurate scheduler, combining many ideas from other well established systems like Csound, SuperCollider or CLM. Incudine has no preconceptions concerning audio- or control-rate. It can be used with any blocksize starting from 1 sample.

Common Music

Common Music (also called CM) is another crucial component of Clamps. It has been developed since the early 1990s by Rick Taube and is released with an open source license. Common Music was primarily conceived to facilitate algorithmic composition on the Metalevel1. Initially written in Common Lisp, it has since been transformed into version 3 using the Scheme programming language, adding sophisticated realtime capabilities likening it to the purpose of Clamps. The system used in Clamps is based on the last Common Lisp version 2.12, released around 2008/2009. Although this version already contained realtime capablilities, this functionality has been adapted in Clamps using Incudine. Clamps extends the functionality of CM by adding classes for SVG import/export as well as SFZ and sample based in-/output realized with Incudine.

FOMUS

FOMUS is a system for score output originally developed in Common Lisp in 2005-2007 by David Psenicka. It integrates well with Common Music, facilitating output in a wide range of backend formats like CMN, LilyPond or MusicXML. In Clamps, mainly the LilyPond backend is supported.

ATS

ATS was originally developed by Juan Pampin in the early 2000s using Common Lisp for the analysis, transformation and (re)synthesis of audio files using FFT based algorithms similar to SPEAR. ATS has been published with an open source license making it eligible for integration into Clamps. In addition to the analysis of sinusoidal components performed by SPEAR it also captures and synthesizes the residual noise component of the analyzed audio files. For Clamps, the synthesis engine has been completely rewritten in Incudine.

CLOG

CLOG is a web based system written by David Botton in Common Lisp and Javascript to enable the rendering of Graphical User Interfaces in a Webbrowser using Websockets for the communication between Common Lisp and the Browser. CLOG closes the gap of missing GUIs in Common Lisp based systems due to the time of the definition of the Common Lisp Standard in the 1980s, predating the predominant use of GUIS in current computer applications.