ABOUT CLAM

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.


Since the beginning of the early developments around the year 2000, the three main goals were defined as:
  • Complete: should include all utilities needed in a Sound Processing Project (input/output, processing, storage, display...)
  • Flexible: Easy to use and adapt to any kind of need.
  • Platform Independent: Compile under GNU/Linux, Windows and Mac platforms.
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.

If you are interested in learning more about CLAM you should visit the documentation section in this same website and read any of the articles or presentations there listed.


These are the people involved in the CLAM development:

Current Developers:
Xavier Amatriain (xavier at create dot ucsb dot edu)
Pau Arumí (parumi at iua dot upf dot edu)
David García (dgarcia at iua dot upf dot edu)
Ismael Mosquera (imosquera at iua dot upf dot edu)

Past Developers:
Maarten de Boer
Miquel Ramírez
Xavier Rubio
Xavier Oliver
Enrique Robledo