# HG changeset patch # User cannam # Date 1213175667 0 # Node ID 1b1ebb0f10ac93802e37cb2b47e1c84c0b6240b3 # Parent 6bffd86a103d55f7f0a943ba0ab16eed9730c1a1 * update RDF from km-rdf repository diff -r 6bffd86a103d -r 1b1ebb0f10ac rdf/doc/glance.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdf/doc/glance.htm Wed Jun 11 09:14:27 2008 +0000 @@ -0,0 +1,2 @@ +

Overview of Terms

+

An alphabetical index of the ontology terms, divided into classes, properties and individuals. All the terms are hyperlinked to their detailed description for quick reference.

\ No newline at end of file diff -r 6bffd86a103d -r 1b1ebb0f10ac rdf/doc/vamp.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdf/doc/vamp.html Wed Jun 11 09:14:27 2008 +0000 @@ -0,0 +1,813 @@ + + + + + + + +Vamp Plugins Ontology + +

Overview of Terms

+

An alphabetical index of the ontology terms, divided into classes, properties and individuals. All the terms are hyperlinked to their detailed description for quick reference.

+

Classes: | Configuration | DenseOutput | Feature | InputDomain | Parameter | ParameterDescriptor | Plugin | PluginDescription | PluginLibrary | PluginOutput | PluginProgram | SampleType | SparseOutput | TrackLevelOutput | Transform | TransformType |

+

Properties: | available_plugin | +bin_count | +bin_names | +block_size | +computes_feature_type | +default_value | +duration | +engine | +fixed_bin_count | +identifier | +input_domain | +max_value | +min_value | +name | +output_descriptor | +parameter | +parameter_descriptor | +plugin_description | +program | +quantized_step | +sample_rate | +sample_type | +start | +step_size | +transform_type | +unit | +value | +vamp_API_version | +window_type | +

+

Individuals: | Effect | +FeatureExtraction | +FixedSampleRate | +OneSamplePerStep | +VariableSampleRate | +frequency_domain | +time_domain | +

Classes

Class: vamp:Configuration - unstable -

+Configuration + - For extension (SV implementation of Transform).
+ +
+

[back to top]

+
+ + + + +
in-range-of:program
+ +

Class: vamp:DenseOutput - unstable -

+DenseOutput + - Specific output type comprising large binary data (e.g.: chromagram).
+ +
+

[back to top]

+
+ + + + +
sub-class-of:PluginOutput
+ +

Class: vamp:Feature - deprecated -

+Feature + - This may be removed mighty soon as we rely on the Audio Features Ontology for this +
+

[back to top]

+
+ + +
+ +

Class: vamp:InputDomain - stable -

+InputDomain + - Plugins warn about the input domain they require so the host can convert properly the input data. Note that this is not necessary if the host is using a PluginAdapter to wrap plugins (see Vamp doc).
+ +
+

[back to top]

+
+ + + + +
in-range-of:input_domain
+ +

Class: vamp:Parameter - unstable -

+Parameter + - Parameter used by the plugin transform to set up the plugin. The parameter class instances should be instantiated according to the specific vamp:PluginDescriptor instance for each plugin.
+ +
+

[back to top]

+
+ + + + + + + +
in-range-of:parameter
in-domain-of:valueparameter_descriptor
+ +

Class: vamp:ParameterDescriptor - stable -

+ParameterDescriptor + - Descriptior of a plugin parameter. Hosts require to know about the specific type and form of the parameters of a particular plugin for a correct transform setup.
+ +
+

[back to top]

+
+ + + + + + + + + + + +
in-range-of:default_valuemin_valuemax_valueparameter_descriptor
in-domain-of:quantized_stepunitidentifier
+ +

Class: vamp:Plugin - stable -

+Plugin + - Vamp plugin is an implementation of a feature extraction algorithm based on the Vamp API.
+ +
+

[back to top]

+
+ + + + + + + + + + +
in-range-of:engineavailable_plugin
in-domain-of:input_domainoutput_descriptorparameter_descriptorplugin_description
+ +

Class: vamp:PluginDescription - unstable -

+PluginDescription + - The plugin descriptor provides basic metadata of the plugin. We may remove this and link directly to the plugin instance.
+ +
+

[back to top]

+
+ + + + + + + + +
in-range-of:plugin_description
in-domain-of:vamp_API_versionnameidentifier
+ +

Class: vamp:PluginLibrary - stable -

+PluginLibrary + - Library of Vamp Plugins. This may need to include rights.
+ +
+

[back to top]

+
+ + + + +
in-domain-of:available_plugin
+ +

Class: vamp:PluginOutput - unstable -

+PluginOutput + - Descriptior of the plugin output. This descriptor provides necessary information to interpret correctly the output features. The output type will determine how to read the temporal information of the extracted feature and how to manage the burden of ouput data.
+ +
+

