@prefix rdfs:     <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:      <http://www.w3.org/2001/XMLSchema#> .
@prefix vamp:     <http://purl.org/ontology/vamp/> .
@prefix plugbase: <http://vamp-plugins.org/rdf/plugins/vamp-example-plugins#> .
@prefix owl:      <http://www.w3.org/2002/07/owl#> .
@prefix dc:       <http://purl.org/dc/elements/1.1/> .
@prefix af:       <http://purl.org/ontology/af/> .
@prefix foaf:     <http://xmlns.com/foaf/0.1/> .
@prefix doap: 	  <http://usefulinc.com/ns/doap#> .
@prefix cc:       <http://web.resource.org/cc/> .
@prefix :         <#> .

<>  a   vamp:PluginDescription ;
    foaf:maker          <http://www.vamp-plugins.org/doap.rdf#template-generator> ;
    foaf:primaryTopic   <http://vamp-plugins.org/rdf/plugins/vamp-example-plugins> .

:maker
    foaf:name "Vamp SDK Example Plugins" ;
    foaf:page <http://vamp-plugins.org/> .

plugbase:library a  vamp:PluginLibrary ;
    vamp:identifier "vamp-example-plugins"  ; 
    dc:title "Vamp example plugins" ;
    dc:description """A set of simple plugins as included with the Vamp developers kit. Amplitude tracker, simple percussion onset detector, tempo estimator, spectral centroid, power spectrum, and zero-crossing counter.""" ;
    foaf:page <http://www.vamp-plugins.org/plugin-doc/vamp-example-plugins.html> ;
    doap:download-page <http://vamp-plugins.org/develop.html> ;
    vamp:available_plugin plugbase:amplitudefollower ; 
    vamp:available_plugin plugbase:fixedtempo ; 
    vamp:available_plugin plugbase:percussiononsets ; 
    vamp:available_plugin plugbase:powerspectrum ; 
    vamp:available_plugin plugbase:spectralcentroid ; 
    vamp:available_plugin plugbase:zerocrossing ; 
    foaf:maker            :maker ;
    dc:title "Vamp Example Plugins" ;
    dc:description """Example plugins from the Vamp Plugin SDK""" ;
    vamp:has_source true ;
    vamp:has_binary "linux32" ;
    vamp:has_binary "linux64" ;
    vamp:has_binary "osx" ;
    vamp:has_binary "win32" ;
    .

plugbase:amplitudefollower a   vamp:Plugin ;
    dc:title              "Amplitude Follower" ;
    vamp:name             "Amplitude Follower" ;
    dc:description        "Track the amplitude of the audio signal" ;
    foaf:page <http://www.vamp-plugins.org/plugin-doc/vamp-example-plugins.html#amplitudefollower> ;
    foaf:maker            :maker ;
    cc:license            <http://creativecommons.org/licenses/BSD/> ;
    dc:rights             "Freely redistributable (BSD license)" ;
    vamp:identifier       "amplitudefollower" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "1" ;
    vamp:input_domain     vamp:TimeDomain ;

    vamp:parameter   plugbase:amplitudefollower_param_attack ;
    vamp:parameter   plugbase:amplitudefollower_param_release ;

    vamp:output      plugbase:amplitudefollower_output_amplitude ;
    .
plugbase:amplitudefollower_param_attack a  vamp:Parameter ;
    vamp:identifier     "attack" ;
    dc:title            "Attack time" ;
    dc:format           "s" ;
    vamp:min_value       0 ;
    vamp:max_value       1 ;
    vamp:unit           "s"  ;
    vamp:default_value   0.01 ;
    vamp:value_names     ();
    .
plugbase:amplitudefollower_param_release a  vamp:Parameter ;
    vamp:identifier     "release" ;
    dc:title            "Release time" ;
    dc:format           "s" ;
    vamp:min_value       0 ;
    vamp:max_value       1 ;
    vamp:unit           "s"  ;
    vamp:default_value   0.01 ;
    vamp:value_names     ();
    .
plugbase:amplitudefollower_output_amplitude a  vamp:DenseOutput ;
    vamp:identifier       "amplitude" ;
    dc:title              "Amplitude" ;
    dc:description        ""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "V" ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:computes_signal_type  af:Signal ;
    .
