2009 Vamp/VamPy Plugin Contest

Dear audio researcher,

If you have the killer audio feature extractor, we're sure you want to show the world -- without the world stealing your ideas. In the Vamp Contest 2009 you could now win an iPod Touch (32 GB) or iPod Nano (16 GB) for doing just that.

Send us your audio feature extractor as a Vamp Plugin or a Python/VamPy plugin and a jury will choose the best!
Interested? Then read on!

Important Dates and Brief Description

Vamp and VamPy

At the Centre for Digital Music, (Queen Mary University of London), we have developed Vamp, an open interface between a host program (for example, Audacity, or Sonic Visualiser) and music extractors in the form of Vamp plugins. A wide range of extractors (plugins) written in C++ is already freely available at http://www.vamp-plugins.org/, and you can use them straight away. Notice that the plugins are binary (compiled), so you cannot see the original source code (except where it is published with the plugin).

VamPy is a special Vamp plugin that acts as a wrapper for Python code. Using VamPy, you can write a Vamp plugin without the hassles of knowing or even compiling C++ code.

The easiest way to see what the Vamp and the VamPy plugins can do is to download the music player and visualiser Sonic Visualiser (a host), and some of the plugins. No installation is required for Sonic Visualiser, and to install the plugins, you just drop them into the plugin folder as explained at the bottom of the Vamp plugin download page. For more info check out http://www.sonicvisualiser.org/.

The nice thing is: anyone can build new Vamp plugins in C++ or a VamPy plugin in Python, it's all documented and open. Information on how to obtain the Vamp Software Development Kit (SDK) and help documents as well as example Plugins can be found at http://www.vamp-plugins.org/develop.html, and the new help documents will guide you through the process of becoming a Vamp plugin author.

So why would you want to write a Vamp or VamPy plugin yourself?

  1. Visualise the results of your extractor immediately with Sonic Visualiser -- no need to build your own music player and visualiser to look at your stuff.
  2. Show how well your algorithm works to thousands of Audacity and Sonic Visualiser users around the world.
  3. No-one will see your source code! Vamp plugins are compiled! (Does not hold true for uncompiled Python Vamp plugins.)
  4. People can easily start using your algorithm for their research, and you will get cited.
  5. Use the Vamp host Sonic Annotator to batch process many audio files with your Vamp plugin.
  6. If your plugin complies with the Vamp Plugin Tester, we will link to it from the Vamp plugin website.
  7. Oh, and you can win an iPod Touch (32 GB) or iPod Nano (16 GB), if you send us a previously unreleased Vamp plugin by the 1st December, 2009.

C++ Vamp plugin or Python script plus VamPy?

There are now two ways of making a Vamp plugin.
To provide an alternative to the compiled Vamp plugins we have developed a special Vamp plugin called VamPy which does not have any extraction power itself, but rather functions as a wrapper for Python code. So while you're prototyping, you can code directly in Python using numpy, scipy etc...

Generally, if you are not a C++ expert, you will find Python plus VamPy the more rewarding, well: easier alternative.

Advantages and Disadvantages of VamPy:

  • + Use easy Python syntax,
  • + No compilation required, VamPy integrates your Python code with every start of the Vamp host (e.g. Sonic Visualiser)
  • - Code is slower than a C++ Vamp plugin
  • (- in case of an uncompiled Python/VamPy plugin, the code is openly visible, everyone who has it can see your extractor's secrets.)

Advantages and Disadvantages of Vamp plugin written in C++

  • + Fast
  • + It's compiled, so it hides your source code.
  • - Inherits the steep learning curve from C++ programming.
  • - No immediate prototyping.

The Contest

To take part in the contest, send your plugin and a short description in one A4 page PDF document to Matthias Mauch. Please make sure that you leave the author field in the plugin blank, and do not mention your name on the A4 page.
Plugins have to be sent to us by the 1st December, 2009, and must not be publicly available beforehand.

The final version of your plugin has to be submitted either as compiled C++ or Python (.pyc) code for Windows, Linux, or Mac OS, or as Python/VamPy source code. Python/VamPy plugins are a nice way to get started. You can choose how to license your plugin, but the plugin must be published under terms that permit at least binary redistribution for non-commercial purposes.

The Plugins will be reviewed by a jury of programmers and music computing experts. This will be a blind review, i.e. the identity of the author of the plugin will be hidden to the jury. In particular, people involved with the administration of the contest will not be part of the jury. Results will be made available on 22nd December, 2009, at the Digital Music Research Network meeting.

Judgement will be made on grounds of

  • How well the Plugin works (compliance with the Vamp Plugin Tester), and usability including intuitiveness of the parameters and running time.
  • How useful the results of the extractor are to music computing researchers, musicologists or the general public. A Vamp implementation of an otherwise well-established extractor can be as valuable as a faster implementation of an existing Vamp plugin, and -- of course -- entirely new feature extractors are welcome too.

Among the Vamp plugins that comply with the Vamp Plugin Tester, the author of the best one will receive as a prize an iPod Touch (32 GB), the second-best will receive an iPod Nano (16 GB).
All plugins that comply with the Vamp Plugin Tester will be published/linked to on the Vamp Plugin website.