|english|español|català|

CLAM stands for C++ Library for Audio and Music and in Catalan means something like "a continuous sound produced by a large number of people as to show approval or disapproval of a given event".

CLAM 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.

If you want more information about the project, please contact Xavier Amatriain (xavier at create dot ucsb dot edu) or drop a lines to clam-info at iua dot upf dot edu.

> More..

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

NEWS

May 25, 2008

CLAMs GSoC 08 Projects Announced


We are very happy to announce the final list of this year’s projects in the Google Summer of Code. We have been extremely fortunate to have a large number of great students apply for CLAM this year and we are confident that the 5 projects outlined below will have a huge impact on the project and the CLAM “family”:

Natanael Olaiz UNQ, Argentina
“Network scalability and Blender integration”
This is a two sided project. The first part will improve the usability of CLAM networks allowing users to hierarchically embed networks as a processing units. The second part consists in developing a set of Blender plugins and CLAM networks to drive audio spacialization based on direct
sound from Blender 3D geometries.

Yushen Han (Indiana University, US)
“Real-time woodwind instrument synthesizer using SMS models”
The project consists in building a real-time synthesizer based on CLAM processing plugins, using SMS models, allowing flexible sound timber manipulation. This project is a continuation to Greg Kellum’s 2007 GSoC project.

Francisco Tufro (UBA, Argentina)
“MIDI Implementation for Network Editor”
This project is both about developing all the needed and most common MIDI processings and also about doing all the required refactorings to the Framework in order to achieve this (i.e. Typed Controls).

Pawel Bartkiewicz (AGH University, Poland)
“Standalone chord extractor application”
This project is about adapting CLAM’s chord extraction technology into an standalone application focusing on usability for instrument players. This project will integrate existing visual and processing components and it will have impact on the interaction between realtime and offline CLAM components.

Wang Jun (Chinese Academy of Science, China)
“AnnMerger-to stand on the shoulders of the masses”
This project goal is add into Annotator the ability of combining several sources of several kinds (webservice, database, files, extractors) into a single project. Secondary goals are providing new data sources and polishing the program workflow.

Read here for more details on the projects:

March 19, 2008

CLAM in GSoC 2008!


We are glad to announce that 2008 summer is also going to be a Summer of Code for CLAM. Google just announced the list of mentoring organizations for GSoC 2008 and CLAM is in it!

Now we seek smart students who enjoy coding free software so that they can earn some bucks for the summer. Last year, GSoC 2007 was a very fun and productive experience and we are willing to repeat it. Take a look at the CLAM GSoC 2008 wiki page for more information on how to apply and some sample ideas for projects.

We are waiting for you!

soc-clam-flyer_2008 deadline extended

February 07, 2008

CLAM 1.2, the GSoCket plugged-in release


clam12-releasecomposite.png
We are jubilous to announce CLAM 1.2 “GSoCket plugged-in release”. We had to wait for some months to make this release as we had to redeploy the multiplatform release infrastructure. Thus, the feature buffer of this release is pretty full. It incorporates both, the results of the Summer of Code students work and the involvement of David and Pau with the crew at Barcelona Media Foundation Audio Research Line.

We want to thank the involvement of GSoC students Hernan Hordiales, Bennet Kolasinsky, Greg Kellum, Andreas Calvo, Roman Goj and Abe Kazemzadeh, Google Inc, and Barcelona Media audio lab members for their precious involvement in CLAM.

A summarized list of changes follows. See also the CHANGES files for details, or the development screenshots for a visual guided tour. As usual binary packages for Windows, MacOSX and several flavors of Linux are available to download.

Summary of changes:

The most exciting feature is the new plugin system (acalvo) which enables third party algorithms to be distributed separately
from the core binaries. LADSPA plugins support has been enhanced and a first iteration on FAUST integration. The wiki contains how-to’s that cover most of that.

Most of the GSoC work come as plugins: a SMS Synthesizer (gkellum), a Voice synthesis/analysis (akazem) and some some cool guitar effects (hordia). Also not included as plugins but in the main repository several enhancements have been done on the SMS transformations (hordia) and the tonal analysis (rgoj).

Some interesting work has been done on the Barcelona Media Audio Lab on having a system to simulate 3D room acoustics which can be reproduced on several exhibition systems. Some precomputed room databases are available to try. Check the wiki NetworkEditor Tutorial for more information.

