CLAM


DISCLAIMER: What you will find in this website is still beta version of the CLAM library, published in the context of the Agnula IST project

CLAM stands for C++ Library for Audio and Music and in Catalan means something like "a continuous sound produced by a large number of people as to show approval or disapproval of a given event" It is the best name we could find after long discussions and it is certainly much better than its original name (MTG-Classes).

CLAM is a full-fledged software framework for research and application development in the Audio and Music Domain. It offers a conceptual model as well as tools for the analysis, synthesis and transformation of audio signals.

The original goal of the CLAM development framework was defined as:

"To offer a complete, flexible and platform independent Sound Analysis/Synthesis C++ platform to meet current and future needs of all MTG projects."

The three main axes of these goals were defined as:

These initial objectives have slightly changed since then mainly to accommodate to the fact that the library is no longer seen as an internal tool for the MTG but as a library that is published under the GNU-GPL in the frame of the Agnula IST European Project.

Another Audio Library ?

What makes CLAM different from other similar solutions that already exist?

  1. To begin with, CLAM is truly object oriented. Extensive software engineering techniques have been applied in order to design a framework that is both highly usable and understandable.
  2. CLAM is comprehensive as it not only includes classes for audio and music processing but also for audio and MIDI input/output, XML serialisation services, a Visualization Module or multithreading handling.
  3. The framework is cross-platform. All the code is regularly compiled under Linux, Windows and MacIntosh using the most commonly used compilers. Even the code for input/output, visualisation and multithreading is cross-platform down to the lowest possible layer.
  4. The project is GPL. Although we maintain the option of double licensing the framework, everything offered in the public version in the course of the AGNULA project will be GPL and the project will thus become open-source and collaborative.
  5. CLAM is bound to survive. Although its public success is by no means guaranteed, CLAM will remain the basis for all future developments in the MTG and thus will be maintained and updated in a regular basis.