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] 4 5 ... 19
31
Silvet is a Vamp plugin for note transcription in polyphonic music.

   http://code.soundsoftware.ac.uk/projects/silvet

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.

This new v1.1 release replaces the "draft" mode with a much faster "live" mode, adds a number of new outputs (note onsets, offsets, pitch activation matrix, chromagram), and adjusts some internal processing parameters to improve performance in test datasets.

32
Plugin and Host Announcements / Constant-Q library and Vamp plugin, v1.1
« on: September 09, 2015, 12:14:37 »
A new release of this Constant-Q transform library and Vamp plugin is now available:

  https://code.soundsoftware.ac.uk/projects/constant-q-cpp

Most of the changes concern code organisation, for example giving the Chromagram class its own formal API in the underlying library. However, there is also a fix to label ordering in the Vamp plugin.

33
Plugin Development / Vamp Plugin Tester v1.1 released
« on: September 09, 2015, 11:32:04 »
Version 1.1 of the Vamp plugin tester, a program that loads and tests Vamp plugins for various common failure cases, is now available.

Info and downloads:

https://code.soundsoftware.ac.uk/projects/vamp-plugin-tester

Change log:

https://code.soundsoftware.ac.uk/projects/vamp-plugin-tester/repository/entry/CHANGELOG

The tester can't check whether you're getting the right results, but it can help you write more resilient and better-behaved plugins. It's a really good idea to run the tester on any new plugin before you release it.

There is some documentation in the README file, but the short version is that you run it at a command prompt with the library name and plugin name, colon-separated, as an argument:

$ ./vamp-plugin-tester vamp-example-plugins:spectralcentroid

... and see what it has to say about your plugins.

If it crashes in the middle of one of its tests, that probably means that your plugin has crashed when faced with some unexpected input. Run it in a debugger, or a memory checking utility if you have one, to find out where.

Chris

34
Host Development / Vamp Test Plugin v1.1 released
« on: September 09, 2015, 11:24:35 »
Version 1.1 of Vamp Test Plugin, the world's least interesting Vamp plugin, is now available.

Vamp Test Plugin is the equivalent of a TV test signal: it produces a set of very simple static outputs intended to help the authors of Vamp hosts check that they are handling plugin output sample types correctly. This release adds an output which is calculated from the input (to facilitate testing that input blocks are provided correctly) and a frequency-domain version of the same.

See https://code.soundsoftware.ac.uk/projects/vamp-test-plugin for more information.

If you are the author of a Vamp host, you might find it useful.

Chris

35
Host Development / jVamp v1.3 released
« on: September 09, 2015, 11:12:55 »
Announcing v1.3 of jVamp, a Java/JNI interface allowing the use of native-code Vamp plugins from host applications written in Java or other JVM languages.

This release simplifies the API, removing an unnecessary dispose() call and eliminating a class of native-heap memory leak.

See https://code.soundsoftware.ac.uk/projects/jvamp for more details and downloads.

Chris

36
I think I agree with your suppositions.

Tempo, beat, and onset estimators will be seriously affected by crackles (or jumps!) in the source audio. Pitch analysis could be affected by play speed, wow and flutter, and potentially also sources of hum. The dynamic range of analogue source material is likely to be different from that of digital recordings, and noise such as tracking errors from loud passages in vinyl recordings may colour analysis of pitch, timbre, and dynamics.

Frequency bandwidth and EQ will also be narrower, but many methods consider only a limited bandwidth anyway (partly because it depends so much on the reproduction).

Tape hiss is unlikely to affect anything very much unless possibly it's loud enough to disturb methods that have explicit silence thresholds. (Many methods will filter constant noise, either explicitly, or implicitly through analysing spectral change.)

37
If you have two audio files loaded in separate panes, and they are aligned, then you should be able to take annotations made against one of them and copy/paste them onto the other one and SV will adjust their timings to match the alignment. This sounds like what you are asking for?

For example:

 1. Load an audio file into a new session
 2. Use "Import More Audio" to load another (presumably of the same work)
 3. Switch on the Align control
 4. Make sure the first pane is active, and tap some instants into it (e.g. with the ";" key)
 5. Select all (e.g. Ctrl+A or Cmd+A) and copy to clipboard (Ctrl+C or Cmd+C)
 6. Make the second pane active (by clicking on it)
 7. Paste (Ctrl+V or Cmd+V)

SV should pop up a dialog saying "The instants you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?" Say yes to this, and the instants should be pasted into the second pane with appropriate alignment.

38
Host Development / Python Vamp host v1.0 released
« on: June 26, 2015, 12:47:19 »

This week I released v1.0 of a Python module for loading and using Vamp plugins for audio analysis.

You can find it in PyPI:

  https://pypi.python.org/pypi/vamp/

and the code project is here:

  https://code.soundsoftware.ac.uk/projects/vampy-host

If you'd like to try it out, I'd love to hear how you get on!

Chris

39
Plugin Development / Vamp plugin SDK v2.6 now available!
« on: June 16, 2015, 14:11:42 »
Version 2.6 of the Vamp plugin SDK is now available.

   http://www.vamp-plugins.org/

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 http://www.vamp-plugins.org/guide.pdf.

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

