Programs for Music

Release Week ahead

I’ve built up quite a pile of almost-released new versions of software, in the lab at C4DM. It’s time to get some of it released, and I’m planning to spend the next week or two doing exactly that. This means spending a lot of time getting cross about platform builds not working right (that’s where the term “cross-platform” comes from you see).

This sort of work always calls for endless to-do lists; I thought this time I’d write up a list here, so I can talk a bit about the work we’ve been doing that I want to release. I’m hoping to get much of this done before the Digital Music Research Network meeting on the 17th December.

Vamp Plugins: MIREX edition

We entered a number of Vamp plugin implementations of audio analysis methods into the annual MIREX evaluation—I’ll write about that separately. But now we need to make properly packaged releases of them:

  • one submission, Segmentino from Matthias Mauch, has not yet been published at all, and I think we’d like to see a release of it go out;
  • one submission, the BeatRoot Vamp Plugin, has been sitting in “testing” status for a few years on our code site: MIREX gave us the impetus to finish it up, and now that it’s been through that evaluation as well, it’s surely ready to release;
  • the other submissions were from the standard QM Vamp Plugins set which has been publicly available for years, but we found a few bugs and had to make some small changes to suit the output formats needed for MIREX: we should make a release that corresponds exactly to the MIREX results as published.

Sonic Visualiser

We have a number of fixes (e.g. save window size correctly when maximised) and a couple of small new features (e.g. export audio as data) since the last release. I’d like to deal with a couple more of the outstanding bugs as well.

Sonic Visualiser “IM AF build”

A project headed by Panos Kudumakis at C4DM recently added support for loading MPEG-A Interactive Music Application Format files to Sonic Visualiser. This isn’t ready to go into mainstream builds yet, but we’d like to get a preview build released from the IM AF branch.

Klapuri Constant-Q Plugin

I’ve been working on a (causal) C++ implementation of this constant-Q transform method from Christian Schörkhuber and Anssi Klapuri.

(The constant-Q transform, like the FFT, transforms a sampled time-domain signal into a set of frequency components. But while the FFT produces output bins at constant frequency increments, the constant-Q transform produces them at constant log-frequency increments so that every bin has identical ratio of centre frequency to bandwidth—that ratio is known as Q factor, hence constant-Q. This means output bins are effectively spaced evenly in terms of musical pitch, which is handy.)

Anyway, I’d like to get this released as a library and plugin, and then use it in some other work (still pending).

Slightly longer-term…


A mysterious project involving interactive editing of pitch estimations. This is something we’re working on for at least an internal release, and it might end up being public too. We’ll see.

“Sonic Vector”

This program (you can find source here) has been around for ages. It needs brushing up and making properly available, though even a rough release would be more useful than none. It’s a comparative viewer for multiple audio recordings, most relevant where those recordings represent different versions of the same underlying music.