The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Introduction to ReVAMP

library(ReVAMP)
library(tuneR)

Overview

ReVAMP provides an R interface to the Vamp audio analysis plugin system developed by Queen Mary University of London’s Centre for Digital Music. Vamp plugins are widely used for Music Information Retrieval (MIR) tasks including:

Installation

Installing Vamp Plugins

ReVAMP requires Vamp plugins to be installed separately. Popular plugin collections include:

See the Vamp Paths vignette for details on plugin installation and search paths.

Basic Usage

Discovering Available Plugins

First, check what plugins are available on your system:

# List all available plugins
plugins <- vampPlugins()
head(plugins)

# View plugin information
str(plugins)

The dataframe contains:

Running a Plugin

The main function is runPlugin(), which executes a plugin on audio data and returns results as a named list of data frames.

# Load audio file
audio <- readWave("path/to/audio.wav")

# Run amplitude follower plugin
result <- runPlugin(
  key = "vamp-example-plugins:amplitudefollower",
  wave = audio,
  params = NULL,      # Use default parameters
  useFrames = FALSE   # Return timestamps in seconds
)

# Result is a named list of data frames (one per output)
names(result)
str(result[[1]])

Each output data frame contains:

Plugin Keys

Plugins are identified by a key in the format library:plugin:

# Examples of plugin keys
"vamp-example-plugins:amplitudefollower"
"vamp-aubio:aubiotempo"
"qm-vamp-plugins:qm-tempotracker"
"nnls-chroma:chordino"

Working with Plugin Parameters

Many plugins accept parameters to customize their behavior.

Discovering Parameters

# Get parameters for a plugin
params_df <- vampPluginParams("vamp-aubio:aubiopitch")
print(params_df)

The parameters dataframe shows:

Setting Parameters

Pass parameters as a named list:

# Run pitch detection with custom parameters
result <- runPlugin(
  key = "vamp-aubio:aubiopitch",
  wave = audio,
  params = list(
    maxfreq = 800,      # Maximum frequency in Hz
    minfreq = 100,      # Minimum frequency in Hz
    silencethreshold = -70  # Silence threshold in dB
  ),
  useFrames = FALSE
)

Getting Help

References

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.