[back to top]

+
+ + + + + + + + + + + + + + + + +
in-range-of:min_valuemax_valueoutput_descriptor
in-domain-of:computes_feature_typesample_typebin_namesbin_countquantized_stepsample_rateunitfixed_bin_countidentifier
+ +

Class: vamp:PluginProgram - unstable -

+PluginProgram + - Plugin program defines a predefined context of parameters. We may not need a concept for this and just a property linking a string representing the program name.
+ +
+

[back to top]

+
+ + + + + + +
in-range-of:program
in-domain-of:identifier
+ +

Class: vamp:SampleType - stable -

+SampleType + - Sample type specifies the temporal information of the plugin output. This information should be confronted with the output type for a correct interpretation.
+ +
+

[back to top]

+
+ + + + +
in-range-of:sample_type
+ +

Class: vamp:SparseOutput - unstable -

+SparseOutput + - Specific output type used in sparse data outputs (e.g.: key detector).
+ +
+

[back to top]

+
+ + + + +
sub-class-of:PluginOutput
+ +

Class: vamp:TrackLevelOutput - unstable -

+TrackLevelOutput + - Specific output type that returns track level information. This sort of output will require a "hacky" interpretation of the feature timestamp as it will reflect some track metadata instead of temporal data.
+ +
+

[back to top]

+
+ + + + +
sub-class-of:PluginOutput
+ +

Class: vamp:Transform - stable -

+Transform + - The Transform defines the environment of any audio processing computation.
+ +
+

[back to top]

+
+ + + + + + + + + + + + + + +
in-domain-of:durationstartwindow_typetransform_typeblock_sizestep_sizeparameterprogramenginesample_rateidentifier
+ +

Class: vamp:TransformType - unstable -

+TransformType + - Specifies the type of transform. May be feature extraction, effect...
+ +
+

[back to top]

+
+ + +
+ +

Properties

+

Property: vamp:available_plugin - stable -

+available_plugin - Available plugins in the library
+ +
+ + + + + + + + + +
Domain:PluginLibrary
Range:Plugin
+
+

Property: vamp:bin_count - unstable -

+bin_count - Number of elements of the bin output. This information is necessary to define the output as belonging to a specific subclass of Plugin Output.
+ +
+ + + + + + + + +
Domain:PluginOutput
Range:
+
+

Property: vamp:bin_names - unstable -

+bin_names - List of bin names if available
+ +
+ + + + + + + + +
Domain:PluginOutput
Range:
+
+

Property: vamp:block_size - stable -

+block_size - Specifies the block size for the framing.
+ +
+ + + + + + + + +
Domain:Transform
Range:
+
+

Property: vamp:computes_feature_type - unstable -

+computes_feature_type - Feature Types output by the plugin. Links the vamp ontology to the audio features ontology.
+ +
+ + + + + + + + + +
Domain:PluginOutput
Range:af:AudioFeature
+
+

Property: vamp:default_value - unstable -

+default_value - Default value of the parameter
+ +
+ + + + + + + + +
Domain:
Range:ParameterDescriptor
+
+

Property: vamp:duration - unstable -

+duration - Specifies temporal information when processing a data stream.
+ +
+ + + + + + + + +
Domain:Transform
Range:
+
+

Property: vamp:engine - stable -

+engine - Specifies the plugin in execution. This is an extension to use Transform with other plugin libraries
+ +
+ + + + + + + + + +
Domain:Transform
Range:Plugin
+
+

Property: vamp:fixed_bin_count - unstable -

+fixed_bin_count - Fixed bin count. A boolean type.
+ +
+ + + + + + + + +
Domain:PluginOutput
Range:
+
+

Property: vamp:identifier - stable -

+identifier - Machine-readable identifier for Vamp plugin classes (and Transform).
+ +
+ + + + + + + + + + + + +
Domain:TransformParameterDescriptorPluginOutputPluginProgramPluginDescription
Range:
+
+

Property: vamp:input_domain - stable -

+input_domain - Input domain allowed by the plugin (time or frequency).
+ +
+ + + + + + + + + +
Domain:Plugin
Range:InputDomain
+
+

Property: vamp:max_value - unstable -

+max_value - Maximum value of the parameter range
+ +
+ + + + + + + + + +
Domain:
Range:PluginOutputParameterDescriptor
+
+

Property: vamp:min_value - unstable -

+min_value - Minimum value of the parameter range
+ +
+ + + + + + + + + +
Domain:
Range:PluginOutputParameterDescriptor
+
+

Property: vamp:name - stable -

+name - Human-readable identifier for the plugin.
+ +
+ + + + + + + + +
Domain:PluginDescription
Range:
+
+

Property: vamp:output_descriptor - stable -

+output_descriptor - Links each output type to the plugin.
+ +
+ + + + + + + + + +
Domain:Plugin
Range:PluginOutput
+
+

