Recent Posts

Pages: [1] 2 3 ... 10
Host Forum: Sonic Visualiser / MIDI file
« Last post by derf on August 26, 2014, 06:17:45 »
I use the plug-in Aubio Pitch detector. I export MIDI files with the command "Export annotations layer..." (*.mid). There is a problem. I cannot open these files in the software SEQ24. Do you know why we cannot make it?
Thank you for your answer.

By using Syntfont I realized that these MIDI files have no METAEVENT. For example: I read "METAEAVENT cue point =???"
Thus, my question is now more precise. Is it necessary to add METAEVENT to MIDI files created by Sonic Visualiser?
Host Forum: Sonic Visualiser / Re: Sonic Visualiser v2.4 - beta-test release
« Last post by cannam on August 14, 2014, 11:40:20 »
I should have linked to the changelog:

Besides the feature changes, this is the first release to be built using Qt5 (rather than Qt4) on OS/X.

(The previous release had already switched to Qt5 on Windows but there were problems with it on OS/X that have only just been dealt with.)
Host Forum: Sonic Visualiser / Sonic Visualiser v2.4 - beta-test release
« Last post by cannam on August 14, 2014, 11:27:49 »
Hi all -- I've just packaged up a beta-test release of the next version of Sonic Visualiser (which will be v2.4).

If you are interested in Sonic Visualiser but you're not using it for anything critical (so you don't care if it breaks) -- and if you're happy to provide feedback about any problems you have -- then I'd be grateful if you could download and test it!

Currently there are pre-built packages for Windows and OS/X plus a source code package.

Download links are:

Windows installer

OS/X disk image

Source code

(Note, it may identify as either v2.3.90 or v2.4beta1 -- they are the same thing)

The actual 2.4 release is likely to follow some time in September.

Plugin and Host Announcements / Silvet Note Transcription plugin v1.0 released
« Last post by cannam on August 09, 2014, 13:38:21 »
Silvet is a Vamp plugin for note transcription in polyphonic music.

Silvet listens to audio recordings of music and tries to work out what notes are being played. It uses the method described in "A Shift-Invariant Latent Variable Model for Automatic Music Transcription" by Emmanouil Benetos and Simon Dixon (Computer Music Journal, 2012).

The plugin is provided with source code under the GNU General Public License, and with binaries for Windows, OS/X and Linux.

How good is it?

Silvet performs well for some recordings, but the range of music that works well is quite limited at this stage. Generally it works best with piano or acoustic instruments in solo or small-ensemble music.

Silvet does not transcribe percussion and has a limited range of instrument support. It does not technically support vocals, although it will sometimes transcribe them anyway.

You can usually expect the output to be reasonably informative and to bear some audible relationship to the actual notes, but you shouldn't expect to get something that can be directly converted to a readable score. For much rock/pop music in particular the results will be, at best, recognisable.

To summarise: try it and see.

Plugin and Host Announcements / Constant-Q library and Vamp plugin
« Last post by cannam on August 09, 2014, 13:34:32 »
Announcing a new C++ library and Vamp plugin implementing the Constant-Q transform of a time-domain signal.

The Constant-Q transform is a time-to-frequency-domain transform related to the short-time Fourier transform, but with output bins spaced logarithmically in frequency, rather than linearly. The output bins are therefore linearly spaced in terms of musical pitch. The Constant-Q is useful as a preliminary transform in various other methods such as note transcription and key estimation techniques.

This library provides:

 * Forward transform: time-domain to complex Constant-Q bins
 * Forward spectrogram: time-domain to interpolated Constant-Q magnitude spectrogram
 * Inverse transform: complex Constant-Q bins to time domain

The Vamp plugin provides:

 * Constant-Q magnitude spectrogram with high and low frequency extents defined in Hz
 * Constant-Q magnitude spectrogram with high and low frequency extents defined as MIDI pitch values
 * Pitch chromagram obtained by folding a Constant-Q spectrogram around into a single-octave range

