Tracks Technical Program Tutorials Workshops DesignFest Educators' Symposium Doctoral Symposium Demonstrations Posters Student Research Competition Student Volunteers Special Events Exhibits Housing Information Registration Information Transportation |
Wednesday 11:00-11:45 Convention Ctr - Exhibit Hall 4A2 CLAM: An OO Framework for Developing Audio and Music ApplicationsCLAM (C++ Library for Audio and Music) is a framework for developing cross-platform applications and research works in the audio and music domain. The framework offers general infrastructure and services that dramatically improve development speed and final code quality, thus enhancing re-usability and portability. In the CLAM framework data types as well as processing and flow control entities are objects that respond to a well-defined and clean interface. For doing so we have had to fight against a well established idea in the DSP community: well structured code compromises run-time performance. CLAM is unique and different to other existing solutions in many senses: it is more OO, it is written in C++, it is cross-platform, it is Free Software and it is efficient. For implementing CLAM services the multiparadigm nature of the C++ programming language has been exploited. OO techniques have been combined with template metaprogramming, static dispatching or C-like macros to reduce the programmers effort. The demo will consist of the execution of some sample applications such as: Spectral Delay: Real-time multiband delayRapidd: A real-time application that may be used in liveperformancesAnalysis/Synthesis: an offline application for spectral analysis, synthesis and transformations.Salto: A real-time midi-controlled sax synthesizer All demos will be run on Windows and Debian-Linux on a regular PC platform. Code will be shown for all applications and issues related to efficiency, robustness, code simplicity and readability will also be discussed. |