Introduction. A Classification of Audio and Music Processing Environments

As already mentioned the great number of existing environments for audio and music processing depart from different requirements and many focus on different aspects of audio and music. Before describing these different environments we will give a brief, and therefore incomplete, classification.

Until now, we have intentionally been using the word ``environment'' instead of ``framework''. The reason is that we will only use the word framework when talking about an application or domain framework in the sense described in section 1.3. The environments included in this present chapter range from full-fledged application frameworks such as Open Sound World (see 2.3.2) or SndObj (see 2.3.3) to simple visual applications with some extension capabilities such as WaveWarp (2.5). Some environments (see Supercollider in section 2.6.1) even go a step further and offer a complete programming language. This difference offers us a first classifying criteria, with extremely flexible application frameworks or programming languages on one end and simple applications on the other. Optimizing flexibility often compromises other features, namely usability or understandability, so a compromise needs to be taken.

Another interesting question that is particularly important for music and audio environments is whether a particular environment is focused on analysis, synthesis or both. Audio and music analysis has quite different requirements from synthesis and it is often difficult to match both. (As a simple example, in audio synthesis real-time performance is a big issue while in analysis application, the most important issue is usually how to organize and effectively store the analysis results).

In figure 2.1 we illustrate a temptative graphical classification map of the different environments reviewed in this chapter. We distinguish environments that have already been discontinued in dotted lines. On the other hand, the most important environments are highlighted with a larger font size. Note that although special care has been put on the position of each environment in some particular cases the fact that one environment is above or below another one, especially in overcrowded clusters, is meaningless and responds to purely aesthetic reasons.

Figure 2.1: Classification of Audio and Music Environments

Many other features can be used to classify these environments. After presenting the CLAM framework in next chapter we will concentrate on some of them in order to highlight its similarities and differences. Nevertheless it is already interesting to list them in order to focus our attention on those particularly interesting features. When looking at one of this environments, apart from the three conceptual issues previously commented we will also be interested in the following issues:

Bearing all this issues in mind we will now give an overview of existing music and audio processing environments2.1. We have classified them into four main categories: general purpose signal processing and multimedia environments, audio processing frameworks, music processing frameworks, audio and music graphical programming applications and music languages. It is important to note that although we have forced every environment to be classified in one of the categories, it is seldom the case that they perfectly fit into it, having some features that probably belong to a different one. Therefore we should think of this classification as a fuzzy set with blurred border lines.