Property: vamp:parameter - stable -

+parameter - Specifies the parameter to set the plugin in execution.
+ +
+ + + + + + + + + +
Domain:Transform
Range:Parameter
+
+

Property: vamp:parameter_descriptor - stable -

+parameter_descriptor - Links each parameter descriptor to the plugin.
+ +
+ + + + + + + + + + +
Domain:ParameterPlugin
Range:ParameterDescriptor
+
+

Property: vamp:parameter_descriptor - stable -

+parameter_descriptor - Specifies exactly the type of descriptor to set in the transform by linking it.
+ +
+ + + + + + + + + + +
Domain:ParameterPlugin
Range:ParameterDescriptor
+
+

Property: vamp:plugin_description - stable -

+plugin_description - 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).
+ +
+ + + + + + + + + +
Domain:Plugin
Range:PluginDescription
+
+

Property: vamp:program - stable -

+program - Extension for configuration.
+ +
+ + + + + + + + + + +
Domain:Transform
Range:ConfigurationPluginProgram
+
+

Property: vamp:program - stable -

+program - Specifies the program to set the plugin in execution. Here the plugin program matches with the one in the plugin descriptor. There is not descriptor required for the program (just a string), is it?
+ +
+ + + + + + + + + + +
Domain:Transform
Range:ConfigurationPluginProgram
+
+

Property: vamp:quantized_step - unstable -

+quantized_step - Quantized step (if any). We do not include isQuantized.
+ +
+ + + + + + + + + +
Domain:ParameterDescriptorPluginOutput
Range:
+
+

Property: vamp:sample_rate - stable -

+sample_rate - Specifies the sample rate if it is not constant.
+ +
+ + + + + + + + + +
Domain:TransformPluginOutput
Range:
+
+

Property: vamp:sample_rate - stable -

+sample_rate - Sample rate of the output if any. Should be read depending on SampleType and Output classes.
+ +
+ + + + + + + + + +
Domain:TransformPluginOutput
Range:
+
+

Property: vamp:sample_rate - unstable -

+sample_rate - Specifies the sample rate if it is not constant.
+ +
+ + + + + + + + + +
Domain:TransformPluginOutput
Range:
+
+

Property: vamp:sample_rate - unstable -

+sample_rate - Sample rate of the output if any. Should be read depending on SampleType and Output classes.
+ +
+ + + + + + + + + +
Domain:TransformPluginOutput
Range:
+
+

Property: vamp:sample_type - unstable -

+sample_type - The sample type specifies the temporal information of the output.
+ +
+ + + + + + + + + +
Domain:PluginOutput
Range:SampleType
+
+

Property: vamp:start - unstable -

+start - Specifies temporal information when processing a data stream.
+ +
+ + + + + + + + +
Domain:Transform
Range:
+
+

Property: vamp:step_size - stable -

+step_size - Specifies the step size for the framing.
+ +
+ + + + + + + + +
Domain:Transform
Range:
+
+

Property: vamp:transform_type - unstable -

+transform_type - Specifies the transform type (we could do this by subclassin transform instead of using a property).
+ +
+ + + + + + + + +
Domain:Transform
Range:
+
+

Property: vamp:unit - unstable -

+unit - Unit of the output/parameter. A string type
+ +
+ + + + + + + + + +
Domain:ParameterDescriptorPluginOutput
Range:
+
+

Property: vamp:value - stable -

+value - Specifies the current value of the parameter.
+ +
+ + + + + + + + +
Domain:Parameter
Range:
+
+

Property: vamp:vamp_API_version - stable -

+vamp_API_version - Version of the Vamp API used to implement this plugin.
+ +
+ + + + + + + + +
Domain:PluginDescription
Range:
+
+

Property: vamp:window_type - unstable -

+window_type - Specifies the window type (they should be individuals and clearly not here).
+ +
+ + + + + + + + +
Domain:Transform
Range:
+

Individuals

+

Individual: Effect -

+Effect - Effect transform. This may be just a subclass of Transform... + +
+ +
Class:vamp:TransformType
+

Individual: FeatureExtraction -

