sfizz/lv2/lv2/parameters/parameters.ttl
2020-01-19 07:41:43 +01:00

206 lines
5 KiB
Turtle

@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
@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#> .
<http://lv2plug.in/ns/ext/parameters>
a lv2:Specification ;
rdfs:seeAlso <lv2-parameters.doap.ttl> ;
lv2:documentation """
<p>This vocabulary describes parameters common in audio processing software. A
<q>parameter</q> is purely a metadata concept, unrelated to any particular code
mechanism. Parameters are used to assign meaning to controls (e.g. using
lv2:designation for ports) so they can be used more intelligently or presented
to the user more efficiently.</p> """ .
param:ControlGroup
a rdfs:Class ;
rdfs:subClassOf pg:Group ;
rdfs:comment "A group representing a set of associated controls." .
param:amplitude
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "amplitude" .
param:attack
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "attack" ;
rdfs:comment "The duration of an envelope's attack stage." .
param:cutoffFrequency
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "cutoff frequency" .
param:decay
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "decay" ;
rdfs:comment "The duration of an envelope's decay stage." .
param:delay
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "delay" ;
rdfs:comment "The duration of an envelope's delay stage." .
param:frequency
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "frequency" .
param:hold
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "hold" ;
rdfs:comment "The duration of an envelope's hold stage." .
param:pulseWidth
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "pulse width" ;
rdfs:comment "The width of a pulse of a rectangular waveform." .
param:ratio
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "ratio" ;
rdfs:comment "Compression ratio." .
param:release
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "release" ;
rdfs:comment "The duration of an envelope's release stage." .
param:resonance
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "resonance" ;
rdfs:comment "The resonance of a filter." .
param:sustain
a lv2:Parameter ;
rdfs:label "sustain" ;
rdfs:range atom:Float ;
rdfs:comment "The level (not duration) of an envelope's sustain stage." .
param:threshold
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "threshold" ;
rdfs:comment "Compression threshold." .
param:waveform
a lv2:Parameter ;
rdfs:range atom:Float ;
rdfs:label "waveform" .
param:gain
a lv2:Parameter ;
rdfs:range atom:Float ;
lv2:default 0.0 ;
lv2:minimum -20.0 ;
lv2:maximum 20.0 ;
units:unit units:db ;
rdfs:label "gain" ;
rdfs:comment "Gain in decibels." .
param:wetDryRatio
a lv2:Parameter ;
rdfs:label "wet/dry ratio" ;
lv2:documentation """
<p>The ratio between processed and bypass components in output signal. The dry
and wet percentages can be calculated from the following equations:</p>
<pre class="c-code">
dry = (wetDryRatio.maximum - wetDryRatio.value) / wetDryRatio.maximum
wet = wetDryRatio.value / wetDryRatio.maximum
</pre>
<p>Typically, maximum value of 1 or 100 and minimum value of 0 should be
used.</p>
""" .
param:wetLevel
a lv2:Parameter ;
rdfs:label "wet level" ;
rdfs:comment "The level of the processed component of a signal." .
param:dryLevel
a lv2:Parameter ;
rdfs:label "dry level" ;
rdfs:comment "The level of the unprocessed component of a signal." .
param:bypass
a lv2:Parameter ;
rdfs:label "bypass" ;
rdfs:comment "A boolean parameter that disabled processing if true." .
param:sampleRate
a lv2:Parameter ;
rdfs:label "sample rate" ;
rdfs:comment "A sample rate in Hz." .
param:EnvelopeControls
a rdfs:Class ;
rdfs:subClassOf param:ControlGroup ;
rdfs:label "DAHDSR Envelope Controls" ;
pg:element [
lv2:index 0 ;
lv2:designation param:delay
] , [
lv2:index 1 ;
lv2:designation param:attack
] , [
lv2:index 2 ;
lv2:designation param:hold
] , [
lv2:index 3 ;
lv2:designation param:decay
] , [
lv2:index 4 ;
lv2:designation param:sustain
] , [
lv2:index 5 ;
lv2:designation param:release
] .
param:OscillatorControls
a rdfs:Class ;
rdfs:subClassOf param:ControlGroup ;
rdfs:label "Oscillator Controls" ;
pg:element [
lv2:designation param:frequency
] , [
lv2:designation param:amplitude
] , [
lv2:designation param:waveform
] , [
lv2:designation param:pulseWidth
] .
param:FilterControls
a rdfs:Class ;
rdfs:subClassOf param:ControlGroup ;
rdfs:label "Filter Controls" ;
pg:element [
lv2:designation param:cutoffFrequency
] , [
lv2:designation param:resonance
] .
param:CompressorControls
a rdfs:Class ;
rdfs:subClassOf param:ControlGroup ;
rdfs:label "Compressor Controls" ;
pg:element [
lv2:designation param:threshold
] , [
lv2:designation param:ratio
] .