A program and plugin framework for generating images from audio files, using Vamp audio analysis plugins.
An image is generated by analysing an audio file with one or more Vamp plugins and passing the output to a Vampeyer plugin which draws the image. The Vampeyer plugin defines which Vamp plugins it requires.
For the host:
sudo apt-get install libpng12-dev libsndfile1-dev vamp-plugin-sdk libvamp-hostsdk3 libfltk1.3-dev libtclap-dev
For the example plugins:
sudo apt-get install libcairo2-dec libvamp-hostsdk3
Building and installing the software
To build and install the host, run the following in the project directory:
make sudo make install
To build the example plugins, run
make in the plugins directory. Each
Vampeyer plugin depends on one or more Vamp plugins being installed. The
example plugins depend on the BBC Vamp plugin
collection which should be
installed in your Vamp plugin system
Using the host
vampeyer --help to see the full list of command line options. A number of
example commands are listed below.
Display the waveform of audio.wav in a window:
vampeyer -p plugins/Waveform.so audio.wav
Save the waveform of audio.wav as audio.png:
vampeyer -p plugins/Waveform.so -o audio.png audio.wav
Save a 1000x200 pixel waveform of audio.wav as audio.png:
vampeyer -p plugins/Waveform.so -s 1000x200 -o audio.png audio.wav
Creating a plugin
The easiest way to create your own plugin is to copy and modify
Your plugin can be compiled using the following command:
g++ -shared -fPIC -I<path> YourPlugin.cpp -o YourPlugin.so
<path> is the location of
Vampeyer.h. If your code has any
library dependencies (such as Cairo), remember to add the
-l argument (e.g.
- Chris Baume, British Broadcasting Corporation
Copyright 2014 British Broadcasting Corporation
Some code is derived from example Vamp host code, which is Copyright 2006 Chris Cannam, Copyright 2007-2008 QMUL.