Mercurial > hg > vamp-plugin-sdk
changeset 138:147de5e64d28
* Update vamp.n3/rdf from km-rdf
* Add template generator (old jerrell version) from sv1 repository
* Add provisional RDF descriptions for example plugins
author | cannam |
---|---|
date | Thu, 19 Jun 2008 09:37:31 +0000 |
parents | dbab8c3a6571 |
children | bb46b8bd213a |
files | examples/vamp-example-plugins:amplitudefollower.n3 examples/vamp-example-plugins:percussiononsets.n3 examples/vamp-example-plugins:spectralcentroid.n3 examples/vamp-example-plugins:zerocrossing.n3 rdf/README rdf/ToDo rdf/generator/Makefile.linux rdf/generator/template-generator.cpp rdf/vamp.n3 rdf/vamp.rdf |
diffstat | 10 files changed, 578 insertions(+), 53 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/vamp-example-plugins:amplitudefollower.n3 Thu Jun 19 09:37:31 2008 +0000 @@ -0,0 +1,63 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix vamp: <http://www.purl.org/ontology/vamp/> . +@prefix vampex: <http://www.purl.org/ontology/vamp/examples/> . +@prefix plugbase: <http://purl.org/ontology/vamp/examples/> . +@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 cc: <http://web.resource.org/cc/> . +@prefix thisplug: <http://purl.org/ontology/vamp/examples/amplitudefollower#> . +@prefix : <> . + +<> a vamp:PluginDescription ; + foaf:maker <http://www.vamp-plugins.org/> ; + foaf:maker <http://www.vamp-plugins.org/doap.rdf#template-generator> ; + foaf:primaryTopic plugbase:amplitudefollower . + +plugbase:amplitudefollower a vamp:Plugin ; + dc:title "Amplitude Follower" ; + vamp:name "Amplitude Follower" ; + dc:description "Track the amplitude of the audio signal" ; + foaf:maker [ foaf:name "Vamp SDK Example Plugins"] ; # FIXME could give plugin author's URI here + cc:license <FIXME license for the plugin> ; + vamp:identifier "amplitudefollower" ; + vamp:vamp_API_version vamp:api_version_1 ; + owl:versionInfo "1" ; + vamp:input_domain vamp:TimeDomain ; + + vamp:parameter_descriptor thisplug:param_attack ; + vamp:parameter_descriptor thisplug:param_release ; + + vamp:output_descriptor thisplug:output_amplitude ; + . +thisplug:param_attack a vamp:ParameterDescriptor ; + vamp:identifier "attack" ; + dc:title "Attack time" ; + dc:format "s" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:default_value 0.01 . + +thisplug:param_release a vamp:ParameterDescriptor ; + vamp:identifier "release" ; + dc:title "Release time" ; + dc:format "s" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:default_value 0.01 . + +thisplug:output_amplitude a vamp:DenseOutput ; + vamp:identifier "amplitude" ; + dc:title "Amplitude" ; + dc:description "" ; + vamp:fixed_bin_count "true" ; + vamp:is_quantised "false" ; + vamp:unit "V" ; + vamp:bin_count 1 ; + vamp:bin_names ( ""); + vamp:sample_type vamp:OneSamplePerStep ; + vamp:computes_feature_type <FIXME feature type URI> ; + vamp:computes_event_type <FIXME event type URI> ; + .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/vamp-example-plugins:percussiononsets.n3 Thu Jun 19 09:37:31 2008 +0000 @@ -0,0 +1,78 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix vamp: <http://www.purl.org/ontology/vamp/> . +@prefix vampex: <http://www.purl.org/ontology/vamp/examples/> . +@prefix plugbase: <http://purl.org/ontology/vamp/examples/> . +@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 cc: <http://web.resource.org/cc/> . +@prefix thisplug: <http://purl.org/ontology/vamp/examples/percussiononsets#> . +@prefix : <> . + +<> a vamp:PluginDescription ; + foaf:maker <http://www.vamp-plugins.org/> ; + foaf:maker <http://www.vamp-plugins.org/doap.rdf#template-generator> ; + foaf:primaryTopic plugbase:percussiononsets . + +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:maker [ foaf:name "Vamp SDK Example Plugins"] ; # FIXME could give plugin author's URI here + cc:license <FIXME license for the plugin> ; + vamp:identifier "percussiononsets" ; + vamp:vamp_API_version vamp:api_version_1 ; + owl:versionInfo "2" ; + vamp:input_domain vamp:TimeDomain ; + + vamp:parameter_descriptor thisplug:param_threshold ; + vamp:parameter_descriptor thisplug:param_sensitivity ; + + vamp:output_descriptor thisplug:output_onsets ; + vamp:output_descriptor thisplug:output_detectionfunction ; + . +thisplug:param_threshold a vamp:ParameterDescriptor ; + vamp:identifier "threshold" ; + dc:title "Energy rise threshold" ; + dc:format "dB" ; + vamp:min_value 0 ; + vamp:max_value 20 ; + vamp:default_value 3 . + +thisplug:param_sensitivity a vamp:ParameterDescriptor ; + vamp:identifier "sensitivity" ; + dc:title "Sensitivity" ; + dc:format "%" ; + vamp:min_value 0 ; + vamp:max_value 100 ; + vamp:default_value 40 . + +thisplug:output_onsets a vamp:SparseOutput ; + vamp:identifier "onsets" ; + dc:title "Onsets" ; + dc:description "Percussive note onset locations" ; + vamp:fixed_bin_count "true" ; + vamp:is_quantized "false" ; + vamp:unit "" ; + vamp:bin_count 0 ; + vamp:bin_names (); + vamp:sample_type vamp:VariableSampleRate ; + vamp:sample_rate 44100 ; + vamp:computes_feature_type <FIXME feature type URI> ; + vamp:computes_event_type <FIXME event type URI> ; + . +thisplug: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:is_quantised "true" ; + vamp:unit "" ; + vamp:bin_count 1 ; + vamp:bin_names ( ""); + vamp:quantize_step 1 ; + vamp:computes_feature_type <FIXME feature type URI> ; + vamp:computes_event_type <FIXME event type URI> ; + .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/vamp-example-plugins:spectralcentroid.n3 Thu Jun 19 09:37:31 2008 +0000 @@ -0,0 +1,59 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix vamp: <http://www.purl.org/ontology/vamp/> . +@prefix vampex: <http://www.purl.org/ontology/vamp/examples/> . +@prefix plugbase: <http://purl.org/ontology/vamp/examples/> . +@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 cc: <http://web.resource.org/cc/> . +@prefix thisplug: <http://purl.org/ontology/vamp/examples/spectralcentroid#> . +@prefix : <> . + +<> a vamp:PluginDescription ; + foaf:maker <http://www.vamp-plugins.org/> ; + foaf:maker <http://www.vamp-plugins.org/doap.rdf#template-generator> ; + foaf:primaryTopic plugbase:spectralcentroid . + +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:maker [ foaf:name "Vamp SDK Example Plugins"] ; # FIXME could give plugin author's URI here + cc:license <FIXME license for the plugin> ; + vamp:identifier "spectralcentroid" ; + vamp:vamp_API_version vamp:api_version_1 ; + owl:versionInfo "2" ; + vamp:input_domain vamp:TimeDomain ; + + + vamp:output_descriptor thisplug:output_logcentroid ; + vamp:output_descriptor thisplug:output_linearcentroid ; + . +thisplug: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:is_quantised "false" ; + vamp:unit "Hz" ; + vamp:bin_count 1 ; + vamp:bin_names ( ""); + vamp:sample_type vamp:OneSamplePerStep ; + vamp:computes_feature_type <FIXME feature type URI> ; + vamp:computes_event_type <FIXME event type URI> ; + . +thisplug: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:is_quantised "false" ; + vamp:unit "Hz" ; + vamp:bin_count 1 ; + vamp:bin_names ( ""); + vamp:sample_type vamp:OneSamplePerStep ; + vamp:computes_feature_type <FIXME feature type URI> ; + vamp:computes_event_type <FIXME event type URI> ; + .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/vamp-example-plugins:zerocrossing.n3 Thu Jun 19 09:37:31 2008 +0000 @@ -0,0 +1,61 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix vamp: <http://www.purl.org/ontology/vamp/> . +@prefix vampex: <http://www.purl.org/ontology/vamp/examples/> . +@prefix plugbase: <http://purl.org/ontology/vamp/examples/> . +@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 cc: <http://web.resource.org/cc/> . +@prefix thisplug: <http://purl.org/ontology/vamp/examples/zerocrossing#> . +@prefix : <> . + +<> a vamp:PluginDescription ; + foaf:maker <http://www.vamp-plugins.org/> ; + foaf:maker <http://www.vamp-plugins.org/doap.rdf#template-generator> ; + foaf:primaryTopic plugbase:zerocrossing . + +plugbase:zerocrossing a vamp:Plugin ; + dc:title "Zero Crossings" ; + vamp:name "Zero Crossings" ; + dc:description "Detect and count zero crossing points" ; + foaf:maker [ foaf:name "Vamp SDK Example Plugins"] ; # FIXME could give plugin author's URI here + cc:license <FIXME license for the plugin> ; + vamp:identifier "zerocrossing" ; + vamp:vamp_API_version vamp:api_version_1 ; + owl:versionInfo "2" ; + vamp:input_domain vamp:TimeDomain ; + + + vamp:output_descriptor thisplug:output_counts ; + vamp:output_descriptor thisplug:output_zerocrossings ; + . +thisplug: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:is_quantised "true" ; + vamp:unit "crossings" ; + vamp:bin_count 1 ; + vamp:bin_names ( ""); + vamp:quantize_step 1 ; + vamp:computes_feature_type <FIXME feature type URI> ; + vamp:computes_event_type <FIXME event type URI> ; + . +thisplug: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:is_quantized "true" ; + vamp:unit "" ; + vamp:bin_count 0 ; + vamp:bin_names (); + vamp:quantize_step 1 ; + vamp:sample_type vamp:VariableSampleRate ; + vamp:sample_rate 44100 ; + vamp:computes_feature_type <FIXME feature type URI> ; + vamp:computes_event_type <FIXME event type URI> ; + .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdf/README Thu Jun 19 09:37:31 2008 +0000 @@ -0,0 +1,18 @@ +/* + Vamp Ontology/Transform OWL description (Chris Cannam) + www.vamp-plugins.org + www.sonicvisualiser.org +*/ + + David Pastor Escuredo + Contributions: + -Chris Sutton + -Yves Raimond + 2008, Centre For Digital Music, Queen Mary, University of London. + +This includes: + +-Vamp Ontology(n3 and RDF/XML) +-HTML class reference documentation +-Script to generate plugin descriptions driven from Prolog +-Plugin Description (they require some tweaking)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdf/ToDo Thu Jun 19 09:37:31 2008 +0000 @@ -0,0 +1,4 @@ +-automatic library URI assignment (not is a bit tricky) +-rules to define TrackLevelOutputs and other exceptions +-mapping vamp-audio features +...
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdf/generator/Makefile.linux Thu Jun 19 09:37:31 2008 +0000 @@ -0,0 +1,9 @@ + +CXXFLAGS := -I../.. -O2 -Wall + +template-generator: template-generator.o + g++ $^ -o $@ -L../../vamp-sdk -Wl,-Bstatic -lvamp-hostsdk -Wl,-Bdynamic -ldl + +clean: + rm *.o +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdf/generator/template-generator.cpp Thu Jun 19 09:37:31 2008 +0000 @@ -0,0 +1,230 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +#include "vamp-sdk/PluginHostAdapter.h" +#include "vamp-sdk/hostext/PluginChannelAdapter.h" +#include "vamp-sdk/hostext/PluginInputDomainAdapter.h" +#include "vamp-sdk/hostext/PluginLoader.h" +#include "vamp/vamp.h" + +#include <iostream> +#include <fstream> +#include <sstream> +#include <sndfile.h> + +#include <cmath> + +using std::cout; +using std::cin; +using std::cerr; +using std::getline; +using std::endl; +using std::string; +using std::vector; +using std::ofstream; +using std::ios; + +using Vamp::HostExt::PluginLoader; +using Vamp::Plugin; + +/* + + usage: + + template-generator vamp:aubioonset:onsets + +*/ + +string programURI = "http://www.vamp-plugins.org/doap.rdf#template-generator"; + +void usage() +{ + cerr << "usage: template-generator [PLUGIN_BASE_URI YOUR_URI] vamp:soname:plugin[:output]" << endl; + exit(2); +} + +template <class T> +inline string to_string (const T& t) +{ + std::stringstream ss; + ss << t; + return ss.str(); +} + +string describe_namespaces(Plugin* plugin, string pluginBundleBaseURI) +{ + string res=\ +"@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n\ +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n\ +@prefix vamp: <http://www.vamp-plugins.org/ontology/> .\n\ +@prefix vampex: <http://www.vamp-plugins.org/examples/> .\n\ +@prefix plugbase: <"+pluginBundleBaseURI+"> .\n\ +@prefix owl: <http://www.w3.org/2002/07/owl#> .\n\ +@prefix dc: <http://purl.org/dc/elements/1.1/> .\n\ +@prefix af: <http://purl.org/ontology/af/> .\n\ +@prefix foaf: <http://xmlns.com/foaf/0.1/> .\n\ +@prefix cc: <http://web.resource.org/cc/> .\n\ +@prefix thisplug: <"+pluginBundleBaseURI+plugin->getIdentifier()+"#> .\n\ +@prefix : <> .\n\n"; + + return res; +} + +string describe_doc(Plugin* plugin, string describerURI) +{ + string res=\ +"<> a vamp:PluginDescription ;\n\ + foaf:maker <"+describerURI+"> ;\n\ + foaf:maker <"+programURI+"> ;\n\ + foaf:primaryTopic plugbase:"+plugin->getIdentifier()+" .\n\n"; + return res; +} + + +string describe_plugin(Plugin* plugin) +{ + string res=\ +"plugbase:"+plugin->getIdentifier()+" a vamp:Plugin ;\n\ + dc:title \""+plugin->getName()+"\" ;\n\ + dc:description \""+plugin->getDescription()+"\" ;\n\ + foaf:maker [ foaf:name \""+plugin->getMaker()+"\"] ; # FIXME could give plugin author's URI here\n\ + cc:license <FIXME license for the plugin> ; \n\ + vamp:identifier \""+plugin->getIdentifier()+"\" ;\n\ + vamp:vamp_API_version vamp:api_version_"+to_string(plugin->getVampApiVersion())+" ;\n\ + owl:versionInfo \""+to_string(plugin->getPluginVersion())+"\" ;\n"; + if (plugin->getInputDomain() == Vamp::Plugin::FrequencyDomain) + res+=" vamp:input_domain vamp:FrequencyDomain ;\n\n"; + else + res+=" vamp:input_domain vamp:TimeDomain ;\n\n"; + + + Plugin::ParameterList params = plugin->getParameterDescriptors(); + for (Plugin::ParameterList::const_iterator i = params.begin(); i != params.end(); i++) + res+=" vamp:parameter_descriptor thisplug:param_"+(*i).identifier+" ;\n"; + res+="\n"; + + Plugin::OutputList outputs = plugin->getOutputDescriptors(); + for (Plugin::OutputList::const_iterator i = outputs.begin(); i!= outputs.end(); i++) + res+=" vamp:output_descriptor thisplug:output_"+(*i).identifier+" ;\n"; + res+=" .\n"; + + return res; +} + +string describe_param(Plugin::ParameterDescriptor p) +{ + string res=\ +"thisplug:param_"+p.identifier+" a vamp:ParameterDescriptor ;\n\ + vamp:identifier \""+p.identifier+"\" ;\n\ + dc:title \""+p.name+"\" ;\n\ + dc:format \""+p.unit+"\" ;\n\ + vamp:minValue "+to_string(p.minValue)+" ;\n\ + vamp:maxValue "+to_string(p.maxValue)+" ;\n\ + vamp:defaultValue "+to_string(p.defaultValue)+" .\n\n"; + return res; +} + +string describe_output(Plugin::OutputDescriptor o) +{ + string res=\ +"thisplug:output_"+o.identifier+" a vamp:OutputDescriptor ;\n\ + vamp:identifier \""+o.identifier+"\" ;\n\ + dc:title \""+o.name+"\" ;\n\ + vamp:fixed_bin_count \""+(o.hasFixedBinCount == 1 ? "true" : "false")+"\" ;\n"; + + // FIXME ? Bin names may vary based on plugin setup, so including them here might be misleading... + if (o.hasFixedBinCount) + { + res+=" vamp:bin_count "+to_string(o.binCount)+" ;\n"; + res+=" vamp:bin_names ("; + + unsigned int i; + for (i=0; i+1 < o.binNames.size(); i++) + res+=" \""+o.binNames[i]+"\""; + if (i < o.binNames.size()) + res+=" \""+o.binNames[i]+"\""; + res+=");\n"; + } + + if (o.sampleType == Plugin::OutputDescriptor::VariableSampleRate) + { + res+=" vamp:sample_type vamp:VariableSampleRate ;\n"; + if (o.sampleRate > 0.0f) + res+=" vamp:sample_rate "+to_string(o.sampleRate)+" ;\n"; + } + else if (o.sampleType == Plugin::OutputDescriptor::FixedSampleRate) + { + res+=" vamp:sample_type vamp:FixedSampleRate ;\n"; + res+=" vamp:sample_rate "+to_string(o.sampleRate)+" ;\n"; + } + else if (o.sampleType == Plugin::OutputDescriptor::OneSamplePerStep) + res+=" vamp:sample_type vamp:OneSamplePerStep ;\n"; + else + { + cerr<<"Incomprehensible sampleType for output descriptor "+o.identifier<<" !"<<endl; + exit(1); + } + + res+=" vamp:computes_feature_type <FIXME feature type URI> ;\n"; + res+=" vamp:computes_event_type <FIXME event type URI> ;\n"; + res+=" .\n"; + + return res; +} +string describe(Plugin* plugin, string pluginBundleBaseURI, string describerURI) +{ + string res = describe_namespaces(plugin, pluginBundleBaseURI); + + res += describe_doc(plugin, describerURI); + + res += describe_plugin(plugin); + + Plugin::ParameterList params = plugin->getParameterDescriptors(); + for (Plugin::ParameterList::const_iterator i = params.begin(); i != params.end(); i++) + res += describe_param(*i); + + Plugin::OutputList outputs = plugin->getOutputDescriptors(); + for (Plugin::OutputList::const_iterator i = outputs.begin(); i!= outputs.end(); i++) + res += describe_output(*i); + + return res; +} + +int main(int argc, char **argv) +{ + if (argc != 2 && argc != 4) usage(); + + std::string pluginName = argv[argc-1]; + + if (pluginName.substr(0, 5) == "vamp:") { + pluginName = pluginName.substr(5); + } + + Vamp::Plugin *plugin = PluginLoader::getInstance()->loadPlugin + (pluginName, size_t(44100), PluginLoader::ADAPT_ALL_SAFE); + + if (!plugin) { + cerr << "ERROR: Plugin \"" << pluginName << "\" could not be loaded" << endl; + exit(1); + } + + string pluginBundleBaseURI, describerURI; + + if (argc == 4) + { + pluginBundleBaseURI = argv[1]; + describerURI = argv[2]; + } + else + { + cerr << "Please enter the base URI for the plugin bundle : "; + getline(cin, pluginBundleBaseURI); + cerr << "Please enter your URI : "; + getline(cin, describerURI); + } + + cout << describe(plugin, pluginBundleBaseURI, describerURI) << endl; + + return 0; +} + +
--- a/rdf/vamp.n3 Mon Jun 16 12:22:16 2008 +0000 +++ b/rdf/vamp.n3 Thu Jun 19 09:37:31 2008 +0000 @@ -68,15 +68,6 @@ vs:term_status "stable"; . -vamp:PluginDescription - a owl:Class; - rdfs:label "Vamp Plugin Descriptor"; - rdfs:comment """ - The plugin descriptor provides basic metadata of the plugin. We may remove this and link directly to the plugin instance. - """; - vs:term_status "unstable"; - . - vamp:ParameterDescriptor a owl:Class; rdfs:label "Vamp Plugin Parameter Descriptor"; @@ -167,18 +158,6 @@ ##### Plugin properties -vamp:plugin_description - a rdf:Property; - a owl:ObjectProperty; - rdfs:label "plugin description"; - rdfs:comment """ - Links the plugin descriptor to the plugin (it may be redundant for an RDF decription to have a plugin descriptor in between an actual plugin and its properties). - """; - rdfs:range vamp:PluginDescription; - rdfs:domain vamp:Plugin; - vs:term_status "stable"; - . - vamp:parameter_descriptor a rdf:Property; a owl:ObjectProperty; @@ -226,7 +205,7 @@ rdfs:comment """ Machine-readable identifier for Vamp plugin classes (and Transform). """; - rdfs:domain vamp:PluginDescription; + rdfs:domain vamp:Plugin; rdfs:domain vamp:PluginProgram; rdfs:domain vamp:PluginOutput; rdfs:domain vamp:ParameterDescriptor; @@ -240,7 +219,7 @@ rdfs:comment """ Human-readable identifier for the plugin. """; - rdfs:domain vamp:PluginDescription; + rdfs:domain vamp:Plugin; vs:term_status "stable"; . @@ -251,7 +230,7 @@ rdfs:comment """ Version of the Vamp API used to implement this plugin. """; - rdfs:domain vamp:PluginDescription; + rdfs:domain vamp:Plugin; vs:term_status "stable"; . @@ -324,6 +303,17 @@ vs:term_status "unstable"; . +vamp:is_quantized + a rdf:Property; + a owl:DatatypeProperty; + rdfs:label "is quantised"; + rdfs:comment """ + Quantised. A boolean type. + """; + rdfs:domain vamp:PluginOutput; + vs:term_status "unstable"; + . + vamp:unit a rdf:Property; a owl:DatatypeProperty; @@ -348,13 +338,13 @@ vs:term_status "unstable"; . -vamp:quantized_step +vamp:quantize_step a rdf:Property; a owl:FunctionalProperty; a owl:DatatypeProperty; rdfs:label "quantized step"; rdfs:comment """ - Quantized step (if any). We do not include isQuantized. + Quantize step. Only defined if is_quantised is true """; rdfs:domain vamp:PluginOutput; rdfs:domain vamp:ParameterDescriptor; @@ -407,16 +397,28 @@ rdfs:range af:AudioFeature; vs:term_status "unstable"; . + +vamp:computes_event_type + a rdf:Property; + a owl:ObjectProperty; + rdfs:label "event type"; + rdfs:comment """ + Event Type output by the plugin. + """; + rdfs:domain vamp:PluginOutput; + rdfs:range event:Event; + vs:term_status "unstable"; + . ######################## # INDIVIDUALS ######################## -vamp:time_domain +vamp:TimeDomain a vamp:InputDomain; . -vamp:frequency_domain +vamp:FrequencyDomain a vamp:InputDomain; .
--- a/rdf/vamp.rdf Mon Jun 16 12:22:16 2008 +0000 +++ b/rdf/vamp.rdf Thu Jun 19 09:37:31 2008 +0000 @@ -35,13 +35,6 @@ </rdfs:comment> <vs:term_status>stable</vs:term_status> </owl:Class> - <owl:Class rdf:about="http://purl.org/ontology/vamp/PluginDescription"> - <rdfs:label>Vamp Plugin Descriptor</rdfs:label> - <rdfs:comment> - The plugin descriptor provides basic metadata of the plugin. We may remove this and link directly to the plugin instance. - </rdfs:comment> - <vs:term_status>unstable</vs:term_status> - </owl:Class> <owl:Class rdf:about="http://purl.org/ontology/vamp/ParameterDescriptor"> <rdfs:label>Vamp Plugin Parameter Descriptor</rdfs:label> <rdfs:comment> @@ -106,16 +99,6 @@ </rdfs:comment> <vs:term_status>stable</vs:term_status> </owl:Class> - <rdf:Property rdf:about="http://purl.org/ontology/vamp/plugin_description"> - <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> - <rdfs:label>plugin description</rdfs:label> - <rdfs:comment> - Links the plugin descriptor to the plugin (it may be redundant for an RDF decription to have a plugin descriptor in between an actual plugin and its properties). - </rdfs:comment> - <rdfs:range rdf:resource="http://purl.org/ontology/vamp/PluginDescription"/> - <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/Plugin"/> - <vs:term_status>stable</vs:term_status> - </rdf:Property> <rdf:Property rdf:about="http://purl.org/ontology/vamp/parameter_descriptor"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:label>parameter descriptor</rdfs:label> @@ -161,7 +144,7 @@ <rdfs:comment> Machine-readable identifier for Vamp plugin classes (and Transform). </rdfs:comment> - <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginDescription"/> + <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/Plugin"/> <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginProgram"/> <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginOutput"/> <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/ParameterDescriptor"/> @@ -174,7 +157,7 @@ <rdfs:comment> Human-readable identifier for the plugin. </rdfs:comment> - <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginDescription"/> + <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/Plugin"/> <vs:term_status>stable</vs:term_status> </rdf:Property> <rdf:Property rdf:about="http://purl.org/ontology/vamp/vamp_API_version"> @@ -183,7 +166,7 @@ <rdfs:comment> Version of the Vamp API used to implement this plugin. </rdfs:comment> - <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginDescription"/> + <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/Plugin"/> <vs:term_status>stable</vs:term_status> </rdf:Property> <rdf:Property rdf:about="http://purl.org/ontology/vamp/input_domain"> @@ -237,6 +220,15 @@ <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginOutput"/> <vs:term_status>unstable</vs:term_status> </rdf:Property> + <rdf:Property rdf:about="http://purl.org/ontology/vamp/is_quantized"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + <rdfs:label>is quantised</rdfs:label> + <rdfs:comment> + Quantised. A boolean type. + </rdfs:comment> + <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginOutput"/> + <vs:term_status>unstable</vs:term_status> + </rdf:Property> <rdf:Property rdf:about="http://purl.org/ontology/vamp/unit"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> @@ -266,12 +258,12 @@ </rdfs:comment> <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/Transform"/> </rdf:Property> - <rdf:Property rdf:about="http://purl.org/ontology/vamp/quantized_step"> + <rdf:Property rdf:about="http://purl.org/ontology/vamp/quantize_step"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:label>quantized step</rdfs:label> <rdfs:comment> - Quantized step (if any). We do not include isQuantized. + Quantize step. Only defined if is_quantised is true </rdfs:comment> <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginOutput"/> <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/ParameterDescriptor"/> @@ -316,8 +308,18 @@ <rdfs:range rdf:resource="http://purl.org/ontology/af/AudioFeature"/> <vs:term_status>unstable</vs:term_status> </rdf:Property> - <vamp:InputDomain rdf:about="http://purl.org/ontology/vamp/time_domain"/> - <vamp:InputDomain rdf:about="http://purl.org/ontology/vamp/frequency_domain"/> + <rdf:Property rdf:about="http://purl.org/ontology/vamp/computes_event_type"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdfs:label>event type</rdfs:label> + <rdfs:comment> + Event Type output by the plugin. + </rdfs:comment> + <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/PluginOutput"/> + <rdfs:range rdf:resource="http://purl.org/NET/c4dm/event.owl#Event"/> + <vs:term_status>unstable</vs:term_status> + </rdf:Property> + <vamp:InputDomain rdf:about="http://purl.org/ontology/vamp/TimeDomain"/> + <vamp:InputDomain rdf:about="http://purl.org/ontology/vamp/FrequencyDomain"/> <vamp:SampleType rdf:about="http://purl.org/ontology/vamp/OneSamplePerStep"/> <vamp:SampleType rdf:about="http://purl.org/ontology/vamp/FixedSampleRate"/> <vamp:SampleType rdf:about="http://purl.org/ontology/vamp/VariableSampleRate"/> @@ -475,4 +477,3 @@ <rdfs:domain rdf:resource="http://purl.org/ontology/vamp/Parameter"/> </rdf:Property> </rdf:RDF> -