+Feature Extraction - Feature extraction transform. This may be just a subclass of Transform... + +
+ +
Class:vamp:TransformType
\ No newline at end of file diff -r 6bffd86a103d -r 1b1ebb0f10ac rdf/doc/vamp.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdf/doc/vamp.pl Wed Jun 11 09:14:27 2008 +0000 @@ -0,0 +1,37 @@ +:- use_module('../../../motools/mo/ontospec/onto_spec'). +:- use_module(library('semweb/rdf_db')). +:- use_module(library('semweb/rdf_turtle')). + +:- rdf_load('../vamp.rdf'). + +:- rdf_db:rdf_register_ns(vamp,'http://purl.org/ontology/vamp/'). + +author_name(''). +author_foaf(''). +page_title('Vamp Plugins Ontology'). + +output('vamp.html'). + +:- output(Output), + open(Output,write,Otp), + header(Header), + write(Otp,Header), + open('../doc/glance.htm',read,GlanceIntro), + copy_stream_data(GlanceIntro, Otp), + glance_html_desc(Glance), + write(Otp,Glance), + write(Otp,'

Classes

'), + classes_html_desc(Classes), + write(Otp,Classes), + write(Otp,'

Properties

'), + props_html_desc(Props), + write(Otp,Props), + write(Otp,'

Individuals

'), + inds_html_desc(Inds), + write(Otp,Inds), + deprecs_html_desc(Deprecs), + write(Otp,Deprecs), + close(Otp), + rdf_db:rdf_retractall(_,_,_). + +:- halt. diff -r 6bffd86a103d -r 1b1ebb0f10ac rdf/vamp.n3 --- a/rdf/vamp.n3 Thu May 29 14:17:02 2008 +0000 +++ b/rdf/vamp.n3 Wed Jun 11 09:14:27 2008 +0000 @@ -18,7 +18,15 @@ dc:title "Vamp Plugins Ontology"; rdfs:label "Vamp Plugins Ontology"; rdfs:comment """ - added comments from Cannam + Vamp Ontology. This ontology includes the following descriptions + + -OWL description of the Vamp API + -OWL description of the Transform environment necessary to set up the execution of any plugin + + This Ontology provides semantics to describe and control Vamp plugins in RDF. Any "RDF-speaker" host is therefore able to + use this ontology to read, set up and execute plugins. + The extracted features are expressed in terms of the Audio Features Ontology (link). + For more information, please visit the Vamp Plugins site: http://www.vamp-plugins.org/ """; foaf:maker "Chris Cannam"; foaf:maker "Chris Sutton"; @@ -32,11 +40,15 @@ #Authors foaf ############################################# -# Part 1: Classes to describe the plugin +# Part 1: Describin a Vamp plugin ############################################# +######################################### +# CLASSES +######################################### + #Note: we don't include Feature concept because we rely on the Audio Feature ontology -#Note: we additionaly define a PluginTransform concept to link the running context +#Note: we additionaly define a Transform concept to link the running context vamp:Plugin a owl:Class; @@ -51,7 +63,7 @@ a owl:Class; rdfs:label "Vamp Plugin Library"; rdfs:comment """ - Library of Vamp Plugins + Library of Vamp Plugins. This may need to include rights. """; vs:term_status "stable"; . @@ -60,7 +72,7 @@ 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 + The plugin descriptor provides basic metadata of the plugin. We may remove this and link directly to the plugin instance. """; vs:term_status "unstable"; . @@ -69,7 +81,7 @@ a owl:Class; rdfs:label "Vamp Plugin Parameter Descriptor"; rdfs:comment """ - Descriptior of a plugin parameter + Descriptior of a plugin parameter. Hosts require to know about the specific type and form of the parameters of a particular plugin for a correct transform setup. """; vs:term_status "stable"; . @@ -78,8 +90,7 @@ a owl:Class; rdfs:label "Vamp Plugin output descriptor"; rdfs:comment """ - Descriptior of the plugin output. This descriptor provides necessary information to interpret correctly the output features. - Each plugin will be bound to one of the subclasses. + Descriptior of the plugin output. This descriptor provides necessary information to interpret correctly the output features. The output type will determine how to read the temporal information of the extracted feature and how to manage the burden of ouput data. """; vs:term_status "unstable"; . @@ -87,26 +98,29 @@ vamp:DenseOutput a owl:Class; rdfs:subClassOf vamp:PluginOutput; + rdfs:label "Dense output"; rdfs:comment """ - Large binary data as output. + Specific output type comprising large binary data (e.g.: chromagram). """; vs:term_status "unstable"; . vamp:SparseOutput a owl:Class; + rdfs:label "Sparse output"; rdfs:subClassOf vamp:PluginOutput; rdfs:comment """ - The output defines events with no large data associated. + Specific output type used in sparse data outputs (e.g.: key detector). """; vs:term_status "unstable"; . vamp:TrackLevelOutput a owl:Class; + rdfs:label "track level output"; rdfs:subClassOf vamp:PluginOutput; rdfs:comment """ - We obtain track metadata? + Specific output type that returns track level information. This sort of output will require a "hacky" interpretation of the feature timestamp as it will reflect some track metadata instead of temporal data. """; vs:term_status "unstable"; . @@ -115,9 +129,9 @@ a owl:Class; rdfs:label "Plugin program"; rdfs:comment """ - Plugin program defines a predefined context of parameters. + Plugin program defines a predefined context of parameters. We may not need a concept for this and just a property linking a string representing the program name. """; - vs:term_status "stable"; + vs:term_status "unstable"; . vamp:Feature @@ -132,32 +146,33 @@ vamp:InputDomain a owl:Class; rdfs:label "Plugin input domain"; - rdfs:comment "Plugin input domain"; + rdfs:comment """ + Plugins warn about the input domain they require so the host can convert properly the input data. Note that this is not necessary if the host is using a PluginAdapter to wrap plugins (see Vamp doc). + """; vs:term_status "stable"; . vamp:SampleType a owl:Class; rdfs:label "sample type"; - rdfs:comment "sample type for the plugin output"; + rdfs:comment """ + Sample type specifies the temporal information of the plugin output. This information should be confronted with the output type for a correct interpretation. + """; vs:term_status "stable"; . - - - ################################################################## -# PROPERTIES. Some of them can be declared as builtins. +# PROPERTIES. ################################################################## ##### Plugin properties -vamp:plugin_descriptor +vamp:plugin_description a rdf:Property; a owl:ObjectProperty; - rdfs:label "plugin descriptor"; + 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). + 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; @@ -181,14 +196,14 @@ a owl:ObjectProperty; rdfs:label "output descriptor"; rdfs:comment """ - Links each output descriptor to the plugin. + Links each output type to the plugin. """; rdfs:range vamp:PluginOutput; rdfs:domain vamp:Plugin; vs:term_status "stable"; . -##### Plugin Library properties +##### Plugin Library properties (could include affiliation, rights...) vamp:available_plugin a rdf:Property; @@ -202,28 +217,14 @@ vs:term_status "stable"; . -##### Plugin Transform - -vamp:parameter - a rdf:Property; - a owl:ObjectProperty; - rdfs:label "parameter"; - rdfs:comment """ - Actual parameter used in the plugin transform to run the plugin - """; - rdfs:range vamp:Plugin; - rdfs:domain vamp:PluginTransform; - vs:term_status "stable"; - . - -##### Plugin Descriptor properties +#### Plugin Descriptor properties vamp:identifier a rdf:Property; a owl:DatatypeProperty; rdfs:label "plugin identifier"; rdfs:comment """ - Machine-readable identifier for Vamp plugin classes. + Machine-readable identifier for Vamp plugin classes (and Transform). """; rdfs:domain vamp:PluginDescription; rdfs:domain vamp:PluginProgram; @@ -248,7 +249,7 @@ a owl:DatatypeProperty; rdfs:label "vamp API version"; rdfs:comment """ - Version of the Vamp API used for the plugin. + Version of the Vamp API used to implement this plugin. """; rdfs:domain vamp:PluginDescription; vs:term_status "stable"; @@ -259,7 +260,7 @@ a owl:DatatypeProperty; rdfs:label "input domain"; rdfs:comment """ - Input domain for the plugin (time or frequency). + Input domain allowed by the plugin (time or frequency). """; rdfs:domain vamp:Plugin; rdfs:range vamp:InputDomain; @@ -277,7 +278,9 @@ a owl:DatatypeProperty; a owl:FunctionalProperty; rdfs:label "max value"; - rdfs:comment "Maximum value of the parameter"; + rdfs:comment """ + Maximum value of the parameter range + """; rdfs:range vamp:ParameterDescriptor; rdfs:range vamp:PluginOutput; vs:term_status "unstable"; @@ -288,7 +291,9 @@ a owl:DatatypeProperty; a owl:FunctionalProperty; rdfs:label "min value"; - rdfs:comment "Minimum value of the parameter"; + rdfs:comment """ + Minimum value of the parameter range + """; rdfs:range vamp:ParameterDescriptor; rdfs:range vamp:PluginOutput; vs:term_status "unstable"; @@ -299,7 +304,9 @@ a owl:DatatypeProperty; a owl:FunctionalProperty; rdfs:label "default value"; - rdfs:comment "Default value of the parameter"; + rdfs:comment """ + Default value of the parameter + """; rdfs:range vamp:ParameterDescriptor; vs:term_status "unstable"; . @@ -310,7 +317,9 @@ a rdf:Property; a owl:DatatypeProperty; rdfs:label "fixed bin count"; - rdfs:comment "fixed bin count"; + rdfs:comment """ + Fixed bin count. A boolean type. + """; rdfs:domain vamp:PluginOutput; vs:term_status "unstable"; . @@ -320,7 +329,9 @@ a owl:DatatypeProperty; a owl:FunctionalProperty; rdfs:label "unit"; - rdfs:comment "unit of the output"; + rdfs:comment """ + Unit of the output/parameter. A string type + """; rdfs:domain vamp:PluginOutput; rdfs:domain vamp:ParameterDescriptor; vs:term_status "unstable"; @@ -330,7 +341,9 @@ a rdf:Property; a owl:DatatypeProperty; rdfs:label "sample rate"; - rdfs:comment "sample rate of the output"; + rdfs:comment """ + Sample rate of the output if any. Should be read depending on SampleType and Output classes. + """; rdfs:domain vamp:PluginOutput; vs:term_status "unstable"; . @@ -340,7 +353,9 @@ a owl:FunctionalProperty; a owl:DatatypeProperty; rdfs:label "quantized step"; - rdfs:comment "quantized step (if any)"; + rdfs:comment """ + Quantized step (if any). We do not include isQuantized. + """; rdfs:domain vamp:PluginOutput; rdfs:domain vamp:ParameterDescriptor; vs:term_status "unstable"; @@ -350,7 +365,9 @@ a rdf:Property; a owl:DatatypeProperty; rdfs:label "bin count"; - rdfs:comment "bin count"; + rdfs:comment """ + Number of elements of the bin output. This information is necessary to define the output as belonging to a specific subclass of Plugin Output. + """; rdfs:domain vamp:PluginOutput; vs:term_status "unstable"; . @@ -359,7 +376,9 @@ a rdf:Property; a owl:DatatypeProperty; rdfs:label "bin names"; - rdfs:comment "bin names"; + rdfs:comment """ + List of bin names if available + """; rdfs:domain vamp:PluginOutput; vs:term_status "unstable"; . @@ -369,7 +388,9 @@ a owl:DatatypeProperty; a owl:FunctionalProperty; rdfs:label "sample type"; - rdfs:comment "sample type"; + rdfs:comment """ + The sample type specifies the temporal information of the output. + """; rdfs:domain vamp:PluginOutput; rdfs:range vamp:SampleType; vs:term_status "unstable"; @@ -380,11 +401,10 @@ a owl:ObjectProperty; rdfs:label "feature type"; rdfs:comment """ - Feature Types output by the plugin + Feature Types output by the plugin. Links the vamp ontology to the audio features ontology. """; rdfs:domain vamp:PluginOutput; - rdfs:range rdfs:Literal; - #This should be substituted by af:Feature i think. Definitely Literal is not right here. + rdfs:range af:AudioFeature; vs:term_status "unstable"; . @@ -416,18 +436,18 @@ ############################################# -# Part 2: Classes to describe de execution (to move somewhere else) +# Part 2: Classes to describe de execution. TRANSFORM ############################################# #Note: we need to define this part of the ontology to give a minimun common standard for hosts. -#Note: this may split up in some other ontology (cool) +#Note: this may split up in some other ontology or become part of the DSP namespace vamp:Transform a owl:Class; - rdfs:label "Plugin Transform"; + rdfs:label "Transform"; vs:term_status "stable"; rdfs:comment """ - The plugin transform defines the context of the feature extraction process. + The Transform defines the environment of any audio processing computation. """; . @@ -436,7 +456,44 @@ rdfs:label "Parameter"; vs:term_status "unstable"; rdfs:comment """ - Parameter used by the plugin transform to set up the plugin. + Parameter used by the plugin transform to set up the plugin. The parameter class instances should be instantiated according to the specific vamp:PluginDescriptor instance for each plugin. + """; + . + +vamp:Configuration + a owl:Class; + rdfs:label "Configuration"; + vs:term_status "unstable"; + rdfs:comment """ + For extension (SV implementation of Transform). + """; + . + +vamp:TransformType + a owl:Class; + rdfs:label "Transform Type"; + vs:term_status "unstable"; + rdfs:comment """ + Specifies the type of transform. May be feature extraction, effect... + """; + . + +##individuals of transfortype +vamp:FeatureExtraction + a vamp:TransformType; + rdfs:label "Feature Extraction"; + vs:term_status "unstable"; + rdfs:comment """ + Feature extraction transform. This may be just a subclass of Transform... + """; + . + +vamp:Effect + a vamp:TransformType; + rdfs:label "Effect"; + vs:term_status "unstable"; + rdfs:comment """ + Effect transform. This may be just a subclass of Transform... """; . @@ -446,15 +503,20 @@ ##### Plugin Transform properties -vamp:plugin +vamp:identifier + rdfs:domain vamp:Transform; + #the ID is the plugin ID? + . + +vamp:engine a rdf:Property; a owl:ObjectProperty; rdfs:label "plugin"; vs:term_status "stable"; rdfs:comment """ - Specifies the plugin in execution. + Specifies the plugin in execution. This is an extension to use Transform with other plugin libraries """; - rdfs:domain vamp:PluginTransform; + rdfs:domain vamp:Transform; rdfs:range vamp:Plugin; . @@ -465,12 +527,25 @@ rdfs:label "program"; vs:term_status "stable"; rdfs:comment """ - Specifies the program to set the plugin in execution. + Specifies the program to set the plugin in execution. Here the plugin program matches with the one in the plugin descriptor. There is not descriptor required for the program (just a string), is it? """; rdfs:domain vamp:Transform; rdfs:range vamp:PluginProgram; . +vamp:program + a rdf:Property; + a owl:ObjectProperty; + a owl:FunctionalProperty; + rdfs:label "program"; + vs:term_status "stable"; + rdfs:comment """ + Extension for configuration. + """; + rdfs:domain vamp:Transform; + rdfs:range vamp:Configuration; + . + vamp:parameter a rdf:Property; a owl:ObjectProperty; @@ -479,7 +554,7 @@ rdfs:comment """ Specifies the parameter to set the plugin in execution. """; - rdfs:domain vamp:PluginTransform; + rdfs:domain vamp:Transform; rdfs:range vamp:Parameter; . @@ -492,7 +567,7 @@ rdfs:comment """ Specifies the step size for the framing. """; - rdfs:domain vamp:PluginTransform; + rdfs:domain vamp:Transform; . vamp:block_size @@ -504,7 +579,7 @@ rdfs:comment """ Specifies the block size for the framing. """; - rdfs:domain vamp:PluginTransform; + rdfs:domain vamp:Transform; . vamp:sample_rate @@ -516,19 +591,19 @@ rdfs:comment """ Specifies the sample rate if it is not constant. """; - rdfs:domain vamp:PluginTransform; + rdfs:domain vamp:Transform; . vamp:transform_type a rdf:Property; - a owl:DatatypeProperty; + a owl:ObjectProperty; a owl:FunctionalProperty; rdfs:label "transform type"; vs:term_status "unstable"; rdfs:comment """ - Specifies the transform type (they should be individuals). + Specifies the transform type (we could do this by subclassin transform instead of using a property). """; - rdfs:domain vamp:PluginTransform; + rdfs:domain vamp:Transform; . vamp:window_type @@ -540,9 +615,33 @@ rdfs:comment """ Specifies the window type (they should be individuals and clearly not here). """; - rdfs:domain vamp:PluginTransform; + rdfs:domain vamp:Transform; . +vamp:start + a rdf:Property; + a owl:DatatypeProperty; + a owl:FunctionalProperty; + rdfs:label "start"; + vs:term_status "unstable"; + rdfs:comment """ + Specifies temporal information when processing a data stream. + """; + rdfs:domain vamp:Transform; + . + +vamp:duration + a rdf:Property; + a owl:DatatypeProperty; + a owl:FunctionalProperty; + rdfs:label "start"; + vs:term_status "unstable"; + rdfs:comment """ + Specifies temporal information when processing a data stream. + """; + rdfs:domain vamp:Transform; + . + ##### Parameter properties vamp:value diff -r 6bffd86a103d -r 1b1ebb0f10ac rdf/vamp.rdf --- a/rdf/vamp.rdf Thu May 29 14:17:02 2008 +0000 +++ b/rdf/vamp.rdf Wed Jun 11 09:14:27 2008 +0000 @@ -4,7 +4,15 @@ Vamp Plugins Ontology Vamp Plugins Ontology - added comments from Cannam + Vamp Ontology. This ontology includes the following descriptions + + -OWL description of the Vamp API + -OWL description of the Transform environment necessary to set up the execution of any plugin + + This Ontology provides semantics to describe and control Vamp plugins in RDF. Any "RDF-speaker" host is therefore able to + use this ontology to read, set up and execute plugins. + The extracted features are expressed in terms of the Audio Features Ontology (link). + For more information, please visit the Vamp Plugins site: http://www.vamp-plugins.org/ Chris Cannam Chris Sutton @@ -23,59 +31,61 @@ Vamp Plugin Library - Library of Vamp Plugins + Library of Vamp Plugins. This may need to include rights. stable Vamp Plugin Descriptor - The plugin descriptor provides basic metadata of the plugin. We may remove this and link directly to the plugin instance + The plugin descriptor provides basic metadata of the plugin. We may remove this and link directly to the plugin instance. unstable Vamp Plugin Parameter Descriptor - Descriptior of a plugin parameter + Descriptior of a plugin parameter. Hosts require to know about the specific type and form of the parameters of a particular plugin for a correct transform setup. stable Vamp Plugin output descriptor - Descriptior of the plugin output. This descriptor provides necessary information to interpret correctly the output features. - Each plugin will be bound to one of the subclasses. + Descriptior of the plugin output. This descriptor provides necessary information to interpret correctly the output features. The output type will determine how to read the temporal information of the extracted feature and how to manage the burden of ouput data. unstable + Dense output - Large binary data as output. + Specific output type comprising large binary data (e.g.: chromagram). unstable + Sparse output - The output defines events with no large data associated. + Specific output type used in sparse data outputs (e.g.: key detector). unstable + track level output - We obtain track metadata? + Specific output type that returns track level information. This sort of output will require a "hacky" interpretation of the feature timestamp as it will reflect some track metadata instead of temporal data. unstable Plugin program - Plugin program defines a predefined context of parameters. + Plugin program defines a predefined context of parameters. We may not need a concept for this and just a property linking a string representing the program name. - stable + unstable Vamp Feature @@ -84,19 +94,23 @@ Plugin input domain - Plugin input domain + + Plugins warn about the input domain they require so the host can convert properly the input data. Note that this is not necessary if the host is using a PluginAdapter to wrap plugins (see Vamp doc). + stable sample type - sample type for the plugin output + + Sample type specifies the temporal information of the plugin output. This information should be confronted with the output type for a correct interpretation. + stable - + - plugin descriptor + plugin description - Links the plugin descriptor to the plugin (it may be redundant for an RDF decription to have a plugin descriptor). + 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). @@ -125,7 +139,7 @@ output descriptor - Links each output descriptor to the plugin. + Links each output type to the plugin. @@ -141,36 +155,18 @@ stable - - - parameter - - Actual parameter used in the plugin transform to run the plugin - - - - stable - - - parameter - stable - - Specifies the parameter to set the plugin in execution. - - - - plugin identifier - Machine-readable identifier for Vamp plugin classes. + Machine-readable identifier for Vamp plugin classes (and Transform). stable + @@ -185,7 +181,7 @@ vamp API version - Version of the Vamp API used for the plugin. + Version of the Vamp API used to implement this plugin. stable @@ -194,7 +190,7 @@ input domain - Input domain for the plugin (time or frequency). + Input domain allowed by the plugin (time or frequency). @@ -204,7 +200,9 @@ max value - Maximum value of the parameter + + Maximum value of the parameter range + unstable @@ -213,7 +211,9 @@ min value - Minimum value of the parameter + + Minimum value of the parameter range + unstable @@ -222,14 +222,18 @@ default value - Default value of the parameter + + Default value of the parameter + unstable fixed bin count - fixed bin count + + Fixed bin count. A boolean type. + unstable @@ -237,7 +241,9 @@ unit - unit of the output + + Unit of the output/parameter. A string type + unstable @@ -245,7 +251,9 @@ sample rate - sample rate of the output + + Sample rate of the output if any. Should be read depending on SampleType and Output classes. + unstable @@ -256,13 +264,15 @@ Specifies the sample rate if it is not constant. - + quantized step - quantized step (if any) + + Quantized step (if any). We do not include isQuantized. + unstable @@ -270,14 +280,18 @@ bin count - bin count + + Number of elements of the bin output. This information is necessary to define the output as belonging to a specific subclass of Plugin Output. + unstable bin names - bin names + + List of bin names if available + unstable @@ -285,7 +299,9 @@ sample type - sample type + + The sample type specifies the temporal information of the output. + unstable @@ -294,10 +310,10 @@ feature type - Feature Types output by the plugin + Feature Types output by the plugin. Links the vamp ontology to the audio features ontology. - + unstable @@ -306,27 +322,55 @@ - Plugin Transform + Transform stable - The plugin transform defines the context of the feature extraction process. + The Transform defines the environment of any audio processing computation. Parameter unstable - Parameter used by the plugin transform to set up the plugin. + Parameter used by the plugin transform to set up the plugin. The parameter class instances should be instantiated according to the specific vamp:PluginDescriptor instance for each plugin. - + + Configuration + unstable + + For extension (SV implementation of Transform). + + + + Transform Type + unstable + + Specifies the type of transform. May be feature extraction, effect... + + + + Feature Extraction + unstable + + Feature extraction transform. This may be just a subclass of Transform... + + + + Effect + unstable + + Effect transform. This may be just a subclass of Transform... + + + plugin stable - Specifies the plugin in execution. + Specifies the plugin in execution. This is an extension to use Transform with other plugin libraries - + @@ -335,10 +379,30 @@ program stable - Specifies the program to set the plugin in execution. + Specifies the program to set the plugin in execution. Here the plugin program matches with the one in the plugin descriptor. There is not descriptor required for the program (just a string), is it? + + + + program + stable + + Extension for configuration. + + + + + + + parameter + stable + + Specifies the parameter to set the plugin in execution. + + + @@ -348,7 +412,7 @@ Specifies the step size for the framing. - + @@ -358,17 +422,17 @@ Specifies the block size for the framing. - + - + transform type unstable - Specifies the transform type (they should be individuals). + Specifies the transform type (we could do this by subclassin transform instead of using a property). - + @@ -378,7 +442,27 @@ Specifies the window type (they should be individuals and clearly not here). - + + + + + + start + unstable + + Specifies temporal information when processing a data stream. + + + + + + + start + unstable + + Specifies temporal information when processing a data stream. + +