aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/units/units.ttl
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/units/units.ttl')
-rw-r--r--lv2/units/units.ttl395
1 files changed, 395 insertions, 0 deletions
diff --git a/lv2/units/units.ttl b/lv2/units/units.ttl
new file mode 100644
index 0000000..e40bef6
--- /dev/null
+++ b/lv2/units/units.ttl
@@ -0,0 +1,395 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+<http://lv2plug.in/ns/extensions/units>
+ a owl:Ontology ;
+ owl:imports <http://lv2plug.in/ns/lv2core> ;
+ rdfs:seeAlso <units.h> ,
+ <lv2-units.doap.ttl> ;
+ lv2:documentation """
+<p>This vocabulary defines a number of units for use in audio processing.</p>
+
+<p>For example, to say that a gain port's value is in decibels (units:db)</p>
+<pre class="turtle-code">
+@prefix units: &lt;http://lv2plug.in/ns/extensions/units#&gt; .
+@prefix eg: &lt;http://example.org/&gt; .
+
+eg:plugin lv2:port [
+ a lv2:ControlPort , lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:symbol "gain" ;
+ lv2:name "gain" ;
+ units:unit units:db
+] .
+</pre>
+
+<p>Using the same form, plugins may also specify one-off units inline, to give
+better display hints to hosts:</p>
+<pre class="turtle-code">
+eg:plugin lv2:port [
+ a lv2:ControlPort , lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:symbol "frob" ;
+ lv2:name "frob level" ;
+ units:unit [
+ a units:Unit ;
+ rdfs:label "frobnication" ;
+ units:symbol "fr" ;
+ units:render "%f f"
+ ]
+] .
+</pre>
+
+<p>It is also possible to define conversions between various units, which makes
+it possible for hosts to automatically and generically convert from a given
+unit to a desired unit. The units defined in this extension include conversion
+definitions where it makes sense to do so.</p>
+""" .
+
+units:Unit
+ a rdfs:Class ,
+ owl:Class ;
+ rdfs:label "Unit" ;
+ rdfs:comment "A unit for LV2 port data" .
+
+units:unit
+ a rdf:Property ,
+ owl:ObjectProperty ;
+ rdfs:domain lv2:Port ,
+ lv2:Parameter ;
+ rdfs:range units:Unit ;
+ rdfs:label "unit" ;
+ rdfs:comment "The unit used by the value of a port or parameter." .
+
+units:render
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:label "unit format string" ;
+ rdfs:domain units:Unit ;
+ rdfs:range xsd:string ;
+ rdfs:comment """A printf format string for rendering a value (eg. "%f dB").""" .
+
+units:symbol
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:label "unit symbol" ;
+ rdfs:domain units:Unit ;
+ rdfs:range xsd:string ;
+ rdfs:comment "The abbreviated symbol for the unit (e.g. dB)." .
+
+units:Conversion
+ a rdfs:Class ,
+ owl:Class ;
+ rdfs:subClassOf [
+ a owl:Restriction ;
+ owl:onProperty units:to ;
+ owl:cardinality 1 ;
+ rdfs:comment "A conversion MUST have exactly 1 units:to property."
+ ] ;
+ rdfs:label "Conversion" ;
+ rdfs:comment "A conversion from one unit to another." .
+
+units:conversion
+ a rdf:Property ,
+ owl:ObjectProperty ;
+ rdfs:domain units:Unit ;
+ rdfs:range units:Conversion ;
+ rdfs:label "conversion" ;
+ rdfs:comment "A conversion from this unit to another." .
+
+units:prefixConversion
+ a rdf:Property ,
+ owl:ObjectProperty ;
+ rdfs:subPropertyOf units:conversion ;
+ rdfs:domain units:Unit ;
+ rdfs:range units:Conversion ;
+ rdfs:label "prefix conversion" ;
+ rdfs:comment """A conversion from this unit to the same unit but with a different SI prefix (e.g. Hz to kHz).""" .
+
+units:to
+ a rdf:Property ,
+ owl:ObjectProperty ;
+ rdfs:domain units:Conversion ;
+ rdfs:range units:Unit ;
+ rdfs:label "conversion target" ;
+ rdfs:comment "The target unit this conversion converts to." .
+
+units:factor
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:domain units:Conversion ;
+ rdfs:label "conversion factor" ;
+ rdfs:comment """The factor to multiply the source value by in order to convert to the target unit.""" .
+
+units:s
+ a units:Unit ;
+ units:conversion [
+ units:factor 0.0166666666 ;
+ units:to units:min
+ ] ;
+ rdfs:label "seconds" ;
+ units:prefixConversion [
+ units:factor 1000 ;
+ units:to units:ms
+ ] ;
+ units:render "%f s" ;
+ units:symbol "s" .
+
+units:ms
+ a units:Unit ;
+ rdfs:label "milliseconds" ;
+ units:prefixConversion [
+ units:factor 0.001 ;
+ units:to units:s
+ ] ;
+ units:render "%f ms" ;
+ units:symbol "ms" .
+
+units:min
+ a units:Unit ;
+ units:conversion [
+ units:factor 60.0 ;
+ units:to units:s
+ ] ;
+ rdfs:label "minutes" ;
+ units:render "%f mins" ;
+ units:symbol "min" .
+
+units:bar
+ a units:Unit ;
+ rdfs:label "bars" ;
+ units:render "%f bars" ;
+ units:symbol "bars" .
+
+units:beat
+ a units:Unit ;
+ rdfs:label "beats" ;
+ units:render "%f beats" ;
+ units:symbol "beats" .
+
+units:frame
+ a units:Unit ;
+ rdfs:label "audio frames" ;
+ units:render "%f frames" ;
+ units:symbol "frames" .
+
+units:m
+ a units:Unit ;
+ units:conversion [
+ units:factor 39.37 ;
+ units:to units:inch
+ ] ;
+ rdfs:label "metres" ;
+ units:prefixConversion [
+ units:factor 100 ;
+ units:to units:cm
+ ] , [
+ units:factor 1000 ;
+ units:to units:mm
+ ] , [
+ units:factor 0.001 ;
+ units:to units:km
+ ] ;
+ units:render "%f m" ;
+ units:symbol "m" .
+
+units:cm
+ a units:Unit ;
+ units:conversion [
+ units:factor 0.3937 ;
+ units:to units:inch
+ ] ;
+ rdfs:label "centimetres" ;
+ units:prefixConversion [
+ units:factor 0.01 ;
+ units:to units:m
+ ] , [
+ units:factor 10 ;
+ units:to units:mm
+ ] , [
+ units:factor 0.00001 ;
+ units:to units:km
+ ] ;
+ units:render "%f cm" ;
+ units:symbol "cm" .
+
+units:mm
+ a units:Unit ;
+ units:conversion [
+ units:factor 0.03937 ;
+ units:to units:inch
+ ] ;
+ rdfs:label "millimetres" ;
+ units:prefixConversion [
+ units:factor 0.001 ;
+ units:to units:m
+ ] , [
+ units:factor 0.1 ;
+ units:to units:cm
+ ] , [
+ units:factor 0.000001 ;
+ units:to units:km
+ ] ;
+ units:render "%f mm" ;
+ units:symbol "mm" .
+
+units:km
+ a units:Unit ;
+ units:conversion [
+ units:factor 0.62138818 ;
+ units:to units:mile
+ ] ;
+ rdfs:label "kilometres" ;
+ units:prefixConversion [
+ units:factor 1000 ;
+ units:to units:m
+ ] , [
+ units:factor 100000 ;
+ units:to units:cm
+ ] , [
+ units:factor 1000000 ;
+ units:to units:mm
+ ] ;
+ units:render "%f km" ;
+ units:symbol "km" .
+
+units:inch
+ a units:Unit ;
+ units:conversion [
+ units:factor 2.54 ;
+ units:to units:cm
+ ] ;
+ rdfs:label "inches" ;
+ units:render """%f\"""" ;
+ units:symbol "in" .
+
+units:mile
+ a units:Unit ;
+ units:conversion [
+ units:factor 1.6093 ;
+ units:to units:km
+ ] ;
+ rdfs:label "miles" ;
+ units:render "%f mi" ;
+ units:symbol "mi" .
+
+units:db
+ a units:Unit ;
+ rdfs:label "decibels" ;
+ units:render "%f dB" ;
+ units:symbol "dB" .
+
+units:pc
+ a units:Unit ;
+ units:conversion [
+ units:factor 0.01 ;
+ units:to units:coef
+ ] ;
+ rdfs:label "percent" ;
+ units:render "%f%%" ;
+ units:symbol "%" .
+
+units:coef
+ a units:Unit ;
+ units:conversion [
+ units:factor 100 ;
+ units:to units:pc
+ ] ;
+ rdfs:label "coefficient" ;
+ units:render "* %f" ;
+ units:symbol "" .
+
+units:hz
+ a units:Unit ;
+ rdfs:label "hertz" ;
+ units:prefixConversion [
+ units:factor 0.001 ;
+ units:to units:khz
+ ] , [
+ units:factor 0.000001 ;
+ units:to units:mhz
+ ] ;
+ units:render "%f Hz" ;
+ units:symbol "Hz" .
+
+units:khz
+ a units:Unit ;
+ rdfs:label "kilohertz" ;
+ units:prefixConversion [
+ units:factor 1000 ;
+ units:to units:hz
+ ] , [
+ units:factor 0.001 ;
+ units:to units:mhz
+ ] ;
+ units:render "%f kHz" ;
+ units:symbol "kHz" .
+
+units:mhz
+ a units:Unit ;
+ rdfs:label "megahertz" ;
+ units:prefixConversion [
+ units:factor 1000000 ;
+ units:to units:hz
+ ] , [
+ units:factor 0.001 ;
+ units:to units:khz
+ ] ;
+ units:render "%f MHz" ;
+ units:symbol "MHz" .
+
+units:bpm
+ a units:Unit ;
+ rdfs:label "beats per minute" ;
+ units:prefixConversion [
+ units:factor 0.0166666666 ;
+ units:to units:hz
+ ] ;
+ units:render "%f BPM" ;
+ units:symbol "BPM" .
+
+units:oct
+ a units:Unit ;
+ units:conversion [
+ units:factor 12.0 ;
+ units:to units:semitone12TET
+ ] ;
+ rdfs:label "octaves" ;
+ units:render "%f octaves" ;
+ units:symbol "oct" .
+
+units:cent
+ a units:Unit ;
+ units:conversion [
+ units:factor 0.01 ;
+ units:to units:semitone12TET
+ ] ;
+ rdfs:label "cents" ;
+ units:render "%f ct" ;
+ units:symbol "ct" .
+
+units:semitone12TET
+ a units:Unit ;
+ units:conversion [
+ units:factor 0.083333333 ;
+ units:to units:oct
+ ] ;
+ rdfs:label "semitones" ;
+ units:render "%f semi" ;
+ units:symbol "semi" .
+
+units:degree
+ a units:Unit ;
+ rdfs:label "degrees" ;
+ units:render "%f deg" ;
+ units:symbol "deg" .
+
+units:midiNote
+ a units:Unit ;
+ rdfs:label "MIDI note" ;
+ units:render "MIDI note %d" ;
+ units:symbol "note" .