Regarding the applications, Network Editor incorporates new usability enhancements, a new on-line Tutorial and a new Spectrogram like view. The Annotator received Bennet Kolasinsky attention improving its the flexibility of its interface, the practical effects are multiple segmentation and low-level descriptors panes and that we are pretty close to visualization and auralization plugins.

Enjoy.

November 16, 2007

Two CLAM journal articles


The past few weeks a couple of CLAM-related journal articles have been published in two top-tier journals.

The article entitled “A framework for efficient and rapid development of cross-platform audio applications” - coauthored by Xavier Amatriain, Pau Arumi, and David Garcia - has just appeared in the ACM Multimedia Systems Journal. This can be considered as the “ultimate” CLAM article. Apart from presenting the main features in CLAM, we talk about the metamodel and some of the patterns present in the framework design.

Also Xavier Amatriain published the article entitled “A Domain-Specific Metamodel for Multimedia Processing Systems” in the IEEE Transactions on Multimedia. This is a more detailed and justified explanation of the metamodel that was derived while designing and implementing the CLAM framework.

CLAM team at Googleplex


Last month Pau Arumi and David Garcia from the CLAM team attended the Google Summer of Code Mentor Summit at Googleplex in Mountain View, California. Hundreds of mentors from many of the participating projects were invited to a one-day workshop where different issues related to the Summer of Code and Open Source in general were discussed. It was a great opportunity for the CLAM team to make connections with related projects and meet many interesting people.

Read more at David’s blog.

September 04, 2007

CLAM articles at Polish Linux Magazine


CLAM Article

Polish journal Linux Magazine has recently published two articles about CLAM, written by Pawel Wolniewicz. First — dealing with Music Annotator, SMSTools, and Voice2MIDI — and second, describing development of audio application, using Network Editor, accompanied by Prototyper. They were published in July and August issues.

Both articles were written in Polish.

August 02, 2007

CLAM at the Campus Party


The Campus Party is one of the world’s largest geek parties, with over 7000 participants
this year. Google is one of the hosts of the developers zone and every day it held special sessions on the Summer of Code inviting students and mentors to explain their experience. Xavier Amatriain from the CLAM team was invited to one of those sessions*.

More than a talk about CLAM it was a short overview of our wonderful experience in the GSoC. We were told the talk will be added to Google’s podcasts soon, will keep you informed.

*Actually, and to be clear, the project that was hosted was Joomla (ex-Mambo). It just happened that I (X. Amatriain) showed up very last minute and they invited me to talk for 5 minutes (many thanks to the Joomla guys and Google Spain!).

June 29, 2007

CLAM at Catalan Free Software Conference - See you in Girona!


colifree.png

We’ve been accepted this paper on Visual Construction of Audio Applications with CLAM in the 6th Jornades de Programari Lliure, which this year is held in Girona.

So next week –yes, that soon!– CLAM developers –Pau and David at least– will talk and (mostly) do live demos of the cool visual application construction features. The conference program seems to be still provisional. We’ll update this news as soon as the timetable gets confirmed.

Update (July 5th): Our talk will be Friday at 13:30. Just a little bit later than (another) interesting talk on GStreamer and Elisa by Andy Wingo, one of the Fluendo guys –a company also also based in Barcelona.

We hope to meet many old and new friends there. See you in Girona!

June 11, 2007

CLAM 1.1, The `More eye-candy, please` release.


eye-candy

After a very intense development months since the last 1.0 release, the CLAM crew is glad to announce that CLAM 1.1 is ready to download. It comes with many new features and code clean up. Most important improvements are found in the Visual Prototyping front: new 3D-looking widgets, new data viewers and control surface; and a simplified way to bind controls between the user interface and the processing network.

This release has been cooked-up under the umbrella of the Interactive Technology Group at the UPF lead by Josep Blat. So we thank their support! It also features the work from contributors such as Zach Welch; as well as the first patches from Google Summer of Code program —for example LADSPA and FAUST support and some work on Annotator widgets.

A summarized list of changes follows. See also the CHANGES files for details. New audio related widgets were added to be used on the NetworkEditor and the Prototyper. Such widgets include data views such as the BarGraph which can display LPC’s, MFCC’s. Nice control widgets were also added. The ControlSurface, for instance, to control two scalar parameters by moving a point. Some widgets were gathered from the LAC community, such as PkSampler PovRay generated widgets, and nice knobs we enhanced from QSynth and Rosegarden. Thanks to the developers of those projects for making them GPL and being so supportive while integrating them in CLAM. With all those widgets, users now can visually build more appealing applications such as the new examples we include with Prototyper: A real-time gender change, or real-time spectral effects.

