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?
- 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.
- 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.
- 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.
- 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