Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - cannam

Pages: [1] 2 3 ... 19
Host Forum: Sonic Visualiser / Re: Sonic Visualiser 3.0 released!
« on: March 07, 2017, 14:33:01 »
And predictably enough, within a week a 3.0.1 is necessary!

Downloads from the usual place:

The update fixes two crashes on Windows and updates the MIDI device driver layer on all platforms.


Plugin Development / Vamp Plugin SDK v2.7 available!
« on: March 03, 2017, 11:47:18 »
Version 2.6 of the Vamp plugin SDK is now available.

Vamp is a plugin API for audio analysis and feature extraction plugins written in C or C++.  Its SDK features an easy-to-use set of C++ classes for plugin and host developers, a reference host implementation, example plugins, and documentation.  It is supported across Linux, OS/X, and Windows.

A documentation guide to writing plugins using the Vamp SDK can be found at

Version 2.7 is a bugfix and minor enhancement release. For more details, see the changelog at


Host Forum: Sonic Visualiser / Sonic Visualiser 3.0 released!
« on: March 03, 2017, 11:45:05 »
Sonic Visualiser 3.0 is out!

What's new in this release:


Hi there -- I believe this plugin doesn't show up because Audacity has no way to display any of its outputs. Audacity only shows those plugins that have at least one output that can be displayed on a label track -- it can't display grid output from Vamp plugins, and all of the CQ outputs are grids.

That is the way it used to work anyway, I haven't checked the code very recently.

It's true that there has never been a 64-bit Windows build of the QM Vamp Plugins. Making one is a priority for us once SV v3.0 is out.

There are various reasons why few Vamp plugins are available in 64-bit builds for Windows.

The proximate reason is that none of the most widely-used Vamp hosts (Sonic Visualiser, Sonic Annotator, Audacity) exists in a 64-bit Windows version. Since 32-bit hosts can't load 64-bit plugins, there's no pressing reason to produce 64-bit plugins. This will change with Sonic Visualiser v3.0, which for the first time will have a 64-bit Windows build, as well as an adapter that allows it to load 32-bit plugins (out-of-process). So SV v3.0 can continue to use the 32-bit Windows plugins, but also provides more of an incentive to produce 64-bit ones.

In a way this can be attributed to Microsoft's success at providing excellent 32-bit compatibility in 64-bit Windows. On both Linux and OSX we have already had to face the issue of requiring all existing plugins to be rebuilt in 64-bit versions because the underlying platform standard changed. This has never been forced on anyone in the Windows world.

Finally there are various practical reasons, such as that many of the 32-bit Windows plugin builds have been produced using the MinGW compiler which until recently was not readily available in a stable 64-bit version. (I think until fairly recently the 64-bit Visual C++ compiler wasn't included in the free version of Visual Studio either?) So it's not just a question of using the same native platform compiler on the newer platform and getting a new build for the new architecture, as it has been on both Linux and OSX.

The QM plugin set is relatively tricky to rebuild as well, because of its use of LAPACK and BLAS.

Anyway, that's the explanation -- the short answer is that a 64-bit version is "planned soon".


Hello all -- we have a new (first) beta-release of what will be Sonic Visualiser v3.0, now available for download. I'd be grateful if some intrepid people would like to try it out and report what they find.

I wrote a post with more info here:

And you can download binary packages (Windows and Mac so far, Linux I'm working on at the mo) plus source from the page at


Plugin Development / Re: Help to get exact bpm count and beatgrid
« on: September 30, 2016, 17:12:35 »
And if you use the vamp-simple-host with the vamp-example-plugins:fixedtempo plugin, does that give you the same 51.4 result as you had with your code?

I can't see anything obviously wrong with your code snippet, assuming that the audio is single channel throughout.

The QM tempo tracker works slightly differently -- it emits a new tempo every time its sense of the underlying tempo changes. This means in theory it works for tracks which vary in tempo as well, but it can mean you sometimes get a series of very close estimates which would be more useful if they had been merged together. To get a single tempo per track, one might typically pick the estimate that spans the greatest time range within the results.

Plugin Development / Re: Help to get exact bpm count and beatgrid
« on: September 21, 2016, 18:03:05 »
Hello! Before I read on very far, can I check -- have you tried saving out this audio into a file and running the same plugin using vamp-simple-host, and if so, can you confirm whether it produced the results you expect (i.e. the right ones) or not?

The fixedtempo plugin is not the best tempo estimator we have, and I expect it's not as good as whatever is in traktor. Something like the QM Vamp Plugins tempo estimator will generally work better. But for all its flaws, it probably should not return a result like 51.4 bpm for something that is actually at 93.


Hi there -- try double-clicking on the zoom wheels and/or the little vertical range indicator next to the vertical zoom wheel. Does that do what you need?

Plugin and Host Announcements / Sonic Annotator v1.4 now available
« on: March 18, 2016, 16:52:36 »
Sonic Annotator is a utility program for batch feature extraction from audio files.  It runs Vamp audio analysis plugins with specified parameters on audio files, and writes the result features in a selection of formats.

Version 1.4 is now available. This is a bugfix release. Changes include:

Front-end changes:

 - Better error reporting, especially for invalid transform files
   and transform-not-found

 - Avoid crashing out when a single plugin (that is not being used)
   can't be loaded because of e.g. an undefined symbol

Bug fixes:

 - Fix (with test) horrible crash with --multiplex option

 - Fix erroneous quantization to 16 bits for coded file types of
   greater bit depth

 - Fix multiple outputs when requesting both summary and non-summary
   for the same output

It appears I did not announce the previous v1.3 release in this forum; for the record, the changes in v1.3 were as follows:

Back-end (feature writer) changes:

 - Add the --csv-digits, --lab-digits, and --jams-digits options to
   control the number of significant figures printed for feature values

 - Update the JAMS writer to JAMS 0.2.0 format

 - Show a more useful error message when user provides a filename
   instead of a transform id to the -d option (happened to me when
   cut-and-pasting command lines and I was quite baffled at first)


Plugin Development / Re: linking files
« on: March 18, 2016, 16:49:58 »
The way the skeleton files in the v2.6 SDK are arranged, the platform-specific stuff goes in Makefile.osx, Makefile.linux etc and the platform-independent stuff goes into, which is included by the other Makefiles.

In most cases, any header and object files you add are going to be needed regardless of platform, and so should go in There are variables PLUGIN_SOURCES and PLUGIN_HEADERS near the top that can be extended with further headers and .c/.cpp files (the .o files will be deduced from the .c/.cpp names) or you can add .o files directly to PLUGIN_OBJECTS further down.

I hope that addresses your question!

Plugin Development / Re: arch flags
« on: March 17, 2016, 15:23:32 »
Hi there -- thanks for posting. My immediate response was "hang on, surely the Vamp plugin tester is 64-bit by now". It turns out that although I had uploaded a 64-bit OSX build of it, I hadn't updated the Vamp website to link to it!

So the download available at is 64-bit, but the links from are still to the old ones. I'll fix that right away, sorry about that.

It is definitely recommended to make 64-bit plugins these days. The command line you listed looks like it should work if the arch is x86_64; does it?


Pages: [1] 2 3 ... 19