SampleType » History » Version 11

Version 10 (Chris Cannam, 2014-02-10 01:13 PM) → Version 11/72 (Chris Cannam, 2014-02-10 01:14 PM)

h1. Output Sample Type and Sample Rate

A Vamp plugin takes audio as input input, as a series of process blocks with associated timestamps, and returns a series of descriptive feature "feature" structures.

The audio input is provided as a series of fixed-length sample blocks provided to successive calls to the plugin's @process@ function. The plugin may return any number of features from each @process@ call, and may also return any number of features from @getRemainingFeatures@ after once all the audio has been received.

Features are each associated with a particular output of the plugin. The plugin declares that each output has certain properties, which constrain the sort of feature data the host can expect to see. (See diagram.)

!/attachments/download/980/feature-structures-20pc.png!

A feature may or may not have a timestamp. Whether a timestamp is provided -- and, if it is provided, what it means -- are determined by the @SampleType@ and @SampleRate@ properties of the plugin output on which the feature is returned.

h2. SampleType

A plugin output's @SampleType@ property may be either @OneSamplePerStep@, @FixedSampleRate@, or @VariableSampleRate@. Here's what they mean.

h3. OneSamplePerStep

This is the simplest option. If an output is declared as having a @SampleType@ of @OneSamplePerStep@, then any features returned from