SampleType » History » Version 12

« Previous - Version 12/72 (diff) - Next » - Current version
Chris Cannam, 2014-02-10 01:24 PM


Output Sample Type and Sample Rate

A Vamp plugin receives audio and produces a series of descriptive feature structures.

The audio input is provided as a series of fixed-length sample blocks, equally spaced in time, 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 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.)

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.

SampleType

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

OneSamplePerStep

This is the simplest option. If an output is declared as having a SampleType of OneSamplePerStep, then any features returned from a process call are assumed to match up with the audio block provided to that process call.

This means:

  • The plugin should not set timestamps on any features it returns from a OneSamplePerStep output
  • If the plugin does set timestamps on such features, the host must ignore them
  • The host must treat all features returned from a given process call as if they had the same timestamp as it passed to that process call
  • The host must treat all features returned from getRemainingFeatures as immediately following the final process block (i.e. with the same time as the next equally-spaced process block would have had, if the input had not ended then).

feature-structures-20pc.png 25.3 KB, downloaded 1882 times Chris Cannam, 2014-02-10 12:04 PM