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.