diff rationale.html @ 0:351c4ebce5f9 website

* Move website from vamp-website/trunk to plain website
author cannam
date Mon, 22 Sep 2008 13:01:46 +0000
parents
children 0976232e353b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rationale.html	Mon Sep 22 13:01:46 2008 +0000
@@ -0,0 +1,67 @@
+<!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>
+      </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>