The TonalAnalysis (Chord extraction) now takes advantage of fftw3 performing 4 times faster! The KeySpace visualization was also optimized so now tonal analysis runs even on very slow computers.

NetworkEditor and Prototyper usability have been enhanced. They exploit the new in-control bounds parameters to automatically set up bounded control senders widgets. Also, NetworkEditor have proper multi-processing selection features.

On different fronts, the code-base has been reduced by getting rid of Fltk and Qt3 modules since we are now focusing on Qt4, and the documentation have been restructured and now it offers new programming how-tos.

January 3rd, 2007

CLAM 0.97 released

Another release in the series of "often releases" till 1.0. The code-name for this release is Debian Packages: less is more as we have reduced the number of debian packages. Now all clam libraries comes packaged in a single .deb. In addition, we now keep architecture independent example data in different packages. In the future we plan to extract functionality and dependencies out of the big package to smaller plugin packages. Audio back-ends, codecs and processing collections are good candidates for this. This is actually that the road gstreamer and other projects take.

Remember that you can install them by adding a new source in your /etc/apt/sources.list

  deb http://clam.iua.upf.edu/download/linux-debian-sid ./
  deb http://clam.iua.upf.edu/download/linux-ubuntu-edgy ./ 
  deb http://clam.iua.upf.edu/download/linux-ubuntu-feisty ./ 
	

Next release 0.98 (due very soon) will take MacOSX packages definitively back. By now, the CLAM build system is already prepared for mac, so if you want to compile the apps, you'll find instructions in this how-to. Thanks Volker for all the feedback he is providing!

For details on this release changes, check the CLAM changelog and the NetworkEditor changelog.

December 22th, 2006

CLAM 0.96 released

A new release code-named The Most Stable NetworkEditor Ever is available to download. So imagine what is this release about. More info in the NetworkEditor changelog

December 21th, 2006

CLAM planet and new public devel list

Check out the CLAM planet made of blogs of CLAM related people.

For several years we have been using a non-public development list, with much more traffic than the public list. Today the devel-list goes also public. Subscribe if you want to participate or have a close eye into the development. We'd like to copy relevant threads from the old devel-list, so don't be surprise if your inbox gets tons of mails one of these days.

Find links for both the planet and the mailing lists in the navigation menu.

December 11th, 2006

CLAM 0.95 released

After several months without a stable release but lots of development activity, we are pleased to announce CLAM 0.95

Most important in this release is NetworkEditor 0.4, with a radically reworked UI based on Qt4.2, lots of work on stability and usability, and new visual-prototyping features.

You can visually prototype standalone apps (or audio plugins): Edit audio networks with NetworkEditor, then edit its UI using Qt Designer and CLAM widgets plugins. Finally, Prototyper let you run the audio network with its UI.

This is better shown in this quick tutorial

This release comes with many new processings, mostly spectral transformations. But we want to highlight the tonal-analysis which does chords identification at real-time, and its related visualizations. This code is based on the work done by researchers at Queen Mary University (London) and Universitat Pompeu Fabra (Barcelona). More credits are in the About box.

These and many other improvements can be found in the ChangeLog.

This release brings new packages for Linux (Debian sid/etch, Ubuntu edgy and feisty) and Windows installers. In Linux, you can simply add new sources to /etc/apt/sources.list

  deb http://clam.iua.upf.edu/download/linux-debian-sid ./
  deb http://clam.iua.upf.edu/download/linux-ubuntu-edgy ./ 

Both Linux and Windows comes with desktop integration and several examples ready to use. Mac OSX packages will be catching up next weeks.

November 24th, 2006

Gigantic CLAM networks

What happens when you project a large complex Network that is being designed in the NetworkEditor into a 3-story high immersive sphere? See for yourself.

Apart from developing CLAM, Xavier Amatriain is the technical manager of one of the world's largest immersive spaces. The Allosphere is a 3-story high immersive sphere in an anechoic cube that is currently being developed at the University of California Santa Barbara. Once equipped it will have around 15 high definition active stereo projectors and around 500 speakers for immersive audio synthesis. It will be used for scientific visualization/auralization. But for now, it can be used for cool demos to navigate inside the brain or to debug a complex Network that does not fit in your screen!

