CLAM (C++ Library for Audio and Music) is an open-source framework for research and application development in the audio and music domain. It is based on the concept of data-processing modules linked into a network. Modules can perform complex audio signal analysis, transformations and synthesis.
CLAM (C++ Library for Audio and Music) is a framework for audio and music programming. It may be used for developing any type of audio or music application as well as for doing more complex research related with the field. In this paper we introduce the practicalities of CLAM’s first release as well as some of the sample application that have been developed within the framework.See for a more conceptual approach to the description of the CLAM framework.
HOW IT WAS MADE?
CLAM is programmed in C++. Code is regularly compiled with gcc in Linux, Microsoft and Intel compilers in Windows and Code Warrior in Windows and MacOS. We have had the chance to test how differently compilers behave and how bad most of them adjust to the ANSI ISO standard. Altl this is specially true when it comes to the use of the most recent C++ features, such as templates, and related techniques, such as template metaprogramming. This techniques where initially considered as potentially useful in the CLAM framework, but this lack of language support in most compilers, together with the need of optimizing the compiling speed of the library, has led to a rather scarce use of them. On the other hand, a technique considered obsolete as it is the use of C macros, has proven very useful to minimize programmer's effort and enable the implementation of rather complex behaviors (one of the good things of developing with a multi-paradigm language like C++ is that you can always find a more or less immediate workaround). Also, C macros are a simple compiler feature which is available in all C++ development platforms.
CLAM CAN BE USED FOR
CLAM responded to an urgent internal need for having a structured repository of signal processing tools focused on audio and music. For that reason, it has been used as an internal development framework since its very beginning. Of course, our patient users have had to cope with multiple refactoring periods that have led to the implementation of a rather complex branching scheme on our CVS repository. But on the other hand, we have been able to implement an spiral iteration process, redefining requirements and redesigning our model at each turn. Thus, CLAM applications have been developed and have been used as benchmarks to test the feasibility of the library. In the following lines, the main characteristics of these applications are outlined. All of them share the same underlying structure and have at least a Windows and Linux version that highlights the portability spirit of the framework. SALTO is a software based synthesizer.It is based on a spectral modeling technique named SMS. It implements a general architecture for these synthesizers but it is currently only prepared to produce high quality sax and trumpet synthesis. Pre-analyzed data are loaded upon initialization. The synthesizer responds to incoming MIDI data or to musical data stored in an XML file. Output sound can be either stored to disk or streamed to the sound card on real-time. Its GUI allows to modify synthesis parameters on real-time. Time Machine is a high quality time stretching algorithm that is already being used in some commercial products. It is a clear example of how the core of CLAM processing can be used in isolation as it lacks of any GUI, audio input/output.SMS Analysis/Synthesis illustrates the core of the research being carried out at the MTG. It is a complete rework of the already public SMSTools application that has become flagship of the group. Configurations are loaded from XML files. Using these parameters the input sound can be analyzed, looked at using the GUI, transformed and synthesized back. The result of the analysis can be stored in MPEG-7 like XML format. RAPIDD has been designed for performing real-time audio processing/transformation. It has proven to be a robust, reliable and efficient sound processor in a live performance. A prototype was used for accomplishing real-time morphing of a harp and a viola in a composition by Gabriel Brnic that was performed in the Multiphonies 2002 concert cycle at the GRM in Paris. The GUI for that particular application was developed using QT and it used a CLAM-based signal processing library as its sound engine.
Industry :
Deployment :
Language :
Software © Copyright by Clam (All data, images, content, links of this software/service are subject to our market research & controlled by the vendor.)
CLAM |
|
|
|
|
Rating & Reviews | ||||
Short Description |
CLAM (C++ Library for Audio and Music) is an open-source framework for research ... more |
|||
Deployment |
|
|||
Pricing | ||||
Available For |
|
|||
Powered by | Clam | |||
Download Brochure |
Not Available |
Adding to Cart...
Not a member?Register
Please check your inbox or spam.