|english|español|català|

CLAM FAQ

Will CLAM suit my needs?

This is of course the million dollar question. It is difficult to be sure whether CLAM can suit your needs until you really try it out. Nevertheless, here are a few hints that may help you decide:

Back

What should be my background in order to use CLAM?

CLAM can be used at many different levels and for different purposes so you background may vary depending on your particular requirements. In this sense we can distinguish at least the following three levels of usage:

  1. You just want to use a pre-compiled example such as SMSTools: In this case you are only required to have some previous signal processing knowledge in order to understand what is going on
  2. You want to use one of the provided examples: Then you will need to install CLAM and compile the example you are interested on. Installing is quite straightforward (please refer to the download page). In any case, once CLAM is deployed in your system all you will have to do is compile the required example.
  3. You want to develop your own application: Appart from the previous requirements you will need some knowledge in C++ programming. It is true that some people learn CLAM and C++ at the same time but this might not be a gentle way of learning a language such as C++.
  4. You want to become a CLAM developer: All you need after the previous step is to send us in your code!

Back

What can CLAM do?

Although CLAM can be used for many different purposes a good way to learn what it can do is to review the functionalities illustrated in the examples available in the repository. According to these examples you may use CLAM to:

Back

Why does CLAM depend on so many 3rd party libraries?

CLAM aims at offering all necessary services for building an audio and music application. This implies many different tools and possible requirements. Some of those tools already exist and, as it makes no sense implementing them from scratch, all we do is take them and adapt them to the CLAM interface or "way of doing things". Put in other words, CLAM would be unthinkable without the great work of all those developers.

Back

Is CLAM a "library" or a "framework"?

CLAM is a software framework as defined by Ralph E. Johnson. CLAM does not only offer a set of functionalities but also provides a conceptual metamodel or way of doing things. Read X. Amatriain's phd if you are interested on this theoretical discussion.

Back

Are there any similar frameworks?

There are a few frameworks that overlap with CLAM's goals. If you are only interested in audio analysis and feature extraction you should check:

If you are interested only in audio synthesis you should check:

And if you are looking for a framework with both analysis and synthesis capabilities check:

In any case, CLAM presents both conceptual and practical differences with all of them. If you are interested in a thorough presentation of CLAM alternatives and how they compare to our framework please refer to X. Amatriain's phd.

Back

Who is behind CLAM?

CLAM is currently supported and developed by some members of the Music Technology Group at the Universitat Pompeu Fabra and CREATE at the University of California, Santa Bargara. Our group is distributed between sunny Barcelona and also sunny Santa Barbara. The team is lead by Xavier Amatriain from California and Pau Arumi from Barcelona. CLAM has always had a stable core of four to 6 developers though none of us can really work even halftime on it

CLAM has had support from a number of public European projects such as AGNULA or SIMAC and is used in many of our internal projects. At this moment it is being developed under a grant from the Catalan Government.

Back

How should I approach CLAM?

There are different ways to approach CLAM that depend on your previous background. Our usual way to introduce CLAM to newbies is to point them to the "Introduction" and then to the CLAM "tutorial". This tutorial, though, is quite long and introduces other concepts appart from CLAM (such as the SMS model). In your case it might be easier to start off by reading some simpler examples. You will have to do it anyhow at some point.

Back

What is the future of CLAM?

CLAM should soon be more stable once it reaches its 1.0 release. Read the CLAM Roadmap to learn what are the previsions. CLAM will be used internally so its continuity is more or less guaranteed. Nevertheless we hope that it can soon become more "collaborative" and we can start accepting contributions from external users.

Back

What if I want to use CLAM in a non-Free project?

CLAM is GPL and therefore Free as defined by the Free Software Foundation. This means that you can use it with no restrictions as long as the result remains Free. If you want to use it from within a proprietary application then you should definitely talk to us. We use a double licensing scheme (ala FFTW) so CLAM can be (and as a matter of fact has already been) licensed for non-free usages.

Back