|
151
|
Using Vamp Plugins and Hosts / Host Forum: Sonic Visualiser / Re: 3D visualization?
|
on: January 09, 2009, 10:29:58
|
|
Jokot,
Sorry to take so long to get back to you on this one.
You're referring to a sort of "waterfall" visualisation with a series of tracks shown as individual lines that rise and fall? I'm afraid there's no visualisation like this in SV at the moment, and we don't have any very active plans to add one -- although you're welcome to open a feature request for it on the tracker on the SourceForge page.
This is not something that a plugin can do for you, either; the plugin formats supported by SV, such as Vamp plugins, simply generate structured data -- it's up to SV to decide how to plot the results, so if SV doesn't support a waterfall plot, there will be none available.
Chris
|
|
|
|
|
152
|
Using Vamp Plugins and Hosts / Plugin and Host Announcements / Sonic Annotator - a batch utility for audio feature extraction
|
on: December 12, 2008, 11:49:48
|
Sonic Annotator is a utility program for batch feature extraction from audio files. It runs Vamp audio analysis plugins on audio files and can write the result features in a selection of formats, in particular as RDF using the Audio Features and Event ontologies. A somewhat experimental first public release (0.1) is now available. For more details and for downloads, please see http://www.omras2.org/SonicAnnotatorSonic Annotator was developed at the Centre for Digital Music, Queen Mary, University of London. It was funded by the EPSRC through the OMRAS2 project and is Free Software published under the GNU General Public License. Chris
|
|
|
|
|
154
|
Using Vamp Plugins and Hosts / Plugin and Host Announcements / Sonic Visualiser v1.4 now available
|
on: December 12, 2008, 11:25:50
|
Sonic Visualiser is an application for inspecting and analysing the contents of music audio files. It combines powerful waveform and spectral visualisation tools with automated feature extraction plugins and annotation capabilities. Version 1.4 of Sonic Visualiser is now available. http://www.sonicvisualiser.org/This is a feature release, containing several new features and a number of bug fixes over the previous 1.3 release. For more details, please read the release notes at https://sourceforge.net/project/shownotes.php?release_id=646456Sonic Visualiser contains advanced waveform and spectrogram viewers, as well as editors for many sorts of audio annotations. Besides visualisation, it can make and play selections based on the locations of automatically detected features, seamlessly loop playback of single or multiple noncontiguous regions, synthesise annotations for playback, slow down playback while retaining display synchronisation, and show the ongoing alignment in time between multiple recordings of a piece with different timings. Sonic Visualiser supports the Vamp plugin API for plugins that extract descriptive or analytical data from audio. Sonic Visualiser was developed at the Centre for Digital Music, Queen Mary, University of London: http://www.elec.qmul.ac.uk/digitalmusic/Ongoing work on Sonic Visualiser and audio feature representation in the semantic web is carried out as part of the OMRAS2 project funded by the EPSRC. See http://omras2.org/for more information. Sonic Visualiser is Free Software distributed under the GNU General Public License. The 1.4 release is available now in source code form or as binaries for Linux, OS/X, and Windows. Chris
|
|
|
|
|
155
|
Using Vamp Plugins and Hosts / Plugin and Host Announcements / QM Vamp Plugins v1.5 now available
|
on: December 12, 2008, 11:24:39
|
Version 1.5 of the QM Vamp Plugins -- a set of audio analysis plugins in the Vamp plugin format, developed at the Centre for Digital Music at Queen Mary, University of London -- is now available for download. Plugins included are note onset detector, beat tracker, tempo estimator, key estimator, tonal change detector, structural segmenter, timbral and rhythmic similarity, chromagram, constant-Q spectrogram, and MFCC calculation. This release focuses on reliability and performance improvements. For downloads, please see: http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-pluginsThe plugins are available in binary form only and may be freely used for any purpose, and redistributed for non-commercial purposes only. Supported platforms are 32- and 64-bit Linux, 32-bit Windows, and OS/X 10.4 or newer (Intel/PPC universal). This release also features more substantial documentation than previously, available at: http://www.vamp-plugins.org/plugin-doc/qm-vamp-plugins.htmlChris
|
|
|
|
|
156
|
Development Topics / Plugin Development / Vamp plugin SDK v2.0 now available
|
on: December 12, 2008, 11:23:28
|
Vamp SDK version 2.0 is now availableVersion 2.0 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. What's new in 2.0?- Each returned feature can now specify a proper duration as well as start time, value array, and label.
- A new PluginSummarisingAdapter is provided in the host SDK, permitting hosts to easily obtain summary results such as averages based on a plugin's returned features.
- An RDF ontology is provided for the description of Vamp plugin capabilities and configurations (see http://omras2.org/VampOntology).
- The SDK libraries have been reorganised so as to draw a clearer distinction between plugin and host SDKs.
- Better platform-specific build documentation is provided (in the build directory), particularly for MSVC builds which now also feature project files for the example plugins.
- Two new example plugins have been added (Simple Power Spectrum and Fixed Tempo Estimator).
- The command-line host provided now has an extra-informative plugin information listing option (--list-full).
Backward compatibilityA detailed compatibility statement is included in the SDK, but to summarise: - Plugins and hosts built with 1.x and 2.0 SDKs are mutually compatible. You can load old plugins in new hosts and new plugins in old hosts.
- Plugins written for 1.x can be compiled against 2.0 without modification.
- Hosts written for 1.x will require some changes to #include directives, but most hosts should compile against 2.0 without other modifications.
- Although the plugin binary interface is compatible with 1.x, the SDK libraries are not binary compatible with the 1.x libraries. Plugins and host code will need to be recompiled if they are to be updated to 2.0, not just re-linked.
CreditsThis work was carried out at the Centre for Digital Music, Queen Mary, University of London. It was funded by the EPSRC through the OMRAS2 project EP/E017614/1. See http://omras2.org/ for more information. Chris
|
|
|
|
|
157
|
Using Vamp Plugins and Hosts / Plugin and Host Announcements / Vamp plugin SDK v2.0 now available
|
on: December 12, 2008, 10:38:16
|
Vamp SDK version 2.0 is now availableVersion 2.0 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. What's new in 2.0?- Each returned feature can now specify a proper duration as well as start time, value array, and label.
- A new PluginSummarisingAdapter is provided in the host SDK, permitting hosts to easily obtain summary results such as averages based on a plugin's returned features.
- An RDF ontology is provided for the description of Vamp plugin capabilities and configurations (see http://omras2.org/VampOntology).
- The SDK libraries have been reorganised so as to draw a clearer distinction between plugin and host SDKs.
- Better platform-specific build documentation is provided (in the build directory), particularly for MSVC builds which now also feature project files for the example plugins.
- Two new example plugins have been added (Simple Power Spectrum and Fixed Tempo Estimator).
- The command-line host provided now has an extra-informative plugin information listing option (--list-full).
Backward compatibilityA detailed compatibility statement is included in the SDK, but to summarise: - Plugins and hosts built with 1.x and 2.0 SDKs are mutually compatible. You can load old plugins in new hosts and new plugins in old hosts.
- Plugins written for 1.x can be compiled against 2.0 without modification.
- Hosts written for 1.x will require some changes to #include directives, but most hosts should compile against 2.0 without other modifications.
- Although the plugin binary interface is compatible with 1.x, the SDK libraries are not binary compatible with the 1.x libraries. Plugins and host code will need to be recompiled if they are to be updated to 2.0, not just re-linked.
CreditsThis work was carried out at the Centre for Digital Music, Queen Mary, University of London. It was funded by the EPSRC through the OMRAS2 project EP/E017614/1. See http://omras2.org/ for more information. Chris
|
|
|
|
|
158
|
Development Topics / Plugin Development / Re: build new dll from the example
|
on: November 30, 2008, 11:08:52
|
|
Hello!
Two possible lines of enquiry:
1. No plugin entry point?
Did you compile _just_ the PercussionOnsetDetector.cpp file into the DLL?
A Vamp plugin library also requires a public entry point which is a C function that lists the plugins that are available in the library. In the example plugin set, this is provided by the file plugins.cpp -- you will need to compile either this file, or a similar one produced by cut-and-paste but listing only the PercussionOnsetDetector and not the rest of the example plugins, into your DLL as well.
2. Plugin entry point is not public in the DLL?
If you are building using Visual Studio, then the default for the VS linker is to make all symbols in the DLL hidden, which means the host will not be able to find the appropriate entry point when it looks at the plugin library.
You need to change this so that the single entry point (vampGetPluginDescriptor in the plugins.cpp file) is made public in the DLL. Windows-specific code often does this with a __declspec(dllexport) attribute before the function declaration in the code, but this does leave you with less portable code. Another way that I think is preferable is to add the linker option /EXPORT:vampGetPluginDescriptor to the project.
The next release of the SDK (due shortly) will be clearer about this in the documentation -- the current version does not really have any documentation specific to Visual Studio (which is the only major compiler/linker for which this is an issue -- the OS/X linker and the GNU linker on Linux both make symbols public by default). It will also include an example project with this option set appropriately.
Hope this helps!
Chris
|
|
|
|
|
162
|
Using Vamp Plugins and Hosts / Host Forum: Sonic Visualiser / Re: Exporting (some) extracted symbolic features/information as .mid
|
on: October 14, 2008, 09:05:12
|
|
Sonic Visualiser can export MIDI files, but only from Notes type layers. If a note layer is the current layer, then when you go to File -> Export Annotation Layer, you will see MIDI as one of the exportable file types.
If you have data in some other layer (such as a time-value layer) that you want to export as MIDI, it may be possible to do this by copy-pasting the data points into a new Notes layer and exporting that. You'll always get some sort of MIDI file that way -- but SV is often not clever enough to determine what the correct pitch for each note should be when it is pasted from a non-note layer, so the results may not actually be useful.
There is probably room for improvement in this area, if you have specific test cases that you would like to see working.
Chris
|
|
|
|
|
164
|
Using Vamp Plugins and Hosts / Getting and Using Vamp Plugins / Re: Inconsistencies in QM-plugin output (when invoked using simple-host or SV app)
|
on: September 17, 2008, 10:58:38
|
|
Hannes,
Sorry to take so long to reply to this. It's a bit of a subtle one, I wanted to check the figures first, and I'm afraid it took a little while to get around to that.
This behaviour is essentially a bug in the result printing part of the simple host in the Vamp SDK, although there is also a shortage of documentation for the (legitimate) behaviour of the SDK code that leads to this bug. Sonic Visualiser appears to have the correct output here. I will aim to get the bug fixed and the behaviour properly documented in the 1.4 SDK release.
The cause is to do with the handling of frame timestamps when using plugins that have frequency-domain input. Sonic Visualiser feeds these plugins frames starting from the frame that is centred on the first input audio sample, which is timestamped at time zero.
The simple host, in contrast, begins with a frame that starts at the first input audio sample (not such a good thing to do, because it means that samples earlier in the file than half the frame size are not properly represented, but technically legitimate). This host uses a PluginInputDomainAdapter to handle the conversion to frequency domain if the plugin requested it; for the first frame, it feeds to the adapter these time-domain samples starting at the first input audio sample, with a timestamp of zero. The adapter recognises that the frequency domain input timestamp should be adjusted to the centre of the frame, and makes that adjustment. However, the host is not aware that that adjustment has happened, and so prints out the results with the un-adjusted timestamps. That's the bug.
The results shown in SV and those returned by the simple host will match for plugins that use time-domain input, and should also match for plugins with frequency-domain input where their outputs are timestamped explicitly by the plugin using "adjusted" timestamps, for example the Onsets output of the Simple Percussion Onset Detector example plugin. Where they differ (with SV being correct and the simple host wrong) is for plugins with frequency-domain input whose outputs are timestamped implicitly by the host, for example the chromagram -- the discrepancy is particularly marked for the chromagram because of its long frame size; the difference of 0.74 seconds you mention is half of that frame size.
Chris
|
|
|
|
|