The code is provided with full source under a liberal licence, and plugin binaries are provided for Windows, OS/X, and Linux.

The method is drawn from Christian Schörkhuber and Anssi Klapuri, "Constant-Q transform toolbox for music processing", SMC 2010. See the file CITATION for details. If you use this code in research work, please cite this paper.
Plugin Development / Re: Visualisation Plug-In, with Matrix Processing
« Last post by cannam on July 13, 2014, 14:26:56 »
Hi Jean-Louis -- that's a really good writeup on your blog there, thanks! I've added a link to it on the wiki page at You're quite right that the documentation has always been a bit weak on this subject.

Plugin Development / Visualisation Plug-In, with Matrix Processing
« Last post by jean-louis on July 11, 2014, 20:54:35 »
I have been developing an "IMMF0Salience" plug-in that provides an estimate of fundamental frequencies (F0) for audio signals, which can be found at It is still work in progress, but can already be used in some cases.

I wanted to mention in this forum that, recently, I found out the solution for an issue that was bugging me for all this time: the algorithm I developed is based on some matrix processing called "Non-negative Matrix Factorization" (NMF), meaning that it operates most meaningfully when I can process several frames in one go. The architecture of the framework for Vamp-Plugins is appropriate for frame by frame processing, and matrix-like processing is possible, but somewhat tricky. It took me a while, but I could at last make that work, and the solution is on this branch:

I describe in more details how I do this, and also the process that led me to this solution on my "blog":

To put it in a nutshell: I did not really understand how the SampleType and the SampleRate attributes for the OutputDescriptor worked, at least not from the documentation. Digging in some other plug-in, I found the correct combination, and that actually helped me understand what the documentation was describing... Don't get me wrong: I do not say the documentation is bad or missing something, but rather that some more examples (or tutorials) would have helped me to figure that out easier.

I hope this little piece of information may help others to develop such plug-ins! Comments are welcome, of course.

Plugin Development / Re: Visualisation plug-in development
« Last post by jean-louis on July 11, 2014, 20:25:41 »
Hi Chris,

This topic has been inactive for quite some time! As it were, I solved also a long time ago this issue (cross-compiling for Windows), and I managed to compile a version for Windows, from Linux, as you suggested. Actually it was rather complicated, I had to compile ATLAS under Windows, directly, and I used Cygwin, although probably only to run some Unix compiler (mingw?). I started to describe that there:, but that's still a bit elliptic. I did not make the Windows binary for the latest version of the plug-in, so I unfortunately can't remember much of what I then did, but it worked! When I find some time again (and a Windows machine to build the ATLAS lib...).

I will anyway make another topic to announce the availability of the plug-in in a more formal way.

VoilĂ  ! Just thought would be good to close the topic in a nice way! Thanks again for your help.


As a scientist, I have been using Sonic Visualizer for many years in time segmentation domain. I work on microtiming and use a lot onset detectors. This tool is very useful for my researches. :)

Recently, while I still can hear without any problem the musical excerpts that I analyse, it became impossible to hear any sound from "libray sample player" plugin (whatever "tap", "click", "beep" selected). I cannot work without this fantastic feature (developed by Chris Cannam) which allows me to verify (as a musician) the relevance of the detected onsets.

I use Sonic Visualizer v 2.2 and v 2.1 on two different computers, each one with Windows XP. Same problem occurs. :-\

Many thanks by advance  for your help,

Best regards
Hi all,

I don't understand. I have been using Sonic Visualiser for several years without any problem for microtiming analysis (scientific researches).

I can hear the audio of wav source, but, whatever onset detector I try (or any plugin doing another kind of segmentation), it's now impossible to ear the "tics" (result of segmentation), a very convenient feature to verify, as a musician, the relevance of the analysis. I tested v 2.2 on a computer and v 2.3 on another one.
Very strange, because the options related to the tics are very simple.

Anybody could help me ?

Many thanks by advance.
Pages: [1] 2 3 ... 10