aboutsummaryrefslogtreecommitdiffstats
path: root/fomp.lv2
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-20 05:16:04 +0000
committerDavid Robillard <d@drobilla.net>2012-08-20 05:16:04 +0000
commit734a9f490f2f8cb4552c71bfac8fc779f836c436 (patch)
tree34d286b3e8cbd291267ebe3ae6804ba52959c68b /fomp.lv2
downloadfomp.lv2-734a9f490f2f8cb4552c71bfac8fc779f836c436.tar.gz
fomp.lv2-734a9f490f2f8cb4552c71bfac8fc779f836c436.tar.bz2
fomp.lv2-734a9f490f2f8cb4552c71bfac8fc779f836c436.zip
Add fomp.lv2, a port of Fons' modular-oriented LADSPA plugins to LV2.
git-svn-id: http://svn.drobilla.net/lad/trunk/plugins/fomp.lv2@4727 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'fomp.lv2')
-rw-r--r--fomp.lv2/cs_chorus1.ttl77
-rw-r--r--fomp.lv2/cs_chorus2.ttl78
-rw-r--r--fomp.lv2/cs_phaser1.ttl108
-rw-r--r--fomp.lv2/cs_phaser1_lfo.ttl111
-rw-r--r--fomp.lv2/manifest.ttl.in80
-rw-r--r--fomp.lv2/mvchpf1.ttl77
-rw-r--r--fomp.lv2/mvclpf1.ttl99
-rw-r--r--fomp.lv2/mvclpf2.ttl99
-rw-r--r--fomp.lv2/mvclpf3.ttl99
-rw-r--r--fomp.lv2/mvclpf4.ttl108
-rw-r--r--fomp.lv2/pulse_vco.ttl89
-rw-r--r--fomp.lv2/rec_vco.ttl120
-rw-r--r--fomp.lv2/saw_vco.ttl96
-rw-r--r--fomp.lv2/triple_chorus.ttl90
14 files changed, 1331 insertions, 0 deletions
diff --git a/fomp.lv2/cs_chorus1.ttl b/fomp.lv2/cs_chorus1.ttl
new file mode 100644
index 0000000..326195b
--- /dev/null
+++ b/fomp.lv2/cs_chorus1.ttl
@@ -0,0 +1,77 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:cs_chorus1
+ a lv2:Plugin ,
+ lv2:ChorusPlugin ;
+ doap:name "CS Chorus 1" ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 2 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Delay" ;
+ lv2:symbol "delay" ;
+ units:unit units:ms
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.003 ;
+ lv2:name "Mod Frequency 1" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ;
+ lv2:symbol "mod_freq_1" ;
+ units:unit units:hz
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 4 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Mod Amplitude 1" ;
+ lv2:symbol "mod_amp_1" ;
+ units:unit units:ms
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 5 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 0.01 ;
+ lv2:name "Mod Frequency 2" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ;
+ lv2:symbol "mod_freq_2" ;
+ units:unit units:hz
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 3.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Mod Amplitude 2" ;
+ lv2:symbol "mod_amp_2" ;
+ units:unit units:ms
+ ] ;
+ rdfs:comment "Based on a CSound orchestra file by Sean Costello. There are two low frequency oscillators, each having three outputs that are 120 degrees apart in phase. The summed outputs modulate three delay lines. Make sure the static delay (first parameter) is at least equal to the sum of the two modulation depths." .
diff --git a/fomp.lv2/cs_chorus2.ttl b/fomp.lv2/cs_chorus2.ttl
new file mode 100644
index 0000000..acfe3e1
--- /dev/null
+++ b/fomp.lv2/cs_chorus2.ttl
@@ -0,0 +1,78 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:cs_chorus2
+ a lv2:Plugin ,
+ lv2:ChorusPlugin ;
+ doap:name "CS Chorus 2" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out1"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 2 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Delay" ;
+ lv2:symbol "delay" ;
+ units:unit units:ms
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.003 ;
+ lv2:name "Mod Frequency 1" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ;
+ lv2:symbol "mod_freq_1" ;
+ units:unit units:ms
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 4 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Mod Amplitude 1" ;
+ lv2:symbol "mod_amp_1" ;
+ units:unit units:ms
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 5 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 0.01 ;
+ lv2:name "Mod Frequency 2" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ;
+ lv2:symbol "mod_freq_2" ;
+ units:unit units:hz
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 3.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Mod Amplitude 2" ;
+ lv2:symbol "mod_amp_2" ;
+ units:unit units:ms
+ ] ;
+ rdfs:comment "Functionally identical to variant 1, but upsamples the input to the delay lines in an attempt to mitigate the errors produced by the linear interpolation at the output." .
diff --git a/fomp.lv2/cs_phaser1.ttl b/fomp.lv2/cs_phaser1.ttl
new file mode 100644
index 0000000..196d5b2
--- /dev/null
+++ b/fomp.lv2/cs_phaser1.ttl
@@ -0,0 +1,108 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:phaser1
+ a lv2:Plugin ,
+ lv2:PhaserPlugin ;
+ doap:name "CS Phaser 1" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 10 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum -1.0 ;
+ lv2:name "Feedback gain" ;
+ lv2:symbol "fb_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 11 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum -1.0 ;
+ lv2:name "Output mix" ;
+ lv2:symbol "out_mix"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Frequency Mod" ;
+ lv2:symbol "freq_mod"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Exp FM" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 4 ;
+ lv2:name "Lin FM" ;
+ lv2:symbol "lin_fm"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 5 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum -40.0 ;
+ lv2:name "Input gain" ;
+ lv2:symbol "in_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 6 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 1.0 ;
+ lv2:name "Sections" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "sections"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 7 ;
+ lv2:maximum 6.0 ;
+ lv2:minimum -6.0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 8 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp FM gain" ;
+ lv2:symbol "exp_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 9 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Lin FM gain" ;
+ lv2:symbol "lin_fm_gain"
+ ] ;
+ rdfs:comment "This is similar to the CSound module 'phaser1'. It's a series connection of 1 to 30 first order allpass filters with feedback. For 'Output mix', the range -1 to 0 crossfades between the inverted output and the input, and the range 0 to 1 crossfades between the input and the non-inverted output. Without feedback, the maximum effect is at +/- 0.5. For both 'Feedback gain' and 'Output mix', the best polarity depends on whether the number of sections is even or odd." .
diff --git a/fomp.lv2/cs_phaser1_lfo.ttl b/fomp.lv2/cs_phaser1_lfo.ttl
new file mode 100644
index 0000000..afc1452
--- /dev/null
+++ b/fomp.lv2/cs_phaser1_lfo.ttl
@@ -0,0 +1,111 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:cs_phaser1_lfo
+ a lv2:Plugin ,
+ lv2:PhaserPlugin ;
+ doap:name "CS Phaser 1 with LFO" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ units:unit units:db ;
+ lv2:default 0.0 ;
+ lv2:index 2 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum -40.0 ;
+ lv2:name "Input gain" ;
+ lv2:symbol "in_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 1.0 ;
+ lv2:name "Sections" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "sections"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 4 ;
+ lv2:maximum 6.0 ;
+ lv2:minimum -6.0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 5 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 0.01 ;
+ lv2:name "LFO frequency" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ;
+ lv2:symbol "lfo_freq" ;
+ units:unit units:hz
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum -1.0 ;
+ lv2:name "LFO waveform" ;
+ lv2:symbol "lfo_waveform" ;
+ lv2:scalePoint [
+ rdfs:label "Falling Saw" ;
+ rdf:value -1.0
+ ] , [
+ rdfs:label "Triangle" ;
+ rdf:value 0.0
+ ] , [
+ rdfs:label "Rising Saw" ;
+ rdf:value 1.0
+ ]
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 7 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Modulation gain" ;
+ lv2:symbol "mod_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 8 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum -1.0 ;
+ lv2:name "Feedback gain" ;
+ lv2:symbol "fb_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 9 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum -1.0 ;
+ lv2:name "Output mix" ;
+ lv2:symbol "out_mix"
+ ] ;
+ rdfs:comment "Similar to CS Phaser 1, but the external modulation has been replaced by a built-in LFO." .
diff --git a/fomp.lv2/manifest.ttl.in b/fomp.lv2/manifest.ttl.in
new file mode 100644
index 0000000..80291ad
--- /dev/null
+++ b/fomp.lv2/manifest.ttl.in
@@ -0,0 +1,80 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://drobilla.net/drobilla#me>
+ a foaf:Person ;
+ foaf:name "David Robillard" ;
+ foaf:mbox <mailto:d@drobilla.net> ;
+ rdfs:seeAlso <http://drobilla.net/drobilla> .
+
+fomp:
+ a doap:Project ;
+ lv2:symbol "fomp" ;
+ doap:name "Fomp LV2" ;
+ doap:shortdesc "An LV2 port of Fons Adriaensen's modular plugins." ;
+ doap:homepage <http://drobilla.net/software/fomp-lv2> ;
+ doap:license <http://opensource.org/licenses/gpl-2.0> ;
+ doap:maintainer <http://drobilla.net/drobilla#me> ;
+ doap:developer [
+ a foaf:Person ;
+ foaf:name "Fons Adriaensen" ;
+ foaf:mbox <mailto:fons@kokkinizita.net>
+ ] .
+
+fomp:mvclpf1
+ a lv2:Plugin ;
+ rdfs:seeAlso <mvclpf1.ttl> ;
+ lv2:binary <mvclpf24@LIB_EXT@> .
+
+fomp:mvclpf2
+ a lv2:Plugin ;
+ rdfs:seeAlso <mvclpf2.ttl> ;
+ lv2:binary <mvclpf24@LIB_EXT@> .
+
+fomp:mvclpf3
+ a lv2:Plugin ;
+ rdfs:seeAlso <mvclpf3.ttl> ;
+ lv2:binary <mvclpf24@LIB_EXT@> .
+
+fomp:mvclpf4
+ a lv2:Plugin ;
+ rdfs:seeAlso <mvclpf4.ttl> ;
+ lv2:binary <mvclpf24@LIB_EXT@> .
+
+fomp:mvchpf1
+ a lv2:Plugin ;
+ rdfs:seeAlso <mvchpf1.ttl> ;
+ lv2:binary <mvchpf24@LIB_EXT@> .
+
+fomp:cs_chorus1
+ a lv2:Plugin ;
+ rdfs:seeAlso <cs_chorus1.ttl> ;
+ lv2:binary <cs_chorus@LIB_EXT@> .
+
+fomp:cs_chorus2
+ a lv2:Plugin ;
+ rdfs:seeAlso <cs_chorus2.ttl> ;
+ lv2:binary <cs_chorus@LIB_EXT@> .
+
+fomp:triple_chorus
+ a lv2:Plugin ;
+ rdfs:seeAlso <triple_chorus.ttl> ;
+ lv2:binary <cs_chorus@LIB_EXT@> .
+
+fomp:pulse_vco
+ a lv2:Plugin ;
+ rdfs:seeAlso <pulse_vco.ttl> ;
+ lv2:binary <blvco@LIB_EXT@> .
+
+fomp:saw_vco
+ a lv2:Plugin ;
+ rdfs:seeAlso <saw_vco.ttl> ;
+ lv2:binary <blvco@LIB_EXT@> .
+
+fomp:rec_vco
+ a lv2:Plugin ;
+ rdfs:seeAlso <rec_vco.ttl> ;
+ lv2:binary <blvco@LIB_EXT@> .
diff --git a/fomp.lv2/mvchpf1.ttl b/fomp.lv2/mvchpf1.ttl
new file mode 100644
index 0000000..b6b7741
--- /dev/null
+++ b/fomp.lv2/mvchpf1.ttl
@@ -0,0 +1,77 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:mvchpf1
+ a lv2:Plugin ,
+ lv2:HighpassPlugin ;
+ doap:name "Moog High-Pass Filter 1" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Frequency Mod" ;
+ lv2:symbol "freq_mod"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Exp. FM" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 4 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum -60.0 ;
+ lv2:name "Input gain" ;
+ lv2:symbol "in_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 5 ;
+ lv2:maximum 6.0 ;
+ lv2:minimum -6.0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 6 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp FM gain" ;
+ lv2:symbol "exp_gm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 7 ;
+ lv2:maximum 15.0 ;
+ lv2:minimum -15.0 ;
+ lv2:name "Output gain" ;
+ lv2:symbol "out_gain" ;
+ units:unit units:db
+ ] ;
+ rdfs:comment "Based on the voltage controlled highpass filter by Robert Moog, with some attention to the nonlinear effects. This is quite different from the lowpass filters. When you 'overdrive' the filter, the cutoff frequency will rise. This first version is really very experimental." .
diff --git a/fomp.lv2/mvclpf1.ttl b/fomp.lv2/mvclpf1.ttl
new file mode 100644
index 0000000..68fd85e
--- /dev/null
+++ b/fomp.lv2/mvclpf1.ttl
@@ -0,0 +1,99 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:mvclpf1
+ a lv2:Plugin ,
+ lv2:LowpassPlugin ;
+ doap:name "Moog Low-Pass Filter 1" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 10 ;
+ lv2:maximum 15.0 ;
+ lv2:minimum -15.0 ;
+ lv2:name "Output gain" ;
+ lv2:symbol "out_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Frequency Mod" ;
+ lv2:symbol "freq_mod"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Exp. Frequency Mod" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 4 ;
+ lv2:name "Resonance Mod" ;
+ lv2:symbol "res_mod"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 5 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum -60.0 ;
+ lv2:name "Input gain" ;
+ lv2:symbol "in_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 6.0 ;
+ lv2:minimum -6.0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 7 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp. FM gain" ;
+ lv2:symbol "exp_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 8 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Resonance" ;
+ lv2:symbol "res"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 9 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Resonance gain" ;
+ lv2:symbol "res_gain"
+ ] ;
+ rdfs:comment "A fairly simple design which does not even pretend to come close the 'real thing'. It uses a very crude approximation of the non-linear resistor in the first filter section only. Retained in this distribution because it's a cheap (in terms of CPU usage) general purpose 24 dB/oct lowpass filter that could be useful." .
diff --git a/fomp.lv2/mvclpf2.ttl b/fomp.lv2/mvclpf2.ttl
new file mode 100644
index 0000000..aeb8bda
--- /dev/null
+++ b/fomp.lv2/mvclpf2.ttl
@@ -0,0 +1,99 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:mvclpf2
+ a lv2:Plugin ,
+ lv2:LowpassPlugin ;
+ doap:name "Moog Low-Pass Filter 2" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 10 ;
+ lv2:maximum 15.0 ;
+ lv2:minimum -15.0 ;
+ lv2:name "Output gain" ;
+ lv2:symbol "out_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Frequency Mod" ;
+ lv2:symbol "freq_mod"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Exp. Frequency Mod" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 4 ;
+ lv2:name "Resonance Mod" ;
+ lv2:symbol "res_mod"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 5 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum -60.0 ;
+ lv2:name "Input gain" ;
+ lv2:symbol "in_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 6.0 ;
+ lv2:minimum -6.0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 7 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp FM gain" ;
+ lv2:symbol "exp_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 8 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Resonance" ;
+ lv2:symbol "res"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 9 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Resonance gain" ;
+ lv2:symbol "res_gain"
+ ] ;
+ rdfs:comment "Uses five non-linear elements, in the input and in all four filter sections. It works by using the derivative of the nonlinearity (for which 1 / (1 + x * x) is reasonable approximation). The main advantage of this is that only one evaluation of the non-linear function is required for each section. The four variables that contain the filter state (c1...c4) represent not the voltage on the capacitors (as in the first filter) but the current flowing in the resistive part." .
diff --git a/fomp.lv2/mvclpf3.ttl b/fomp.lv2/mvclpf3.ttl
new file mode 100644
index 0000000..7b04e9c
--- /dev/null
+++ b/fomp.lv2/mvclpf3.ttl
@@ -0,0 +1,99 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:mvclpf3
+ a lv2:Plugin ,
+ lv2:LowpassPlugin ;
+ doap:name "Moog Low-Pass Filter 3" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 10 ;
+ lv2:maximum 15.0 ;
+ lv2:minimum -15.0 ;
+ lv2:name "Output gain" ;
+ lv2:symbol "out_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Frequency Mod" ;
+ lv2:symbol "freq_mod"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Exp. Frequency Mod" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 4 ;
+ lv2:name "Resonance Mod" ;
+ lv2:symbol "res_mod"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 5 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum -60.0 ;
+ lv2:name "Input gain" ;
+ lv2:symbol "in_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 6.0 ;
+ lv2:minimum -6.0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 7 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp FM gain" ;
+ lv2:symbol "exp_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 8 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Resonance" ;
+ lv2:symbol "res"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 9 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Resonance gain" ;
+ lv2:symbol "res_gain"
+ ] ;
+ rdfs:comment "Based on variant 2, with two differences. It uses the the technique described by Stilson and Smith to extend the constant-Q range, and the internal sample frequency is doubled, giving a better approximation to the non-linear behaviour at high freqencies. This variant has high Q over the entire frequency range and will oscillate up to above 10 kHz, while the two others show a decreasing Q at high frequencies. This filter is reasonably well tuned, and can be 'played' as a VCO up to at least 5 kHz." .
diff --git a/fomp.lv2/mvclpf4.ttl b/fomp.lv2/mvclpf4.ttl
new file mode 100644
index 0000000..27facaf
--- /dev/null
+++ b/fomp.lv2/mvclpf4.ttl
@@ -0,0 +1,108 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:mvclpf4
+ a lv2:Plugin ,
+ lv2:LowpassPlugin ;
+ doap:name "Moog Low-Pass Filter 4" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 10 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Filter poles" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "poles"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 11 ;
+ lv2:maximum 15.0 ;
+ lv2:minimum -15.0 ;
+ lv2:name "Output gain" ;
+ lv2:symbol "out_gain" ;
+ units:unit units:db
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Exp. FM" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 4 ;
+ lv2:name "Resonance Mod" ;
+ lv2:symbol "res_mod"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 5 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum -60.0 ;
+ lv2:name "Input gain" ;
+ lv2:symbol "port5" ;
+ units:unit units:db
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 6.0 ;
+ lv2:minimum -6.0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 7 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp FM gain" ;
+ lv2:symbol "exp_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 8 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Resonance" ;
+ lv2:symbol "res"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 9 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Resonance gain" ;
+ lv2:symbol "res_gain"
+ ] ;
+ rdfs:comment "The same as variant 3, but adds a selection of 0, 6, 12, 18 or 24 db/oct output." .
diff --git a/fomp.lv2/pulse_vco.ttl b/fomp.lv2/pulse_vco.ttl
new file mode 100644
index 0000000..c1a2048
--- /dev/null
+++ b/fomp.lv2/pulse_vco.ttl
@@ -0,0 +1,89 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:pulse_vco
+ a lv2:Plugin ,
+ lv2:OscillatorPlugin ;
+ doap:name "Pulse VCO" ;
+ lv2:binary <file:///usr/local/lib/lv2/naspro-ladspa.lv2/ladspa.so> ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 0 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 1 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Exp FM" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Lin FM" ;
+ lv2:symbol "lin_fm"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 4 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum -4.0 ;
+ lv2:name "Octave" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "octave"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 5 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Tune" ;
+ lv2:symbol "tune"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp FM gain" ;
+ lv2:symbol "exp_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 7 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Lin FM gain" ;
+ lv2:symbol "lin_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 1.0 ;
+ lv2:index 8 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "LP filter" ;
+ lv2:symbol "lp_filter"
+ ] ;
+ rdfs:comment """Based on the principle of using a precomputed interpolated dirac pulse. This is the pulse variant (flat amplitude spectrum).
+
+Aliases should be below -80dB for fundamental frequencies below the sample rate / 6 (i.e. up to 8 kHz at Fsamp = 48 kHz). This frequency range includes the fundamental frequencies of all known musical instruments.""" .
diff --git a/fomp.lv2/rec_vco.ttl b/fomp.lv2/rec_vco.ttl
new file mode 100644
index 0000000..54b8679
--- /dev/null
+++ b/fomp.lv2/rec_vco.ttl
@@ -0,0 +1,120 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:rec_vco
+ a lv2:Plugin ,
+ lv2:OscillatorPlugin ;
+ doap:name "Rec VCO" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 0 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 1 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 10 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum -1.0 ;
+ lv2:name "Waveform" ;
+ lv2:symbol "waveform"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 11 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Form mod" ;
+ lv2:symbol "form_mod"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 1.0 ;
+ lv2:index 12 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "LP filter" ;
+ lv2:symbol "lp_filrer"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Exp FM" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Lin FM" ;
+ lv2:symbol "lin_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 4 ;
+ lv2:name "Mod" ;
+ lv2:symbol "mod"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 5 ;
+ lv2:name "Sync" ;
+ lv2:symbol "sync"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum -4.0 ;
+ lv2:name "Octave" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "octave"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 7 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Tune" ;
+ lv2:symbol "tune"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 8 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp FM gain" ;
+ lv2:symbol "exp_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 9 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Lin FM gain" ;
+ lv2:symbol "lin_fm_gain"
+ ] ;
+ rdfs:comment """Based on the principle of using a precomputed interpolated dirac pulse. The 'edge' for this rectangular variant is made by integrating the anti-aliased pulse.
+
+Aliases should be below -80dB for fundamental frequencies below the sample rate / 6 (i.e. up to 8 kHz at Fsamp = 48 kHz). This frequency range includes the fundamental frequencies of all known musical instruments.
+
+Tests by Matthias Nagorni revealed the output sounded quite 'harsh' when compared to his analogue instruments. Comparing the spectra, it became clear that a mathematically 'exact' spectrum was not desirable from a musical point of view. For this reason, a built-in lowpass filter was added. The default setting (0.5) will yield output identical to that of the Moog Voyager.""" .
diff --git a/fomp.lv2/saw_vco.ttl b/fomp.lv2/saw_vco.ttl
new file mode 100644
index 0000000..05d24a7
--- /dev/null
+++ b/fomp.lv2/saw_vco.ttl
@@ -0,0 +1,96 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:saw_vco
+ a lv2:Plugin ,
+ lv2:OscillatorPlugin ;
+ doap:name "Saw VCO" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 0 ;
+ lv2:name "Output" ;
+ lv2:symbol "out"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 1 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "freq"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 2 ;
+ lv2:name "Exp FM" ;
+ lv2:symbol "exp_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 3 ;
+ lv2:name "Lin FM" ;
+ lv2:symbol "lin_fm"
+ ] , [
+ a lv2:CVPort ,
+ lv2:InputPort ;
+ lv2:index 4 ;
+ lv2:name "Sync" ;
+ lv2:symbol "sync"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 5 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum -4.0 ;
+ lv2:name "Octave" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "octave"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Tune" ;
+ lv2:symbol "tune"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 7 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Exp FM gain" ;
+ lv2:symbol "exp_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 8 ;
+ lv2:maximum 4.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Lin FM gain" ;
+ lv2:symbol "lin_fm_gain"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 1.0 ;
+ lv2:index 9 ;
+ lv2:maximum 1.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "LP filter" ;
+ lv2:symbol "lp_filter"
+ ] ;
+ rdfs:comment """Based on the principle of using a precomputed interpolated dirac pulse. The 'edge' for this saw variant (1/F amplitude spectrum) is made by integrating the anti-aliased pulse.
+
+Aliases should be below -80dB for fundamental frequencies below the sample rate / 6 (i.e. up to 8 kHz at Fsamp = 48 kHz). This frequency range includes the fundamental frequencies of all known musical instruments.
+
+Tests by Matthias Nagorni revealed the output sounded quite 'harsh' when compared to his analogue instruments. Comparing the spectra, it became clear that a mathematically 'exact' spectrum was not desirable from a musical point of view. For this reason, a built-in lowpass filter was added. The default setting (0.5) will yield output identical to that of the Moog Voyager.""" .
diff --git a/fomp.lv2/triple_chorus.ttl b/fomp.lv2/triple_chorus.ttl
new file mode 100644
index 0000000..913c5c3
--- /dev/null
+++ b/fomp.lv2/triple_chorus.ttl
@@ -0,0 +1,90 @@
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix fomp: <http://drobilla.net/plugins/fomp/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+fomp:triple_chorus
+ a lv2:Plugin ,
+ lv2:ChorusPlugin ;
+ doap:name "Triple chorus" ;
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:project fomp: ;
+ lv2:port [
+ a lv2:AudioPort ,
+ lv2:InputPort ;
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "in"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 1 ;
+ lv2:name "Output1" ;
+ lv2:symbol "out1"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 2 ;
+ lv2:name "Output2" ;
+ lv2:symbol "out2"
+ ] , [
+ a lv2:AudioPort ,
+ lv2:OutputPort ;
+ lv2:index 3 ;
+ lv2:name "Output3" ;
+ lv2:symbol "out3"
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 4 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Delay" ;
+ lv2:symbol "delay" ;
+ units:unit units:ms
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 5 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.003 ;
+ lv2:name "Mod Frequency 1" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ;
+ lv2:symbol "mod_freq_1" ;
+ units:unit units:hz
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 6 ;
+ lv2:maximum 10.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Mod Amplitude 1" ;
+ lv2:symbol "mod_amp_1" ;
+ units:unit units:ms
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:index 7 ;
+ lv2:maximum 30.0 ;
+ lv2:minimum 0.01 ;
+ lv2:name "Mod Frequency 2" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ;
+ lv2:symbol "mod_freq_2" ;
+ units:unit units:hz
+ ] , [
+ a lv2:ControlPort ,
+ lv2:InputPort ;
+ lv2:default 0.0 ;
+ lv2:index 8 ;
+ lv2:maximum 3.0 ;
+ lv2:minimum 0.0 ;
+ lv2:name "Mod Amplitude 2" ;
+ lv2:symbol "mod_amp_2" ;
+ units:unit units:ms
+ ] ;
+ rdfs:comment "The same as CS Chorus 2, but has three separate outputs. Plan L,C,R for a nice stereo effect." .