New real-time monitoring of CLAM development

Check out the CLAM testfarm page. Each new code check in (commit) awakes a number of testfarm clients in different platforms. They build CLAM from scratch, run automatic-tests and even publish some installers. It is also useful to monitor the repository activity such as the updated files and the check in comments.

Testfarm is a CLAM brother project but not CLAM specific. So you can use it to monitor any development that can be managed with command-line. It is similar to Mozilla Thinderbox and Buildbot but more light-weight and with some interesting features like automatic diagrams.

Public subversion access

  $ svn co http://iua-share.upf.edu/svn/clam/trunk   

This command will create a local copy of the repository with the following main directories: CLAM, NetworkEditor, SMSTools, Annotator, Voice2MIDI. Installation instructions are on CLAM/INSTALL

To update the sandbox (local copy of the repository) do: $ svn up
To check for current revision and new changes in the repository do: $ svn status -qu
To commit: well, send patches to the list.

October 26th, 2006

CLAM is presented at ACM Multimedia

We are currently in the ACM Multimedia conference in Santa Barbara, California. We just received the multimedia open-source award and also gave a demo of the latest CLAM features.

(Know the developers: Sitting left to right, Xavier, David and Pau.)

October 20th, 2006

CLAM design patterns are presented at PLoP

The development team is currently at PLoP (Program Languages of Programming Conference) 2006 in Portland, Oregon, in conjunction with OOPSLA. We are presenting this catalog consisting on eleven design patterns that contains our experience developing the CLAM framework and other systems. The patterns aim at offering a generative pattern language that falls within a generic data-flow architecture. The catalog is divided in four categories:

  • General Data-flow Patterns, that address problems about how to organize high-level aspects of the data-flow architecture, by having different types of modules connections;
  • Flow Implementation Patterns, that address how to physically transfer tokens from one module to another, according to the types of flow defined by the general data-flow patterns. Tokens life-cycle, ownership and memory management are recurrent issues in those patterns; and finally,
  • Network Usability Patterns, that address how humans can interact with data-flow networks.

Patterns at PLoP are discussed and improved in small writer's workshops, and we are very pleased to have Ralph Johnson as our workshop chair!

On a different matter of things, the new (still unreleased) Network Editor and Prototyper are getting a lot of improvements. To get an idea see the development screenshots gallery.

July 11th, 2006

CLAM won the ACM Open Source Multimedia Contest !

It is our pleasure to announce that CLAM has won the 2006 ACM Open Source Multimedia Contest. According to the jury: CLAM is a remarkably comprehensive system with impressive capabilities. The award will be presented in the forthcoming ACM Multimedia Conference. The ACM Open Source Competition is a prestigious international contest that is now in its third year. Last year, for instance, the award was given to the OpenVidia library for GPU accelerated Computer Vision.

CLAM is coordinated by Xavier Amatriain at the University of California Santa Barbara but is mostly developed at the Universitat Pompeu Fabra in Barcelona (Spain) by a team led by Pau Arumi and David Garcia. CLAM is now being developed thanks to a grant from the STSI at the Catalan Government (Generalitat de Catalunya).

This award culminates 5 years of ongoing research and development and the authors wish to thank all the past developers as well as all of our users and people who have given support throughout these years.

June 16th, 2006

CLAM 0.91.0 released: Spectral transformations, annotator, packaging, and desktop integration

We are glad to announce the 0.91.0 CLAM release which comes by the hand with Music Annotator 0.3.2, Network Editor 0.3.1 and SMSTools 0.4.1. They are available for download as source tarballs and also as binary packages for Windows, Ubuntu dapper, Debian sid and Fedora Core 5. MacOsX binaries are not available for this release, but we promise they will be back soon.

This release is the first official one which incorporates the new CLAM Music Annotator featuring chord extraction.

Almost 30 new spectral transformations have been incorporated into the processing repository. Some of them are already available from the NetworkEditor.

Application usage has received some extra stress on this release. Applications are better integrated on Windows and Linux desktops. Step by step application tutorials are available on the clam wiki for Music Annotator, SMSTools, Network Editor and Prototyper. And, all of them all provide examples to start with.