plugbase:fixedtempo a   vamp:Plugin ;
    dc:title              "Simple Fixed Tempo Estimator" ;
    vamp:name             "Simple Fixed Tempo Estimator" ;
    dc:description        "Study a short section of audio and estimate its tempo, assuming the tempo is constant" ;
    foaf:page <http://www.vamp-plugins.org/plugin-doc/vamp-example-plugins.html#fixedtempo> ;
    foaf:maker            :maker ;
    cc:license            <http://creativecommons.org/licenses/BSD/> ;
    dc:rights             "Freely redistributable (BSD license)" ;
    vamp:identifier       "fixedtempo" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "1" ;
    vamp:input_domain     vamp:FrequencyDomain ;

    vamp:output      plugbase:fixedtempo_output_tempo ;
    vamp:output      plugbase:fixedtempo_output_candidates ;
    vamp:output      plugbase:fixedtempo_output_detectionfunction ;
    vamp:output      plugbase:fixedtempo_output_acf ;
    vamp:output      plugbase:fixedtempo_output_filtered_acf ;
    .
plugbase:fixedtempo_output_tempo a  vamp:SparseOutput ;
    vamp:identifier       "tempo" ;
    dc:title              "Tempo" ;
    dc:description        "Estimated tempo"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "bpm" ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:sample_type      vamp:VariableSampleRate ;
    vamp:computes_event_type   af:Tempo ;
    .
plugbase:fixedtempo_output_candidates a  vamp:SparseOutput ;
    vamp:identifier       "candidates" ;
    dc:title              "Tempo candidates" ;
    dc:description        "Possible tempo estimates, one per bin with the most likely in the first bin"  ;
    vamp:fixed_bin_count  "false" ;
    vamp:unit             "bpm" ;
    vamp:sample_type      vamp:VariableSampleRate ;
    vamp:computes_event_type   af:Tempo ;
    .
plugbase:fixedtempo_output_detectionfunction a  vamp:DenseOutput ;
    vamp:identifier       "detectionfunction" ;
    dc:title              "Detection Function" ;
    dc:description        "Onset detection function"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    a                 vamp:KnownExtentsOutput ;
    vamp:min_value    0  ;
    vamp:max_value    1  ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:computes_signal_type  af:OnsetDetectionFunction ;
    .
plugbase:fixedtempo_output_acf a  vamp:DenseOutput ;
    vamp:identifier       "acf" ;
    dc:title              "Autocorrelation Function" ;
    dc:description        "Autocorrelation of onset detection function"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "r" ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:computes_signal_type  af:Signal ;
    .
plugbase:fixedtempo_output_filtered_acf a  vamp:DenseOutput ;
    vamp:identifier       "filtered_acf" ;
    dc:title              "Filtered Autocorrelation" ;
    dc:description        "Filtered autocorrelation of onset detection function"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "r" ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:computes_signal_type  af:Signal ;
    .
plugbase:percussiononsets a   vamp:Plugin ;
    dc:title              "Simple Percussion Onset Detector" ;
    vamp:name             "Simple Percussion Onset Detector" ;
    dc:description        "Detect percussive note onsets by identifying broadband energy rises" ;
    foaf:page <http://www.vamp-plugins.org/plugin-doc/vamp-example-plugins.html#percussiononsets> ;
    foaf:maker            :maker ; 
    cc:license            <http://creativecommons.org/licenses/BSD/> ;
    dc:rights             "Freely redistributable (BSD license)" ;
    vamp:identifier       "percussiononsets" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "2" ;
    vamp:input_domain     vamp:FrequencyDomain ;

    vamp:parameter   plugbase:percussiononsets_param_threshold ;
    vamp:parameter   plugbase:percussiononsets_param_sensitivity ;

    vamp:output      plugbase:percussiononsets_output_onsets ;
    vamp:output      plugbase:percussiononsets_output_detectionfunction ;
    .
plugbase:percussiononsets_param_threshold a  vamp:Parameter ;
    vamp:identifier     "threshold" ;
    dc:title            "Energy rise threshold" ;
    dc:format           "dB" ;
    vamp:min_value       0 ;
    vamp:max_value       20 ;
    vamp:unit           "dB"  ;
    vamp:default_value   3 ;
    vamp:value_names     ();
    .
plugbase:percussiononsets_param_sensitivity a  vamp:Parameter ;
    vamp:identifier     "sensitivity" ;
    dc:title            "Sensitivity" ;
    dc:format           "%" ;
    vamp:min_value       0 ;
    vamp:max_value       100 ;
    vamp:unit           "%"  ;
    vamp:default_value   40 ;
    vamp:value_names     ();
    .
plugbase:percussiononsets_output_onsets a  vamp:SparseOutput ;
    vamp:identifier       "onsets" ;
    dc:title              "Onsets" ;
    dc:description        "Percussive note onset locations"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    vamp:bin_count        0 ;
    vamp:bin_names        ();
    vamp:sample_type      vamp:VariableSampleRate ;
    vamp:computes_event_type  af:Onset ;
    .
