Permalink
Find file
be50e19 Mar 29, 2016
168 lines (113 sloc) 4.1 KB

BBC Vamp plugin collection

Introduction

This is a collection of audio feature extraction algorithms written in the Vamp plugin format by BBC Research and Development.

Below is a list of plugins and their outputs. Detailed information about each of the features and the algorithms used is contained in the full documentation, which is available to download from the releases page.

  • Peaks
    1. Peak/trough
  • Energy
    1. RMS energy
    2. RMS energy delta
    3. Moving average
    4. Dip probability
    5. Low energy ratio
  • Intensity
    1. Intensity
    2. Intensity ratio
  • Rhythm
    1. Onset detection curve
    2. Moving average of the onset detection curve
    3. Difference between 1 and 2
    4. Onsets
    5. Average onset frequency
    6. Rhythm strength
    7. Autocorrelation
    8. Mean correlation peak
    9. Peak valley ratio
    10. Tempo
  • Spectral Contrast
    1. Valleys
    2. Peaks
    3. Mean
  • Spectral Flux
    1. Spectral flux
  • Speech/music segmenter
    1. Segmentation
    2. Detection function

Binary installation (recommended)

Download the correct plugin for your platform from the releases page and extract the contents into the Vamp system plugin folder.

Installation from source

Linux (Ubuntu/Debian)

Firstly you will need a C++ compiler:

sudo apt-get install build-essential

Download the Vamp SDK

wget https://code.soundsoftware.ac.uk/attachments/download/1514/vamp-plugin-sdk-2.6.tar.gz
tar xvf vamp-plugin-sdk-2.6.tar.gz
cd vamp-plugin-sdk-2.6

Compile the SDK

./configure
make sdk

In Makefile.inc, set VAMP_SDK_DIR to the SDK path

cd /path/to/bbc-vamp-plugins
nano Makefile.inc

Build the plugin

make -f Makefile.linux

Install the plugin

mv bbc-vamp-plugins.so bbc-vamp-plugins.cat bbc-vamp-plugins.n3 /usr/local/lib/vamp/

OS/X

Install XCode if you haven't already.

Download the Vamp SDK

wget https://code.soundsoftware.ac.uk/attachments/download/1514/vamp-plugin-sdk-2.6.tar.gz
tar xvf vamp-plugin-sdk-2.6.tar.gz
cd vamp-plugin-sdk-2.6

Compile the SDK

make -f build/Makefile.osx sdk

In Makefile.inc, set VAMP_SDK_DIR to the SDK path

cd /path/to/bbc-vamp-plugins
nano Makefile.inc

Build the plugin

make -f Makefile.osx

Install the plugin

mv bbc-vamp-plugins.dylib bbc-vamp-plugins.cat bbc-vamp-plugins.n3 /Library/Audio/Plug-Ins/Vamp/

Windows (cross-compiled)

To compile a Windows binary from a Linux environment, install MinGW:

sudo apt-get install mingw-w64

Download the Vamp SDK

wget https://code.soundsoftware.ac.uk/attachments/download/1514/vamp-plugin-sdk-2.6.tar.gz
tar xvf vamp-plugin-sdk-2.6.tar.gz
cd vamp-plugin-sdk-2.6

Compile the SDK

make -f build/Makefile.mingw32 sdk

In Makefile.inc, set VAMP_SDK_DIR to the SDK path

cd /path/to/bbc-vamp-plugins
nano Makefile.inc

Build the plugin

make -f Makefile.mingw32

Install the plugin by putting bbc-vamp-plugins.dll, bbc-vamp-plugins.cat and bbc-vamp-plugins.n3 in the Vamp system plugin folder.

Documentation

To generate the documentation, install Doxygen and run the following command from the src folder. The documents will appear in doc/html/index.html

doxygen ../bbc-vamp-plugins.doxyfile

Usage

The two primary programs which use Vamp plugins are sonic annotator and sonic visualiser.

Below is an example of how to extract the tempo of an audio file using sonic annotator and default settings:

sonic-annotator -d vamp:bbc-vamp-plugins:bbc-rhythm:tempo audio.wav -w csv --csv-stdout

Further reading

Licensing terms and authorship

Please refer to the 'COPYING' and 'AUTHORS' files.