CLAM (C++ Library for Audio and Music) is a full-fledged software framework for research and application development in the Audio and Music Domain. It offers a conceptual model as well as tools for the analysis, synthesis and processing of audio signals.


CLAM is constantly built and automatically-tested in several platforms. Through testfarm you can also monitor the development activity:



May 07, 2013

TestFarm 2.0 released

We just released TestFarm 2.0. Now on GitHub.

You can install it by running:

sudo pip install testfarm

In Debian/Ubuntu, if you installed python-stdeb first, it will be installed as a deb package you can remove as other debian packages.

This release is a major rewrite on the server side. You can expect it more reliable, more scalable and easier to install. It is also easier to maintain.
Most changes are at the server and the client-server interface. Client API is mostly the same and migration of existing clients should be quite straight forward.

Regarding CLAM, it would be nice if we can get a bunch of CLAM testfarm clients. Now clients are easier to setup. In order to setup one, please, contact us.

April 04, 2011

CLAM at Debian!

CLAM finally made its way into the official Debian repositories. Many thanks to the maintainer, Taniguchi Takaki.

Ubuntu PPA for CLAM

For the convenience of Ubuntu users, we deployed a personal package archive (PPA) in launchpad.

Instructions available at the same page. It currently contains libraries, extension plugins, NetworkEditor and Chordata packages for maverick, and platforms i386 and amd64.

March 08, 2010

CLAM Chordata 1.0


The CLAM project is pleased to announce the first stable release of Chordata, which is released in parallel to the 1.4.0 release of the CLAM framework.

Chordata is a simple but powerful application that analyses the chords of any music file in your computer. You can use it to travel back and forward the song while watching insightful visualizations of the tonal features of the song. Key bindings and mouse interactions for song navigation are designed thinking in a musician with an instrument at hands.

Chordata in live:
The tutorial:
Downloat it at

This application was developed by Pawel Bartkiewicz as his GSoC 2008 project, by using existing CLAM technologies under a more suited interface which is now Chordata. Please, enjoy it.

CLAM 1.4.0, 3D molluscs in the space

The CLAM project is delighted to announce the long awaited 1.4.0 release of CLAM, the C++ framework for audio and music, code name 3D molluscs in the space.

In summary, this long term release includes a lot of new spacialization modules for 3D audio; MIDI, OSC and guitar effects modules; architectural enhancements such as typed controls; nice usability features for the NetworkEditor interface; convenience tools and scripts to make CLAM experience better; enhanced building of LADSPA plugins and new support for LV2 and VST plugin building; a new easy to use application to explore songs chords called Chordata; many optimizations, bug fixing and code clean ups.

Many thanks to the people who contributed to this release, including but not limited to the GSoC 2008 students and all the crew at Barcelona Media’s Audio Group.

Some details follow:

  • Chordata is a new CLAM application which offers a user friendly way to explore the chords of your favourite songs, using already existing technology in the CLAM framework but with a much simpler interface. Video
  • The spacialization module and helper tools, contributed by Barcelona Media audio group, turn CLAM in tandem with Blender and Ardour, into a powerful 3D audio authoring and exhibition platform. Here you can see some related Videos.
  • Typed controls extend CLAM with the ability to use whichever C++ type as the message for a control. So, not just floats, but also bools, enums, integers, or envelopes can be sent as asynchronous controls. Examples on boolean and MIDI controls are provided.
  • NetworkEditor has been ported to the QGraphicsView framework. Dealing with heavy networks such the big ones used in Barcelona Media have pushed many usability enhancements into its interface: multi-wire dragging, wire highlighting, default port and control actions, network and in-canvas documentation… Video
  • It also made necessary to provide a tool such to perform batch high level changes to clam network XML files such as renaming processing types, ports, or configuration parameters, changing configuration values, duplicating sets of processings, connecting them…
  • Music Annotator application now is designed to aggregate several sources of descriptors and update them after edit. Descriptors are mapped to a work description schema that can be graphically defined. Also semantic web descriptor sources to access webservices such as MusicBrainz have been implemented.

You can download them from the download page. Source, windows, debian and ubuntu packages are available. Contributed binaries for other platforms are welcome.

See also: development screenshots, the CHANGELOG, the version migration guide and the new CLAM group on youtube.

November 24, 2009

Clam developers at the Blender conference

Clam developers Pau Arumí and Natanel Olaiz recently presented some new work in the fantastic Blender conference in Amsterdam. The talk was about a technology developed at BarcelonaMedia involving an innovative usage of Blender for 3D audio using CLAM for the audible-scene rendering and decoding and Ardour for playing out to any loudspeaker-layout. It was really nice to meet Blender developers and artists, and the overall conference was fun and a great experience! Now we expect to collaborate more with the Blender project in the future.

Our talk was entitled: Remixing of movie soundtracks into immersive 3D audio

