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
- Peak/trough
- Energy
- RMS energy
- RMS energy delta
- Moving average
- Dip probability
- Low energy ratio
- Intensity
- Intensity
- Intensity ratio
- Rhythm
- Onset detection curve
- Moving average of the onset detection curve
- Difference between 1 and 2
- Onsets
- Average onset frequency
- Rhythm strength
- Autocorrelation
- Mean correlation peak
- Peak valley ratio
- Tempo
- Spectral Contrast
- Valleys
- Peaks
- Mean
- Spectral Flux
- Spectral flux
- Speech/music segmenter
- Segmentation
- Detection function
Download the correct plugin for your platform from the releases page and extract the contents into the Vamp system plugin folder.
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/
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/
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.
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
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
Please refer to the 'COPYING' and 'AUTHORS' files.