http://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/CHANGELOG


Chris

40
Hi -- this is a good general question but it is also a rather difficult high-level question, and one might need quite a bit of experience in real musicological work to be able to answer.

While Sonic Visualiser and the available plugins provide some tools for breaking down music in interpretable ways, it is still very hard to work backwards from a recording to details of things like instrumental balance or local dynamic or tempo variation in a classical work, not least because most methods are primarily designed for pop/rock music. (Even local tempo estimation and "beat tracking" are essentially unsolved problems for classical music.)

One thing that is quite valuable is to load multiple recordings into Sonic Visualiser and then time-align them -- for this you need the MATCH plugin installed. This can give you some information about the conductor's decisions in terms of both overall and local tempo. There is a video showing this at http://sonicvisualiser.org/videos.html#2 (Audio alignment using Sonic Visualiser and MATCH).

The videos from Musicology for the Masses may also be of interest, as well as "A musicologist's guide to Sonic Visualiser" (http://www.charm.rhul.ac.uk/analysing/p9_1.html), but (as you have probably seen already) these primarily focus on Sonic Visualiser's built-in visualisation tools rather than higher-level analysis using Vamp plugins.

It's quite possible you may get interesting results from plugins that analyse tonality (possibly even the "Key Strength Plot" from the very basic key estimator in the QM Vamp Plugins set) or loudness (there are various options for analysing amplitude -- we have a proper auditory-model loudness plugin in the works but it isn't quite published yet).

Chris

41
Host Forum: Sonic Visualiser / Re: MP3 or WAV different result?
« on: April 24, 2015, 14:17:54 »
Hi there -- please don't worry about asking stupid questions, this is a very reasonable one.

Generally speaking the compression used for mp3s does not make a difference to dynamics and the like -- it has nothing in common with the dynamic range compression typically used for e.g. radio broadcast. A good-quality mp3 should give you essentially the same results as the wav version for reasonably robust audio features, although you may get different results for very low-level features (such as those sensitive to inaudibly high frequencies appearing in the signal).

There have been various publications on this subject, for example here: http://www.terasoft.com.tw/conf/ismir2014/proceedings/T103_326_Paper.pdf

Do be alert, though, to the fact that there may be padding differences between different encodings or releases of the same piece (i.e. different amounts of silence at end or beginning).

Chris

42
Host Forum: Sonic Visualiser / Re: File size/length limit?
« on: March 03, 2015, 15:37:15 »
Hi Frazer -- I don't know about alternatives, but I can confirm that (sadly) SV can't currently handle this. Although SV is designed to handle files and analysis plots that don't fit in memory, there are still 32-bit length limits for some calculations internally.

This is one of the things that I'm working on in the background at the moment -- we've seen a few requests for a true 64-bit build for Windows (the current one is 32-bit only on that platform) but there doesn't seem much point while we aren't properly taking advantage of the architecture -- especially since all the current plugin builds are also 32-bit only and a 64-bit host can't currently run 32-bit plugins.

Chris

43
Host Forum: Sonic Visualiser / Re: portability of image files in SV
« on: January 27, 2015, 09:35:07 »
Hi -- this is possible by editing the saved .sv session file, which is a bzipped XML format. The process would be something like

  • copy the something.sv file to something.xml.bz2
  • find a program that can unzip a bz2 file and run it! (on Linux or OS/X this would be "bunzip2" at the command line, I'm not sure what your best option is on Windows at the moment) Thus producing something.xml
  • edit something.xml in a text editor and replace the paths of the images with your desired alternatives
  • re-zip the file back to something.xml.bz2, then rename it to something-new.sv

But I can see that this is far too complicated and that the way SV handles this by default is inadequate. I'll see what I can do to improve this for future releases.

44
Hi -- first off, I am fairly sure the answer is "no", at least with the current Sonic Visualiser release and the existing Melodia plugin.

What is actually happening here is that Melodia produces a series of values that happen to have the unit Hz, and when you mouse close to one of those, the value associated with the nearest point is printed. Sonic Visualiser is just printing out the value and unit that the plugin gave it, it isn't actually interpreting it in any way.

That said, this would be quite easy to improve in the code. Sonic Visualiser does have special handling in some places for known units such as Hz -- for example when calculating the vertical auto-align alignment between pitch and spectrogram layers. So it could be enhanced so as to do this conversion as well and show you both results.

So this is a great suggestion, I have made a note and hopefully might be able to include this in the next release, but I'm afraid for now the answer is that this isn't supported yet.

45
Plugin and Host Announcements / Vamp Tempogram Plugin
« on: October 16, 2014, 14:21:35 »
Version 1.0 of a new Tempogram plugin is now available.

This is an implementation of the tempogram and cyclic tempogram
features described in Grosche, Müller, and Kurth 2010, providing a
robust mid-level representation that encodes local tempo information.

The plugin was written by Carl Bussey at Queen Mary University of
London, and is published under the GNU General Public License.

See https://code.soundsoftware.ac.uk/projects/vamp-tempogram
for downloads and more information.


Chris

Pages: 1 2 [3] 4 5 ... 19