view rationale.html @ 128:817c3988afc7 website tip

Add a page about the Vamp Plugin Pack, including links to download mirrors
author Chris Cannam
date Tue, 11 Aug 2020 16:41:11 +0100
parents 1982d4ba2ea3
children
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <link rel="stylesheet" media="screen" type="text/css" href="screen.css"/>
    <link rel="icon" type="image/png" href="images/waveform.png"/>
    <link rel="shortcut" type="image/png" href="images/waveform.png"/>
    <title>Vamp Plugins</title>
    <meta name="robots" content="index"/>
    <meta name="keywords" content="vamp plugin api plugins sonic visualiser visualizer visualise visualize audio music spectrogram feature extraction feapi vsi dssi"/>
    <meta name="description" content="Vamp is a system for plugins that extract feature information from audio data."/>
  </head>
  <body>
      <h1 id="header"><span>Vamp Plugins</span></h1>

      <div id="nav">
      <ul>
      <li class="first"><a href="index.html">Home</a></li>
      <li><a href="news.html">News</a></li>
      <li><a href="download.html">Download Plugins</a></li>
      <li><a href="develop.html">Make Plugins</a></li>
      <li><a href="http://vamp-plugins.org/wiki/">Wiki</a></li>
      </ul></div>

      <h2 id="firstpara">Comparing Vamp and VST</h2>

      <p>The principal technical differences between Vamp and a real-time audio
       plugin system such as VST are:</p>

      <ul>
      
      <li>Vamp plugins may output complex multidimensional data with
      labels.  As a consequence, they are likely to work best when the
      output data has a much lower sampling rate than the input.</li>

      <li>While Vamp plugins receive their data block-by-block, they
      are not required to return output immediately on receiving the
      input.  A Vamp plugin may be non-causal, preferring to store up
      data based on its input until the end of a processing run and
      then return all results at once.</li>

      <li>Vamp plugins have more control over their inputs than a
      typical real-time processing plugin.  For example, they can
      indicate to the host their preferred processing block and step
      sizes, and these do not have to be equal.</li>

      <li>Vamp plugins may ask to receive data in the frequency domain
      instead of the time domain.  The host takes the responsibility
      for converting the input data using an FFT of windowed frames.
      This simplifies plugins that do straightforward frequency-domain
      processing and permits the host to cache frequency-domain data
      when possible.</li>
      
      <li>A Vamp plugin is configured once before each processing run,
      and receives no further parameter changes during use &ndash;
      unlike real time plugin APIs in which the input parameters may
      change at any time.  This means that fundamental properties such
      as the number of values per output or the preferred processing
      block size may depend on the input parameters.  Many Vamp
      plugins would be unable to work without this guarantee.</li>

      <li>Vamp plugins do not have to be able to run in real time.</li>

      </ul>


    </body>
</html>