The summary:
We present a use of Blender for an innovative purpose: the remastering of traditional movie soundtracks into highly-immersive 3D audio soundtracks. To that end we developed a complete workflow making use of Blender with Python extensions, Ardour (the Digital Audio Workstation) and audio plugins for 3D  spatialization and room acoustics simulation. The workflow consists in two main stages: the authoring of a simplified scene and the audio rendering. The first stage is done within Blender: taking advantage of the video sequence editor playing next to a 3D view, the operator recreates the animation of sound sources mimicking the original video. He then associates the objects in the scene with existing audio tracks of an Ardour session with the soundtrack mix and, optionally, adds acoustics properties to the scene prop materials (e.g. defining how a wooden room will sound) to render acoustics simulation using ray-tracing algorithms. In the second stage, a specification of the loudspeakers positions used in the exhibition is given, and the Ardour session with the soundtrack is automatically modified incorporating all the Blender’s edited sound scene, the necessary routing, and the 3D audio decoding plugins such as Ambisonics and other techniques implemented with CLAM.

The slides are available (we hope to add the accompanying videos soon).

May 17, 2009

CLAM at LAC 2009 and WWW 2009

Several nice CLAM related presentations has been given in conferences during last month. At the Linux Audio Conference in Parma, we presented an article on Blender-CLAM integration for real-time 3D audio (paper, slides, and video available at the link) and we also gave a workshop on CLAM app and plugin prototyping features. At the WWW2009 in Madrid, we presented an article on the new web services based extractors for Annotator and the data source aggreation interface also some videos of the presentation and demos are available featuring data sources aggregation and live chord extraction from youtube videos.

March 03, 2009

Google Summer of Code 2009 Warming Up

GSoC 2009

GSoC 2009

Google Summer of Code 2009 is warming up. We still don’t know whethe CLAM will be hosted again in this program. But, in any case, we really encourage you to get involved in the program.

If you have doubts, we recommend you take a look at the following video.

And, where to follow? Take a look at this ToDo List for GSoC 2009 and of course, read the program FAQ.

February 23, 2009

New Domain:

CLAM has moved to a new home: We also changed the wiki URL scheme.


And last but not least we moved the subversion server to the new domain and we changed some repository names. You can easily migrate existing subversion sandboxes by using the following command:

‘svn switch –relocate [old-svn-root] [new-svn-root] [sandbox]

You can get the svn-root with ‘svn info [sandbox]’ and the new locations for the repositories are:

Thousands thanks to the MTG and the IUA for hosting CLAM resources for so long after not being an official MTG project. And special thanks to Jordi Funollet, the MTG sysop, who has helped us to do the migration and responded to all our weird support petitions during those three years 😉

The CLAM Team.

August 12, 2008

CLAM 1.3.0, the Shooting Flying Plugins release

The CLAM team enraptured to announce the 1.3.0 release of CLAM, the C++ framework for audio and music,
code name The Shooting of the Flying Plugins release.

Highlights of this release are:

  • NetworkEditor automatically generates and compiles a LADSPA plugin containing the network you are editing. CLAM also provides a new simple API to code that by hand yourself.
  • More FAUST integration into network editor: edit faust code, compile, reload, view the svg diagrams (Natanael Olaiz GSoC)
  • Lots of usability enhancements on the NetworkEditor: cut&paste, context menus to connect ports, keyboard shortcuts, default double click actions, and a processing tree filter (Natanael Olaiz GSoC)
  • Annotator has also enhanced its functionality (Wang Jun GSoC):
    • You can build a project that aggregates content from several extractors
    • Extractors may have a config file
    • Extractors can write back data (useful if the extractor is a database of webservice and needs to upload modifications)
  • New ProgressControl widget and paired AudioFileMemoryLoader processing to support seeking (Pawel Bartkiewicz GSoC)
  • A bunch of new 3D spatialization processings from CI Barcelona Media audio research group.
  • Scripts and graphical front-end to generate a native CLAM plugin project from scratch.
  • Experimental Python bindings (still just-for-hackers install procedure)
  • TickExtractor example is compiling again (many thanks to Amaury Hazan from MTG-UPF)
  • Development deployment for Windows native compilation using MinGW (Wang Jun GSoC)

And a lot of small nice features and fixes you will appreciate for sure.
Source and binary packages for different platforms are available at the CLAM download page.

See also: development screenshots, the CHANGELOG, and the version migration guide.

We are very excited on what next releases promise us. Some ongoing work:

  • Generating other types of network based plugins and programs (LV2, JACK, VST…),
  • Subnetworks (Natanael Olaiz GSoC)
  • Improved OSC support, 3D scene descriptors parametrization receivers processings and Blender exporter to the spatialization processing choreographer. (Natanael Olaiz GSoC – related blogging)
  • Typed controls (Francisco Tufro GSoC)
  • A new musician-oriented standalone chord extraction application (Pawel Bartkiewicz GSoC)