CLAM classification

Out of the different categories presented in chapter 2, CLAM fits better into the ``Audio Processing Frameworks'' one, in the subcategory of ``General Purpose'' (see 2.3.3). Nevertheless it shares some properties with environments in other categories and has some particular features that make it different from the other frameworks included in this subcategory.

Let us first highlight the similarities that CLAM shares with other environments not in its subcategory.

First, CLAM is a framework with a clear focus on audio and music but its generic, open, and flexible model and design make it suitable for processing any kind of signal data. Particularly, there are plans to use the framework for image and video processing in the short term. Therefore, it would be possible that, in the mid-term, CLAM would fall into the first ``General Purpose Signal Processing and Multimedia Frameworks'' category (see 2.2).

Also CLAM is an object-oriented application framework3.4 as defined in section 1.3. Out of the different audio and music environment reviewed, only MET++ (see 2.2) and CSL (see 2.3.3) could be naturally defined as application frameworks.

But although we have just classified our framework as a ``General Purpose Audio Processing Framework'', it includes many analysis tools and features only comparable to the two frameworks included in the ``Analysis-Oriented Audio Processing Frameworks'' category (see 2.3.1), and particularly the most mature one, Marsyas (see 2.3.1).

Furthermore, even though CLAM is probably more oriented toward audio signal processing than toward musical symbolic data manipulation there are clear examples and applications in which such a data is used extensively. Nevertheless it is clear that CLAM does not, as most of the environments discussed in section 2.4, present a particular model of Music. In this sense it is very similar conceptually to Max (see 2.5) although CLAM for being a framework it allows to extend it and integrate different music models in it. In chapter 6 we introduce an Object-Oriented Music model that has been implemented in the framework.

CLAM is not a graphical application, neither is this one of its main features. For that reason it would make no sense to include it in this category (see 2.5). Nevertheless it includes a graphical ``network edition'' tool similar to that present in all the environments in this category (see 3.2.3). This tool, though important, is seen as just a particular instantiation of the framework and different graphical representations with distinct features could be developed and integrated with not much effort.

Finally, CLAM is definitely not a Musical Language (see 2.6) but it includes one (explained in chapter 6) as a particular instance of the general framework.

In figure 2.1 we presented a graphical representation of how the different environments presented in that chapter classified. In figure 3.19 we illustrate how CLAM would be positioned in respect to the other environments. CLAM extends its scope from the general purpose signal processing category and into the music processing realm, focusing on all audio processing applications, from analysis to synthesis3.5. We have also added to the figure CLAM's particular Visual Builder: the Network Editor. We have done so in order to stress the fact that this particular CLAM application is comparable in its scope to graphical applications such as Kyma or Max.

Figure 3.19: CLAM classification in respect to other environments