plugbase:percussiononsets_output_detectionfunction a  vamp:DenseOutput ;
    vamp:identifier       "detectionfunction" ;
    dc:title              "Detection Function" ;
    dc:description        "Broadband energy rise detection function"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    a                     vamp:QuantizedOutput ;
    vamp:quantize_step    1  ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:computes_signal_type  af:OnsetDetectionFunction ;
    .
plugbase:powerspectrum a   vamp:Plugin ;
    dc:title              "Simple Power Spectrum" ;
    vamp:name             "Simple Power Spectrum" ;
    dc:description        "Return the power spectrum of a signal" ;
    foaf:page <http://www.vamp-plugins.org/plugin-doc/vamp-example-plugins.html#powerspectrum> ;
    foaf:maker            :maker ; 
    cc:license            <http://creativecommons.org/licenses/BSD/> ;
    dc:rights             "Freely redistributable (BSD license)" ;
    vamp:identifier       "powerspectrum" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "1" ;
    vamp:input_domain     vamp:FrequencyDomain ;

    vamp:output      plugbase:powerspectrum_output_powerspectrum ;
    .
plugbase:powerspectrum_output_powerspectrum a  vamp:DenseOutput ;
    vamp:identifier       "powerspectrum" ;
    dc:title              "Power Spectrum" ;
    dc:description        "Power values of the frequency spectrum bins calculated from the input signal"  ;
    vamp:computes_signal_type  af:Signal ;
    .
plugbase:spectralcentroid a   vamp:Plugin ;
    dc:title              "Spectral Centroid" ;
    vamp:name             "Spectral Centroid" ;
    dc:description        "Calculate the centroid frequency of the spectrum of the input signal" ;
    foaf:page <http://www.vamp-plugins.org/plugin-doc/vamp-example-plugins.html#spectralcentroid> ;
    foaf:maker            :maker ; 
    cc:license            <http://creativecommons.org/licenses/BSD/> ;
    dc:rights             "Freely redistributable (BSD license)" ;
    vamp:identifier       "spectralcentroid" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "2" ;
    vamp:input_domain     vamp:FrequencyDomain ;

    vamp:output      plugbase:spectralcentroid_output_logcentroid ;
    vamp:output      plugbase:spectralcentroid_output_linearcentroid ;
    .
plugbase:spectralcentroid_output_logcentroid a  vamp:DenseOutput ;
    vamp:identifier       "logcentroid" ;
    dc:title              "Log Frequency Centroid" ;
    dc:description        "Centroid of the log weighted frequency spectrum"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "Hz" ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:computes_signal_type  af:LogFrequencyCentroid ;
    .
plugbase:spectralcentroid_output_linearcentroid a  vamp:DenseOutput ;
    vamp:identifier       "linearcentroid" ;
    dc:title              "Linear Frequency Centroid" ;
    dc:description        "Centroid of the linear frequency spectrum"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "Hz" ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:computes_signal_type  af:LinearFrequencyCentroid ;
    .
plugbase:zerocrossing a   vamp:Plugin ;
    dc:title              "Zero Crossings" ;
    vamp:name             "Zero Crossings" ;
    dc:description        "Detect and count zero crossing points" ;
    foaf:page <http://www.vamp-plugins.org/plugin-doc/vamp-example-plugins.html#zerocrossing> ;
    foaf:maker            :maker ; 
    cc:license            <http://creativecommons.org/licenses/BSD/> ;
    dc:rights             "Freely redistributable (BSD license)" ;
    vamp:identifier       "zerocrossing" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "2" ;
    vamp:input_domain     vamp:TimeDomain ;
    vamp:output      plugbase:zerocrossing_output_counts ;
    vamp:output      plugbase:zerocrossing_output_zerocrossings ;
    .
plugbase:zerocrossing_output_counts a  vamp:DenseOutput ;
    vamp:identifier       "counts" ;
    dc:title              "Zero Crossing Counts" ;
    dc:description        "The number of zero crossing points per processing block"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "crossings" ;
    a                     vamp:QuantizedOutput ;
    vamp:quantize_step    1  ;
    vamp:bin_count        1 ;
    vamp:bin_names        ( "");
    vamp:computes_signal_type   af:ZeroCrossingCount ;
    .
plugbase:zerocrossing_output_zerocrossings a  vamp:SparseOutput ;
    vamp:identifier       "zerocrossings" ;
    dc:title              "Zero Crossings" ;
    dc:description        "The locations of zero crossing points"  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    a                     vamp:QuantizedOutput ;
    vamp:quantize_step    1  ;
    vamp:bin_count        0 ;
    vamp:bin_names        ();
    vamp:sample_type      vamp:VariableSampleRate ;
    vamp:computes_event_type   af:ZeroCrossing ;
    .