Please read these and other improvements in the changelog. We expect as much feedback as possible from all our users. Besides the mailing list, you can likely find us at #clam channel on FreeNode (IRC network).

May 8th, 2006

CLAM Music Annotator 0.3.1 has been released

We are proud to announce this major release of Annotator with lots of new features.

You can learn more about Music Annotator in its wiki page, which includes screenshots and videos galleries

The application comes with two example extractors. One that computes low level descriptors and another that performs chord detection. It also features useful views such as the "tonnetz" and "key space" to visualise the tonal features (chords, notes...)

What's new from last (0.2) version ?

This is a major release which have at least duplicated the number of important features: Ported to Qt4; New chord extractor; Colourful animated visualisations; Improved application work-flow (project building, etc.) and it also works as a collaborative annotation tool (BOCA client)

See the changelog for a complete list of changes. Or the wiki page for general information about Annotator.

How to install it?

In Windows we provide a binary installer which includes all the needed libraries (including Qt4) and ready-to-use sample data.

For Linux and Mac OSX we don't provide binaries at this moment (though we plan to do in short). Source tarballs can be downloaded from the web and complete build instructions can be found in the INSTALL file.

Check out the download page.

This short guide explains how to get the chord extraction working.

May 5th, 2006

Spanish and Catalan translations of the web

You can notice the language menu in the top-right hand corner. With these translation we close a long chapter of big web changes, (and we hope it will remain closed for a very long time). To reduce the overhead of keeping different versions in up-to-date and in sync Maarten de Boer has set up some perl scripts that takes the strings from the original (english) web and its correspondent translations from plain text files. That worked excelent! And he will most likely release these scripts very soon.

You'll also notice that we are using the new CLAM wiki more and more.

March 13th, 2006

Interview to Xavier Amatriain in LaFarga.org

LaFarga.org have published a long interview to Xavier Amatriain about free sofware topics and CLAM. It's in catalan only.

March 9th, 2006

CLAM web has been reworked

Although the overall appearance of the web remains almost the same, we have cleaned all the html, so it's much easier to change and keep updated. You'll probably need to force reload the pages from your browser.

February 28th, 2006

Debian/Ubuntu/Breezy packages repository available

We currently support i386 binary packages for breezy. This is the simplest way to install clam and its dependencies: just add the repository in your /etc/apt/sources.list. See our linux linux download section for details.

January, 2006

0.90 Release finally available!!

After several pre-releases, testing and bugfixing you can now find the final 0.90 release in our donwload section. Note that now you have the option of downloading the CLAM framework as a binary for your platform or with the source code. Major highlights of this release are the new binary distribution, a new build system based in Scons, major rework of some applications, support for VST plugins...

Read more here

New year: New website, new logo, new address

If you are reading this you will have noticed that we have changed the design of both our website and our logo. The main website address has moved to http://clam.iua.upf.edu. So, even though we will keep the redirection for some time, please update your links.

Read more here

December, 2005

0.90 Prerelease available

During the coming weeks we will be publishing a series of pre-releases for 0.90. You will find them in the donwload section. Apart from the regular source code from now on we will be publishing binary versions of the framework for all major platforms (GNU/Linux, Mac OSX and Windows). Because this represents a major change in the distribution we do expect your collaboration and reports.

Read more here

November, 2005

Freesound reaches 10000!

Our companion Free project here at the MTG, Freesound, has reached the first goal of 10000 uploads. As a celebration they were featured in slashdot.

Read more on the Freesound Project website

September, 2005

CLAM support from the Catalan Government

This week it was finally made official: the Catalan Government (Generalitat) will be supporting CLAM through a special grant. The main goal of such grants is to support quality Free Software development in Catalonia.

Read more here

CLAM at ISMIR 2005

At the ISMIR 2005 conference held in London we presented a paper about one of the applications we are developing in the framework: the Annotator.

Read more here

CLAM presented at ICMC 2005

The latest developments in CLAM were presented at the ICMC 2005 conference held in Barcelona. You can read the overview paper entitled "Developing Cross-platform Audio and Music Applications with the CLAM Framework".

Read more here

July 21th, 2005

Final release of CLAM 0.8.0 "Prototyper with streaming SMS transformations"

After two preview releases We are glad to announce the final 0.8.0 version of CLAM. This release has been thoroughly tested in GNU/Linux but not in Windows and OSX, which is a time consuming task to do with our current build system.

Read more here