CLAM TUTORIAL

CLAM (C++ Library for Audio and Music) is a framework for developing audio and music applications in C++. This tutorial aims at introducing the different tools that are present in the framework while also giving an introduction to Spectral Processing.  If you are mostly interested in real time processing, graphical interface or MIDI, this tutorial will not cover these items so you will have to look at CLAM documentation.

The user of this tutorial is expected to have some knowledge of C++ and OO programming as well as some basic knowledge of signal processing. Depending on your initial level there may be parts of this tutorial that you may find obvious or even insulting, please skip them and keep reading. On the other hand, some tasks are marked with an A! sign. These are intended for "advanced" readers and should be understood as complementary, not affecting the overall understanding of the tutorial, you may skip them as well. As a matter of fact, even if you feel confident enough to address them in the first place, it may be a good idea to leave them for a second iteration over the tutorial once you have finished up the main application.


CLAM Introduction, slides used as the first day introductory material to CLAM.

CLAM web

Part 1 and 2 of this tutorial provide an introduction to the CLAM framework and will give you a quick overview of it's most important parts. Parts 3 to 10 are a hands-on tutorial; starting with a very simple minimal CLAM application and working your way to a fully working SMS analysis and synthesis application.

Part 1 - Introduction to CLAM
Part 2 - Introduction to CLAM (II): the SMS Example
Part 3 - My first CLAM application: playing around with Audios
Part 4 - Processing on the Spectral Domain
Part 5 - The STFT and CLAM Segment
Part 6 - SMS Analysis
Part 7 - Spectral Synthesis
Part 8 - SMS Synthesis
Part 9 - Wrapping-up the application A!


Analysis-only version of the tutorial. If you are interested only in the analysis capabilities of CLAM and not so much on the low-level signal processing details, you can access this shorter version of the tutorial. The first parts of the tutorial have a slighter narrower scope, leaving out some signal-processing details. The synthesis part of the tutorial is substituted by an introduction to statistical descriptors computation in CLAM.