cannam@135
|
1 @prefix owl: <http://www.w3.org/2002/07/owl#>.
|
cannam@135
|
2 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
|
cannam@135
|
3 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
|
cannam@135
|
4 @prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
|
cannam@135
|
5 @prefix foaf: <http://xmlns.com/foaf/0.1/>.
|
cannam@135
|
6 @prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
|
cannam@135
|
7 @prefix list: <http://www.w3.org/2000/10/swap/list#>.
|
cannam@135
|
8 @prefix dc: <http://purl.org/dc/elements/1.1/>.
|
cannam@135
|
9 @prefix mo: <http://purl.org/ontology/mo/>.
|
cannam@135
|
10 @prefix event: <http://purl.org/NET/c4dm/event.owl#>.
|
cannam@135
|
11 @prefix af: <http://purl.org/ontology/af/>.
|
cannam@135
|
12 @prefix tl: <http://purl.org/NET/c4dm/timeline.owl#>.
|
cannam@135
|
13 @prefix vamp: <http://purl.org/ontology/vamp/>.
|
cannam@135
|
14 @prefix : <> .
|
cannam@135
|
15
|
cannam@135
|
16 <>
|
cannam@135
|
17 a owl:Ontology;
|
cannam@135
|
18 dc:title "Vamp Plugins Ontology";
|
cannam@135
|
19 rdfs:label "Vamp Plugins Ontology";
|
cannam@135
|
20 rdfs:comment """
|
cannam@141
|
21 Vamp Ontology. This ontology includes the following descriptions:
|
cannam@136
|
22
|
cannam@141
|
23 - OWL description of the Vamp API
|
cannam@141
|
24 - OWL description of the Transform environment necessary to set up the execution of any plugin
|
cannam@136
|
25
|
cannam@136
|
26 This Ontology provides semantics to describe and control Vamp plugins in RDF. Any "RDF-speaker" host is therefore able to
|
cannam@136
|
27 use this ontology to read, set up and execute plugins.
|
cannam@141
|
28 The extracted features are expressed in terms of the Audio Features Ontology: http://purl.org/ontology/af/.
|
cannam@141
|
29 For more information, please visit the Vamp Plugins website: http://www.vamp-plugins.org/
|
cannam@135
|
30 """;
|
cannam@135
|
31 foaf:maker "Chris Cannam";
|
cannam@135
|
32 foaf:maker "Chris Sutton";
|
cannam@135
|
33 foaf:maker "Yves Raimond";
|
cannam@135
|
34 foaf:maker "David Pastor Escuredo";
|
cannam@135
|
35 dc:date "$Date: 2008/05/21 17:05:11 $";
|
cannam@135
|
36 .
|
cannam@135
|
37
|
cannam@135
|
38 vs:term_status a owl:AnnotationProperty.
|
cannam@135
|
39
|
cannam@135
|
40 #Authors foaf
|
cannam@135
|
41
|
cannam@135
|
42 #############################################
|
cannam@141
|
43 # Part 1: Describing a Vamp plugin
|
cannam@135
|
44 #############################################
|
cannam@135
|
45
|
cannam@136
|
46 #########################################
|
cannam@136
|
47 # CLASSES
|
cannam@136
|
48 #########################################
|
cannam@136
|
49
|
cannam@141
|
50 # Note: we don't include a Feature concept because we rely on the Audio Feature ontology
|
cannam@141
|
51 # Note: we additionally define a Transform concept to link the running context
|
cannam@135
|
52
|
cannam@135
|
53 vamp:Plugin
|
cannam@135
|
54 a owl:Class;
|
cannam@135
|
55 rdfs:label "Vamp Plugin";
|
cannam@135
|
56 rdfs:comment """
|
cannam@141
|
57 A Vamp plugin is an implementation of an audio feature extraction algorithm using the Vamp API.
|
cannam@135
|
58 """;
|
cannam@135
|
59 vs:term_status "stable";
|
cannam@135
|
60 .
|
cannam@135
|
61
|
cannam@135
|
62 vamp:PluginLibrary
|
cannam@135
|
63 a owl:Class;
|
cannam@135
|
64 rdfs:label "Vamp Plugin Library";
|
cannam@135
|
65 rdfs:comment """
|
cannam@141
|
66 Library of Vamp Plugins. This may need to include rights.
|
cannam@135
|
67 """;
|
cannam@135
|
68 vs:term_status "stable";
|
cannam@135
|
69 .
|
cannam@135
|
70
|
cannam@135
|
71 vamp:ParameterDescriptor
|
cannam@135
|
72 a owl:Class;
|
cannam@135
|
73 rdfs:label "Vamp Plugin Parameter Descriptor";
|
cannam@135
|
74 rdfs:comment """
|
cannam@141
|
75 Descriptor for a plugin parameter. Hosts need to know about the specific type and form of the parameters of a particular plugin for a correct transform setup.
|
cannam@135
|
76 """;
|
cannam@135
|
77 vs:term_status "stable";
|
cannam@135
|
78 .
|
cannam@135
|
79
|
cannam@135
|
80 vamp:PluginOutput
|
cannam@135
|
81 a owl:Class;
|
cannam@135
|
82 rdfs:label "Vamp Plugin output descriptor";
|
cannam@135
|
83 rdfs:comment """
|
cannam@141
|
84 Descriptor for an output of a plugin. This descriptor provides information that is necessary to correctly interpret the output features. The output type will determine how to read the temporal information of the extracted features and how to manage the burden of ouput data.
|
cannam@135
|
85 """;
|
cannam@135
|
86 vs:term_status "unstable";
|
cannam@135
|
87 .
|
cannam@135
|
88
|
cannam@135
|
89 vamp:DenseOutput
|
cannam@135
|
90 a owl:Class;
|
cannam@135
|
91 rdfs:subClassOf vamp:PluginOutput;
|
cannam@136
|
92 rdfs:label "Dense output";
|
cannam@135
|
93 rdfs:comment """
|
cannam@141
|
94 Specific output type for data evenly spaced in time, which may be of high volume and which it is usually desirable to represent in a compact form.
|
cannam@135
|
95 """;
|
cannam@135
|
96 vs:term_status "unstable";
|
cannam@135
|
97 .
|
cannam@135
|
98
|
cannam@135
|
99 vamp:SparseOutput
|
cannam@135
|
100 a owl:Class;
|
cannam@136
|
101 rdfs:label "Sparse output";
|
cannam@135
|
102 rdfs:subClassOf vamp:PluginOutput;
|
cannam@135
|
103 rdfs:comment """
|
cannam@141
|
104 Specific output type for data that consist of features that require their own individual temporal information.
|
cannam@135
|
105 """;
|
cannam@135
|
106 vs:term_status "unstable";
|
cannam@135
|
107 .
|
cannam@135
|
108
|
cannam@135
|
109 vamp:TrackLevelOutput
|
cannam@135
|
110 a owl:Class;
|
cannam@136
|
111 rdfs:label "track level output";
|
cannam@135
|
112 rdfs:subClassOf vamp:PluginOutput;
|
cannam@135
|
113 rdfs:comment """
|
cannam@141
|
114 Specific output type for track level information. The Vamp API does not provide for this sort of output directly, so this will require a "hacky" interpretation of the feature timestamp to establish that it reflects track metadata instead of temporal data.
|
cannam@135
|
115 """;
|
cannam@135
|
116 vs:term_status "unstable";
|
cannam@135
|
117 .
|
cannam@135
|
118
|
cannam@135
|
119 vamp:PluginProgram
|
cannam@135
|
120 a owl:Class;
|
cannam@135
|
121 rdfs:label "Plugin program";
|
cannam@135
|
122 rdfs:comment """
|
cannam@141
|
123 The program is a predefined context of parameters. We may not need a concept for this and just a property linking a string representing the program name.
|
cannam@135
|
124 """;
|
cannam@136
|
125 vs:term_status "unstable";
|
cannam@135
|
126 .
|
cannam@135
|
127
|
cannam@135
|
128 vamp:Feature
|
cannam@135
|
129 a owl:Class;
|
cannam@135
|
130 rdfs:label "Vamp Feature";
|
cannam@135
|
131 rdfs:comment "This may be removed mighty soon as we rely on the Audio Features Ontology for this";
|
cannam@135
|
132 vs:term_status "deprecated";
|
cannam@135
|
133 .
|
cannam@135
|
134
|
cannam@141
|
135 # Classes for enumerations in the Vamp API
|
cannam@135
|
136
|
cannam@135
|
137 vamp:InputDomain
|
cannam@135
|
138 a owl:Class;
|
cannam@135
|
139 rdfs:label "Plugin input domain";
|
cannam@136
|
140 rdfs:comment """
|
cannam@141
|
141 Plugins declare the input domain they require, so the host can convert the input data properly. Hosts using the Vamp SDK PluginAdapter to wrap plugins should see this work done for them automatically - see the Vamp documentation.
|
cannam@136
|
142 """;
|
cannam@135
|
143 vs:term_status "stable";
|
cannam@135
|
144 .
|
cannam@135
|
145
|
cannam@135
|
146 vamp:SampleType
|
cannam@135
|
147 a owl:Class;
|
cannam@135
|
148 rdfs:label "sample type";
|
cannam@136
|
149 rdfs:comment """
|
cannam@141
|
150 The sample type specifies the temporal information of the plugin output. This information should be combined with the output type for a correct interpretation.
|
cannam@136
|
151 """;
|
cannam@135
|
152 vs:term_status "stable";
|
cannam@135
|
153 .
|
cannam@135
|
154
|
cannam@135
|
155 ##################################################################
|
cannam@136
|
156 # PROPERTIES.
|
cannam@135
|
157 ##################################################################
|
cannam@135
|
158
|
cannam@135
|
159 ##### Plugin properties
|
cannam@135
|
160
|
cannam@135
|
161 vamp:parameter_descriptor
|
cannam@135
|
162 a rdf:Property;
|
cannam@135
|
163 a owl:ObjectProperty;
|
cannam@135
|
164 rdfs:label "parameter descriptor";
|
cannam@135
|
165 rdfs:comment """
|
cannam@141
|
166 Links each parameter descriptor to the plugin.
|
cannam@135
|
167 """;
|
cannam@135
|
168 rdfs:range vamp:ParameterDescriptor;
|
cannam@135
|
169 rdfs:domain vamp:Plugin;
|
cannam@135
|
170 vs:term_status "stable";
|
cannam@135
|
171 .
|
cannam@135
|
172
|
cannam@135
|
173 vamp:output_descriptor
|
cannam@135
|
174 a rdf:Property;
|
cannam@135
|
175 a owl:ObjectProperty;
|
cannam@135
|
176 rdfs:label "output descriptor";
|
cannam@135
|
177 rdfs:comment """
|
cannam@141
|
178 Links each output type to the plugin.
|
cannam@135
|
179 """;
|
cannam@135
|
180 rdfs:range vamp:PluginOutput;
|
cannam@135
|
181 rdfs:domain vamp:Plugin;
|
cannam@135
|
182 vs:term_status "stable";
|
cannam@135
|
183 .
|
cannam@135
|
184
|
cannam@136
|
185 ##### Plugin Library properties (could include affiliation, rights...)
|
cannam@135
|
186
|
cannam@135
|
187 vamp:available_plugin
|
cannam@135
|
188 a rdf:Property;
|
cannam@135
|
189 a owl:ObjectProperty;
|
cannam@135
|
190 rdfs:label "available plugin";
|
cannam@135
|
191 rdfs:comment """
|
cannam@141
|
192 Available plugins in the library
|
cannam@135
|
193 """;
|
cannam@135
|
194 rdfs:range vamp:Plugin;
|
cannam@135
|
195 rdfs:domain vamp:PluginLibrary;
|
cannam@135
|
196 vs:term_status "stable";
|
cannam@135
|
197 .
|
cannam@135
|
198
|
cannam@136
|
199 #### Plugin Descriptor properties
|
cannam@135
|
200
|
cannam@135
|
201 vamp:identifier
|
cannam@135
|
202 a rdf:Property;
|
cannam@135
|
203 a owl:DatatypeProperty;
|
cannam@135
|
204 rdfs:label "plugin identifier";
|
cannam@135
|
205 rdfs:comment """
|
cannam@141
|
206 Machine-readable identifier for a Vamp plugin within the scope of its library, or for a plugin descriptor within the scope of the plugin.
|
cannam@135
|
207 """;
|
cannam@138
|
208 rdfs:domain vamp:Plugin;
|
cannam@143
|
209 rdfs:domain vamp:PluginLibrary;
|
cannam@135
|
210 rdfs:domain vamp:PluginProgram;
|
cannam@135
|
211 rdfs:domain vamp:PluginOutput;
|
cannam@135
|
212 rdfs:domain vamp:ParameterDescriptor;
|
cannam@135
|
213 vs:term_status "stable";
|
cannam@135
|
214 .
|
cannam@135
|
215
|
cannam@135
|
216 vamp:name
|
cannam@135
|
217 a rdf:Property;
|
cannam@135
|
218 a owl:DatatypeProperty;
|
cannam@135
|
219 rdfs:label "plugin name";
|
cannam@135
|
220 rdfs:comment """
|
cannam@135
|
221 Human-readable identifier for the plugin.
|
cannam@135
|
222 """;
|
cannam@138
|
223 rdfs:domain vamp:Plugin;
|
cannam@135
|
224 vs:term_status "stable";
|
cannam@135
|
225 .
|
cannam@135
|
226
|
cannam@135
|
227 vamp:vamp_API_version
|
cannam@135
|
228 a rdf:Property;
|
cannam@135
|
229 a owl:DatatypeProperty;
|
cannam@135
|
230 rdfs:label "vamp API version";
|
cannam@135
|
231 rdfs:comment """
|
cannam@141
|
232 Version of the Vamp API used to implement this plugin.
|
cannam@135
|
233 """;
|
cannam@138
|
234 rdfs:domain vamp:Plugin;
|
cannam@135
|
235 vs:term_status "stable";
|
cannam@135
|
236 .
|
cannam@135
|
237
|
cannam@135
|
238 vamp:input_domain
|
cannam@135
|
239 a rdf:Property;
|
cannam@135
|
240 a owl:DatatypeProperty;
|
cannam@135
|
241 rdfs:label "input domain";
|
cannam@135
|
242 rdfs:comment """
|
cannam@141
|
243 Input domain required by the plugin (time or frequency).
|
cannam@135
|
244 """;
|
cannam@135
|
245 rdfs:domain vamp:Plugin;
|
cannam@135
|
246 rdfs:range vamp:InputDomain;
|
cannam@135
|
247 vs:term_status "stable";
|
cannam@135
|
248 .
|
cannam@135
|
249
|
cannam@141
|
250 # Note that other properties like maker can be linked to the plugin descriptor using other namespaces
|
cannam@135
|
251
|
cannam@135
|
252 ##### Parameter Descriptor properties
|
cannam@135
|
253
|
cannam@141
|
254 # Note: Identifier has been already defined
|
cannam@135
|
255
|
cannam@135
|
256 vamp:max_value
|
cannam@135
|
257 a rdf:Property;
|
cannam@135
|
258 a owl:DatatypeProperty;
|
cannam@135
|
259 a owl:FunctionalProperty;
|
cannam@135
|
260 rdfs:label "max value";
|
cannam@136
|
261 rdfs:comment """
|
cannam@136
|
262 Maximum value of the parameter range
|
cannam@136
|
263 """;
|
cannam@135
|
264 rdfs:range vamp:ParameterDescriptor;
|
cannam@135
|
265 rdfs:range vamp:PluginOutput;
|
cannam@135
|
266 vs:term_status "unstable";
|
cannam@135
|
267 .
|
cannam@135
|
268
|
cannam@135
|
269 vamp:min_value
|
cannam@135
|
270 a rdf:Property;
|
cannam@135
|
271 a owl:DatatypeProperty;
|
cannam@135
|
272 a owl:FunctionalProperty;
|
cannam@135
|
273 rdfs:label "min value";
|
cannam@136
|
274 rdfs:comment """
|
cannam@136
|
275 Minimum value of the parameter range
|
cannam@136
|
276 """;
|
cannam@135
|
277 rdfs:range vamp:ParameterDescriptor;
|
cannam@135
|
278 rdfs:range vamp:PluginOutput;
|
cannam@135
|
279 vs:term_status "unstable";
|
cannam@135
|
280 .
|
cannam@135
|
281
|
cannam@135
|
282 vamp:default_value
|
cannam@135
|
283 a rdf:Property;
|
cannam@135
|
284 a owl:DatatypeProperty;
|
cannam@135
|
285 a owl:FunctionalProperty;
|
cannam@135
|
286 rdfs:label "default value";
|
cannam@136
|
287 rdfs:comment """
|
cannam@136
|
288 Default value of the parameter
|
cannam@136
|
289 """;
|
cannam@135
|
290 rdfs:range vamp:ParameterDescriptor;
|
cannam@135
|
291 vs:term_status "unstable";
|
cannam@135
|
292 .
|
cannam@135
|
293
|
cannam@135
|
294 ########Output Descriptor properties
|
cannam@135
|
295
|
cannam@135
|
296 vamp:fixed_bin_count
|
cannam@135
|
297 a rdf:Property;
|
cannam@135
|
298 a owl:DatatypeProperty;
|
cannam@135
|
299 rdfs:label "fixed bin count";
|
cannam@136
|
300 rdfs:comment """
|
cannam@136
|
301 Fixed bin count. A boolean type.
|
cannam@136
|
302 """;
|
cannam@135
|
303 rdfs:domain vamp:PluginOutput;
|
cannam@135
|
304 vs:term_status "unstable";
|
cannam@135
|
305 .
|
cannam@135
|
306
|
cannam@138
|
307 vamp:is_quantized
|
cannam@138
|
308 a rdf:Property;
|
cannam@138
|
309 a owl:DatatypeProperty;
|
cannam@138
|
310 rdfs:label "is quantised";
|
cannam@138
|
311 rdfs:comment """
|
cannam@138
|
312 Quantised. A boolean type.
|
cannam@138
|
313 """;
|
cannam@138
|
314 rdfs:domain vamp:PluginOutput;
|
cannam@138
|
315 vs:term_status "unstable";
|
cannam@138
|
316 .
|
cannam@138
|
317
|
cannam@135
|
318 vamp:unit
|
cannam@135
|
319 a rdf:Property;
|
cannam@135
|
320 a owl:DatatypeProperty;
|
cannam@135
|
321 a owl:FunctionalProperty;
|
cannam@135
|
322 rdfs:label "unit";
|
cannam@136
|
323 rdfs:comment """
|
cannam@136
|
324 Unit of the output/parameter. A string type
|
cannam@136
|
325 """;
|
cannam@135
|
326 rdfs:domain vamp:PluginOutput;
|
cannam@135
|
327 rdfs:domain vamp:ParameterDescriptor;
|
cannam@135
|
328 vs:term_status "unstable";
|
cannam@135
|
329 .
|
cannam@135
|
330
|
cannam@135
|
331 vamp:sample_rate
|
cannam@135
|
332 a rdf:Property;
|
cannam@135
|
333 a owl:DatatypeProperty;
|
cannam@135
|
334 rdfs:label "sample rate";
|
cannam@136
|
335 rdfs:comment """
|
cannam@136
|
336 Sample rate of the output if any. Should be read depending on SampleType and Output classes.
|
cannam@136
|
337 """;
|
cannam@135
|
338 rdfs:domain vamp:PluginOutput;
|
cannam@135
|
339 vs:term_status "unstable";
|
cannam@135
|
340 .
|
cannam@135
|
341
|
cannam@138
|
342 vamp:quantize_step
|
cannam@135
|
343 a rdf:Property;
|
cannam@135
|
344 a owl:FunctionalProperty;
|
cannam@135
|
345 a owl:DatatypeProperty;
|
cannam@135
|
346 rdfs:label "quantized step";
|
cannam@136
|
347 rdfs:comment """
|
cannam@138
|
348 Quantize step. Only defined if is_quantised is true
|
cannam@136
|
349 """;
|
cannam@135
|
350 rdfs:domain vamp:PluginOutput;
|
cannam@135
|
351 rdfs:domain vamp:ParameterDescriptor;
|
cannam@135
|
352 vs:term_status "unstable";
|
cannam@135
|
353 .
|
cannam@135
|
354
|
cannam@135
|
355 vamp:bin_count
|
cannam@135
|
356 a rdf:Property;
|
cannam@135
|
357 a owl:DatatypeProperty;
|
cannam@135
|
358 rdfs:label "bin count";
|
cannam@136
|
359 rdfs:comment """
|
cannam@136
|
360 Number of elements of the bin output. This information is necessary to define the output as belonging to a specific subclass of Plugin Output.
|
cannam@136
|
361 """;
|
cannam@135
|
362 rdfs:domain vamp:PluginOutput;
|
cannam@135
|
363 vs:term_status "unstable";
|
cannam@135
|
364 .
|
cannam@135
|
365
|
cannam@135
|
366 vamp:bin_names
|
cannam@135
|
367 a rdf:Property;
|
cannam@135
|
368 a owl:DatatypeProperty;
|
cannam@135
|
369 rdfs:label "bin names";
|
cannam@136
|
370 rdfs:comment """
|
cannam@136
|
371 List of bin names if available
|
cannam@136
|
372 """;
|
cannam@135
|
373 rdfs:domain vamp:PluginOutput;
|
cannam@135
|
374 vs:term_status "unstable";
|
cannam@135
|
375 .
|
cannam@135
|
376
|
cannam@135
|
377 vamp:sample_type
|
cannam@135
|
378 a rdf:Property;
|
cannam@135
|
379 a owl:DatatypeProperty;
|
cannam@135
|
380 a owl:FunctionalProperty;
|
cannam@135
|
381 rdfs:label "sample type";
|
cannam@136
|
382 rdfs:comment """
|
cannam@136
|
383 The sample type specifies the temporal information of the output.
|
cannam@136
|
384 """;
|
cannam@135
|
385 rdfs:domain vamp:PluginOutput;
|
cannam@135
|
386 rdfs:range vamp:SampleType;
|
cannam@135
|
387 vs:term_status "unstable";
|
cannam@135
|
388 .
|
cannam@135
|
389
|
cannam@135
|
390 vamp:computes_feature_type
|
cannam@135
|
391 a rdf:Property;
|
cannam@135
|
392 a owl:ObjectProperty;
|
cannam@135
|
393 rdfs:label "feature type";
|
cannam@135
|
394 rdfs:comment """
|
cannam@136
|
395 Feature Types output by the plugin. Links the vamp ontology to the audio features ontology.
|
cannam@135
|
396 """;
|
cannam@135
|
397 rdfs:domain vamp:PluginOutput;
|
cannam@136
|
398 rdfs:range af:AudioFeature;
|
cannam@135
|
399 vs:term_status "unstable";
|
cannam@135
|
400 .
|
cannam@138
|
401
|
cannam@138
|
402 vamp:computes_event_type
|
cannam@138
|
403 a rdf:Property;
|
cannam@138
|
404 a owl:ObjectProperty;
|
cannam@138
|
405 rdfs:label "event type";
|
cannam@138
|
406 rdfs:comment """
|
cannam@138
|
407 Event Type output by the plugin.
|
cannam@138
|
408 """;
|
cannam@138
|
409 rdfs:domain vamp:PluginOutput;
|
cannam@138
|
410 rdfs:range event:Event;
|
cannam@138
|
411 vs:term_status "unstable";
|
cannam@138
|
412 .
|
cannam@135
|
413
|
cannam@135
|
414 ########################
|
cannam@135
|
415 # INDIVIDUALS
|
cannam@135
|
416 ########################
|
cannam@135
|
417
|
cannam@138
|
418 vamp:TimeDomain
|
cannam@135
|
419 a vamp:InputDomain;
|
cannam@135
|
420 .
|
cannam@135
|
421
|
cannam@138
|
422 vamp:FrequencyDomain
|
cannam@135
|
423 a vamp:InputDomain;
|
cannam@135
|
424 .
|
cannam@135
|
425
|
cannam@135
|
426 vamp:OneSamplePerStep
|
cannam@135
|
427 a vamp:SampleType;
|
cannam@135
|
428 .
|
cannam@135
|
429
|
cannam@135
|
430 vamp:FixedSampleRate
|
cannam@135
|
431 a vamp:SampleType;
|
cannam@135
|
432 .
|
cannam@135
|
433
|
cannam@135
|
434 vamp:VariableSampleRate
|
cannam@135
|
435 a vamp:SampleType;
|
cannam@135
|
436 .
|
cannam@135
|
437
|
cannam@135
|
438 ################################################### END OF THE VAMP API DESCRIPTION ############################################################
|
cannam@135
|
439
|
cannam@135
|
440
|
cannam@135
|
441 #############################################
|
cannam@141
|
442 # Part 2: Classes to describe plugin execution. TRANSFORM
|
cannam@135
|
443 #############################################
|
cannam@135
|
444
|
cannam@141
|
445 # Note: we need to define this part of the ontology to give a minimun common standard for hosts.
|
cannam@141
|
446 # Note: this may split up in some other ontology or become part of the DSP namespace
|
cannam@135
|
447
|
cannam@135
|
448 vamp:Transform
|
cannam@135
|
449 a owl:Class;
|
cannam@136
|
450 rdfs:label "Transform";
|
cannam@135
|
451 vs:term_status "stable";
|
cannam@135
|
452 rdfs:comment """
|
cannam@141
|
453 The Transform defines the environment of any audio processing computation.
|
cannam@135
|
454 """;
|
cannam@135
|
455 .
|
cannam@135
|
456
|
cannam@135
|
457 vamp:Parameter
|
cannam@135
|
458 a owl:Class;
|
cannam@135
|
459 rdfs:label "Parameter";
|
cannam@135
|
460 vs:term_status "unstable";
|
cannam@135
|
461 rdfs:comment """
|
cannam@141
|
462 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.
|
cannam@136
|
463 """;
|
cannam@136
|
464 .
|
cannam@136
|
465
|
cannam@136
|
466 vamp:Configuration
|
cannam@136
|
467 a owl:Class;
|
cannam@136
|
468 rdfs:label "Configuration";
|
cannam@136
|
469 vs:term_status "unstable";
|
cannam@136
|
470 rdfs:comment """
|
cannam@141
|
471 For extension (key/value data provided to DSSI plugins, not relevant to Vamp)
|
cannam@136
|
472 """;
|
cannam@136
|
473 .
|
cannam@136
|
474
|
cannam@136
|
475 vamp:TransformType
|
cannam@136
|
476 a owl:Class;
|
cannam@136
|
477 rdfs:label "Transform Type";
|
cannam@136
|
478 vs:term_status "unstable";
|
cannam@136
|
479 rdfs:comment """
|
cannam@136
|
480 Specifies the type of transform. May be feature extraction, effect...
|
cannam@136
|
481 """;
|
cannam@136
|
482 .
|
cannam@136
|
483
|
cannam@141
|
484 ##individuals of transformtype
|
cannam@136
|
485 vamp:FeatureExtraction
|
cannam@136
|
486 a vamp:TransformType;
|
cannam@136
|
487 rdfs:label "Feature Extraction";
|
cannam@136
|
488 vs:term_status "unstable";
|
cannam@136
|
489 rdfs:comment """
|
cannam@136
|
490 Feature extraction transform. This may be just a subclass of Transform...
|
cannam@136
|
491 """;
|
cannam@136
|
492 .
|
cannam@136
|
493
|
cannam@136
|
494 vamp:Effect
|
cannam@136
|
495 a vamp:TransformType;
|
cannam@136
|
496 rdfs:label "Effect";
|
cannam@136
|
497 vs:term_status "unstable";
|
cannam@136
|
498 rdfs:comment """
|
cannam@136
|
499 Effect transform. This may be just a subclass of Transform...
|
cannam@135
|
500 """;
|
cannam@135
|
501 .
|
cannam@135
|
502
|
cannam@135
|
503 ################
|
cannam@135
|
504 # Properties
|
cannam@135
|
505 ################
|
cannam@135
|
506
|
cannam@135
|
507 ##### Plugin Transform properties
|
cannam@135
|
508
|
cannam@136
|
509 vamp:identifier
|
cannam@136
|
510 rdfs:domain vamp:Transform;
|
cannam@136
|
511 #the ID is the plugin ID?
|
cannam@136
|
512 .
|
cannam@136
|
513
|
cannam@136
|
514 vamp:engine
|
cannam@135
|
515 a rdf:Property;
|
cannam@135
|
516 a owl:ObjectProperty;
|
cannam@135
|
517 rdfs:label "plugin";
|
cannam@135
|
518 vs:term_status "stable";
|
cannam@135
|
519 rdfs:comment """
|
cannam@141
|
520 Specifies the sort of plugin in execution. This is an extension to use Transform with other plugin libraries
|
cannam@135
|
521 """;
|
cannam@136
|
522 rdfs:domain vamp:Transform;
|
cannam@135
|
523 rdfs:range vamp:Plugin;
|
cannam@135
|
524 .
|
cannam@135
|
525
|
cannam@135
|
526 vamp:program
|
cannam@135
|
527 a rdf:Property;
|
cannam@135
|
528 a owl:ObjectProperty;
|
cannam@135
|
529 a owl:FunctionalProperty;
|
cannam@135
|
530 rdfs:label "program";
|
cannam@135
|
531 vs:term_status "stable";
|
cannam@135
|
532 rdfs:comment """
|
cannam@141
|
533 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?
|
cannam@135
|
534 """;
|
cannam@135
|
535 rdfs:domain vamp:Transform;
|
cannam@135
|
536 rdfs:range vamp:PluginProgram;
|
cannam@135
|
537 .
|
cannam@135
|
538
|
cannam@136
|
539 vamp:program
|
cannam@136
|
540 a rdf:Property;
|
cannam@136
|
541 a owl:ObjectProperty;
|
cannam@136
|
542 a owl:FunctionalProperty;
|
cannam@136
|
543 rdfs:label "program";
|
cannam@136
|
544 vs:term_status "stable";
|
cannam@136
|
545 rdfs:comment """
|
cannam@141
|
546 Extension for configuration.
|
cannam@136
|
547 """;
|
cannam@136
|
548 rdfs:domain vamp:Transform;
|
cannam@136
|
549 rdfs:range vamp:Configuration;
|
cannam@136
|
550 .
|
cannam@136
|
551
|
cannam@135
|
552 vamp:parameter
|
cannam@135
|
553 a rdf:Property;
|
cannam@135
|
554 a owl:ObjectProperty;
|
cannam@135
|
555 rdfs:label "parameter";
|
cannam@135
|
556 vs:term_status "stable";
|
cannam@135
|
557 rdfs:comment """
|
cannam@135
|
558 Specifies the parameter to set the plugin in execution.
|
cannam@135
|
559 """;
|
cannam@136
|
560 rdfs:domain vamp:Transform;
|
cannam@135
|
561 rdfs:range vamp:Parameter;
|
cannam@135
|
562 .
|
cannam@135
|
563
|
cannam@135
|
564 vamp:step_size
|
cannam@135
|
565 a rdf:Property;
|
cannam@135
|
566 a owl:DatatypeProperty;
|
cannam@135
|
567 a owl:FunctionalProperty;
|
cannam@135
|
568 rdfs:label "step size";
|
cannam@135
|
569 vs:term_status "stable";
|
cannam@135
|
570 rdfs:comment """
|
cannam@135
|
571 Specifies the step size for the framing.
|
cannam@135
|
572 """;
|
cannam@136
|
573 rdfs:domain vamp:Transform;
|
cannam@135
|
574 .
|
cannam@135
|
575
|
cannam@135
|
576 vamp:block_size
|
cannam@135
|
577 a rdf:Property;
|
cannam@135
|
578 a owl:DatatypeProperty;
|
cannam@135
|
579 a owl:FunctionalProperty;
|
cannam@135
|
580 rdfs:label "block size";
|
cannam@135
|
581 vs:term_status "stable";
|
cannam@135
|
582 rdfs:comment """
|
cannam@135
|
583 Specifies the block size for the framing.
|
cannam@135
|
584 """;
|
cannam@136
|
585 rdfs:domain vamp:Transform;
|
cannam@135
|
586 .
|
cannam@135
|
587
|
cannam@135
|
588 vamp:sample_rate
|
cannam@135
|
589 a rdf:Property;
|
cannam@135
|
590 a owl:DatatypeProperty;
|
cannam@135
|
591 a owl:FunctionalProperty;
|
cannam@135
|
592 rdfs:label "sample rate";
|
cannam@135
|
593 vs:term_status "stable";
|
cannam@135
|
594 rdfs:comment """
|
cannam@135
|
595 Specifies the sample rate if it is not constant.
|
cannam@135
|
596 """;
|
cannam@136
|
597 rdfs:domain vamp:Transform;
|
cannam@135
|
598 .
|
cannam@135
|
599
|
cannam@135
|
600 vamp:transform_type
|
cannam@135
|
601 a rdf:Property;
|
cannam@136
|
602 a owl:ObjectProperty;
|
cannam@135
|
603 a owl:FunctionalProperty;
|
cannam@135
|
604 rdfs:label "transform type";
|
cannam@135
|
605 vs:term_status "unstable";
|
cannam@135
|
606 rdfs:comment """
|
cannam@136
|
607 Specifies the transform type (we could do this by subclassin transform instead of using a property).
|
cannam@135
|
608 """;
|
cannam@136
|
609 rdfs:domain vamp:Transform;
|
cannam@135
|
610 .
|
cannam@135
|
611
|
cannam@135
|
612 vamp:window_type
|
cannam@135
|
613 a rdf:Property;
|
cannam@135
|
614 a owl:DatatypeProperty;
|
cannam@135
|
615 a owl:FunctionalProperty;
|
cannam@135
|
616 rdfs:label "window type";
|
cannam@135
|
617 vs:term_status "unstable";
|
cannam@135
|
618 rdfs:comment """
|
cannam@135
|
619 Specifies the window type (they should be individuals and clearly not here).
|
cannam@135
|
620 """;
|
cannam@136
|
621 rdfs:domain vamp:Transform;
|
cannam@135
|
622 .
|
cannam@135
|
623
|
cannam@136
|
624 vamp:start
|
cannam@136
|
625 a rdf:Property;
|
cannam@136
|
626 a owl:DatatypeProperty;
|
cannam@136
|
627 a owl:FunctionalProperty;
|
cannam@136
|
628 rdfs:label "start";
|
cannam@136
|
629 vs:term_status "unstable";
|
cannam@136
|
630 rdfs:comment """
|
cannam@136
|
631 Specifies temporal information when processing a data stream.
|
cannam@136
|
632 """;
|
cannam@136
|
633 rdfs:domain vamp:Transform;
|
cannam@136
|
634 .
|
cannam@136
|
635
|
cannam@136
|
636 vamp:duration
|
cannam@136
|
637 a rdf:Property;
|
cannam@136
|
638 a owl:DatatypeProperty;
|
cannam@136
|
639 a owl:FunctionalProperty;
|
cannam@136
|
640 rdfs:label "start";
|
cannam@136
|
641 vs:term_status "unstable";
|
cannam@136
|
642 rdfs:comment """
|
cannam@136
|
643 Specifies temporal information when processing a data stream.
|
cannam@136
|
644 """;
|
cannam@136
|
645 rdfs:domain vamp:Transform;
|
cannam@136
|
646 .
|
cannam@136
|
647
|
cannam@135
|
648 ##### Parameter properties
|
cannam@135
|
649
|
cannam@135
|
650 vamp:value
|
cannam@135
|
651 a rdf:Property;
|
cannam@135
|
652 a owl:DatatypeProperty;
|
cannam@135
|
653 a owl:FunctionalProperty;
|
cannam@135
|
654 rdfs:label "value";
|
cannam@135
|
655 vs:term_status "stable";
|
cannam@135
|
656 rdfs:comment """
|
cannam@135
|
657 Specifies the current value of the parameter.
|
cannam@135
|
658 """;
|
cannam@135
|
659 rdfs:domain vamp:Parameter;
|
cannam@135
|
660 .
|
cannam@135
|
661
|
cannam@135
|
662 vamp:parameter_descriptor
|
cannam@135
|
663 a rdf:Property;
|
cannam@135
|
664 a owl:ObjectProperty;
|
cannam@135
|
665 rdfs:label "parameter descriptor";
|
cannam@135
|
666 vs:term_status "stable";
|
cannam@135
|
667 rdfs:comment """
|
cannam@135
|
668 Specifies exactly the type of descriptor to set in the transform by linking it.
|
cannam@135
|
669 """;
|
cannam@135
|
670 rdfs:domain vamp:Parameter;
|
cannam@135
|
671 rdfs:range vamp:ParameterDescriptor;
|
cannam@135
|
672 .
|
cannam@135
|
673
|
cannam@135
|
674
|
cannam@135
|
675
|
cannam@135
|
676
|