view rationale.html @ 76:e3e11437ecea website

Add forum code
author Chris Cannam
date Sun, 07 Jul 2013 11:25:48 +0200
parents 0976232e353b
children e4bb9267c009
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="rationale.html">Rationale</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/forum/">Forum</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>