ToobAmp v1.1.65

This commit is contained in:
Robin E. R. Davies
2025-07-28 17:20:00 -04:00
parent e71c4f3f02
commit e62b8edb33
32 changed files with 26 additions and 1346 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ cabir:impulseFile3
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
TooB Cab IR is a convolution-based guitar cabinet impulse response simulator.
+1 -1
View File
@@ -50,7 +50,7 @@ toob:frequencyResponseVector
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
mod:brand "TooB";
mod:label "TooB CabSim";
@@ -53,7 +53,7 @@ toobimpulse:impulseFile
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
Convolution reverb is a notoriously compute-intensive effect. If you are having performance issues, use the Max T control to constrain the length of the impulse file to
@@ -51,7 +51,7 @@ toobimpulse:impulseFile
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
+1 -1
View File
@@ -66,7 +66,7 @@ inputStage:filterGroup
doap:license <https://two-play.com/TooB/licenses/isc> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
mod:brand "TooB";
mod:label "TooB Input";
+1 -1
View File
@@ -68,7 +68,7 @@ pstage:stage3
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
mod:brand "TooB";
mod:label "Power Stage";
-594
View File
@@ -1,594 +0,0 @@
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@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 urid: <http://lv2plug.in/ns/ext/urid#> .
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
@prefix epp: <http://lv2plug.in/ns/ext/port-props#> .
@prefix uiext: <http://lv2plug.in/ns/extensions/ui#> .
@prefix idpy: <http://harrisonconsoles.com/lv2/inlinedisplay#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix mod: <http://moddevices.com/ns/mod#> .
@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
@prefix work: <http://lv2plug.in/ns/ext/worker#> .
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix patch: <http://lv2plug.in/ns/ext/patch#> .
@prefix plug: <http://two-play.com/plugins/toob-power-stage-2#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix modgui: <http://moddevices.com/ns/modgui#> .
@prefix pstage: <http://two-play.com/plugins/toob-power-stage-2#> .
pstage:stage1
a param:ControlGroup ,
pg:InputGroup ;
lv2:name "Stage 1" ;
lv2:symbol "stage1" .
pstage:stage2
a param:ControlGroup ,
pg:InputGroup ;
lv2:name "Stage 2" ;
lv2:symbol "stage2" .
pstage:stage3
a param:ControlGroup ,
pg:InputGroup ;
lv2:name "Stage 3" ;
lv2:symbol "stage3" .
<http://two-play.com/plugins/toob-power-stage-2#uiState>
a lv2:Parameter ;
rdfs:label "uiState" ;
rdfs:range atom:Vector .
<http://two-play.com/rerdavies#me>
a foaf:Person ;
foaf:name "Robin Davies" ;
foaf:mbox <mailto:rerdavies@gmail.com> ;
foaf:homepage <https://github.com/sponsors/rerdavies> .
<http://two-play.com/plugins/toob-power-stage-2>
a lv2:Plugin ,
lv2:SimulatorPlugin ;
doap:name "TooB Power Stage";
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 53 ;
mod:brand "TooB";
mod:label "Power Stage";
lv2:requiredFeature urid:map ;
lv2:optionalFeature lv2:hardRTCapable;
patch:readable
<http://two-play.com/plugins/toob-power-stage-2#uiState>;
rdfs:comment """
The TooB Power Stage provides flexible and nuanced emulations of guitar amp power stages.
The goal of TooB Power Stage is emulate the best features of real tube amps without slavishly
reproducing the undesirable features as well.
TooB Power Stage provides 3 consecutive gain stages, each of which can be overdriven to varying
degrees. Power transformer sag is emulated using the SAG and SAGD controls, which emulate the
volume and distortion effects introduced when power transformer voltage sags.
Each gain section expects an input level that is nominally in the range of 12db to 0db.
It's ok if the levels are slightly over 0db, but they should not be massively over. Use the
Trim control to adjust input signal levels.
The Gain controls use oversampled atan wave shaping to emulate the effect of overdriving
gain stages. Atan wave shaping provides rich even-order harmonics similar to those produced by a tube
amp power stage. A modest amount of gain will produce the characteristically "warm" sound of a tube
gain stage. More extreme settings produce harder overdrive.
Judicious use of the LO CUT and HI CUT controls have interesting and subtle effects on the overall sound.
You are encouraged to play with these controls to see what happens. Tightening up low and high frequencies,
in early gain sections can allow you to drive the signal much harder in later gain sections without totally
breaking up. Real amps will usually cut low frequency response at somewhere between 80Hz (Fender)
and 140Hz (Marshall).
General experience seems to suggest that gradually increasing the gain in each section allows you to drive
the signal harder without introducing undesirable effects in the output. However, there definitely interesting
and subtle differences in tone that can be acheived by not adhering to that rule of thumb.
The SAG and SAGD controls the emulation of "forgiveness", and "compression" that are provided in a real tube
amp by sagging of power supply voltage. SAG controls how much
the overall volume of the output decreases as the transform sags. It provides the subtle "compression" that
tube amps provide, which is quite different from the compression provided by compressors. SAGD controls
the amount of additional distortion that occurs as the gain stages receive reduced voltage. It provides
the "forgiveness" of a good tube amp. Because SAGD operates in a feedback loop that runs through
all three gain stages. Increasing the distortion in the gain stages increases the power use of the gain stages;
increasing the power use of the gain stages increases the effect of SAG and SAGD which has an opposing effect
on power use. The net result is that SAGD causes signals to break up more gradually
(hence the perceived "forgiveness"). The effects are non-linear, so not easy to describe completely. You
are strongly urged to experiment with SAG and SAGD settings in order to get best tone results. Use very
moderate settings to emulate tube amp output; higher settings of SAG and SAGD will cause audible compression
and pumping of the outputs which may or may not be desireable.
The TooB Power Stage design is based on an experimental design, that unexpectedly produced extraordinarily
good amp tones. We have not completely explored the sonic possibilities of the
TooB Power Stage. What's known so far: it produces exceptionally pretty clean tones; it can be driven really
hard, and seems to preserve an unusual amount of detail in the signal even when being driven hard; and it
can definitely produce signals that have many of the most prized features of tube amplifiers: warmth, detail,
subtle "compression" without coloration, and forgiving break up.
Explore!
The TooB Input Stage is part of the TooB Amp Emulation Toolkit. Typically, you would
use the following plugins in the following order.
- TooB Input Stage
- TooB Tone Stack
- Toob Power Stage
- Toob Cabinet Simulator
""";
lv2:port
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 0 ;
pg:group pstage:stage1 ;
lv2:symbol "trim1" ;
lv2:name "Trim";
lv2:default 0.0 ;
lv2:minimum -20.0 ;
lv2:maximum 20.0 ;
units:unit units:db ;
rdfs:comment "Trim input level (stage 1)" ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 1 ;
pg:group pstage:stage1 ;
lv2:symbol "locut1" ;
lv2:name "Lo Cut";
lv2:default 30.0 ;
lv2:minimum 30.0 ;
lv2:maximum 300.0 ;
units:unit units:hz;
lv2:designation param:cutoffFrequency ;
lv2:scalePoint [
rdfs:label "OFF" ;
rdf:value 30.0
];
rdfs:comment "Low frequency cutoff (stage 1). Set to minimum to disable." ;
], [
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 2 ;
pg:group pstage:stage1 ;
lv2:symbol "hicut1" ;
lv2:name "Hi Cut";
lv2:default 19000.0 ;
lv2:minimum 1000.0 ;
lv2:maximum 19000.0;
units:unit units:hz;
lv2:designation param:cutoffFrequency ;
lv2:scalePoint [
rdfs:label "OFF" ;
rdf:value 19000.0
];
rdfs:comment "High cutoff frequency (stage 1). Set to maximum to disable." ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
pg:group pstage:stage1 ;
lv2:index 3 ;
lv2:symbol "shape1" ;
lv2:name "Shape1";
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 1.0;
lv2:rangeStep 2;
lv2:portProperty lv2:enumeration ;
rdfs:comment "Wave Shape" ;
lv2:scalePoint [
rdfs:label "atan" ;
rdf:value 0.0
],
[
rdfs:label "triode" ;
rdf:value 1.0
];
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 4 ;
pg:group pstage:stage1 ;
lv2:symbol "gain1" ;
lv2:name "Gain";
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 1.0 ;
rdfs:comment "Gain (stage 1)"
],
[
a lv2:InputPort ,
lv2:ControlPort ;
pg:group pstage:stage1 ;
lv2:index 5 ;
lv2:symbol "bias1" ;
lv2:name "Bias";
lv2:default 0.0 ;
lv2:minimum -2.0 ;
lv2:maximum 2.0;
rdfs:comment "Waveshape bias (stage 1)"
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 6 ;
pg:group pstage:stage2 ;
lv2:symbol "trim2" ;
lv2:name "Trim";
lv2:default 0.0 ;
lv2:minimum -20.0 ;
lv2:maximum 20.0 ;
units:unit units:db ;
rdfs:comment "Trim input (stage 2)" ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 7 ;
pg:group pstage:stage2 ;
lv2:symbol "locut2" ;
lv2:name "Lo Cut";
lv2:default 30.0 ;
lv2:minimum 30.0 ;
lv2:maximum 300.0 ;
units:unit units:hz;
lv2:designation param:cutoffFrequency ;
lv2:scalePoint [
rdfs:label "OFF" ;
rdf:value 30.0
]
;
rdfs:comment "Low frequency cutoff (stage 2). Set to minimum to disable." ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 8 ;
pg:group pstage:stage2 ;
lv2:symbol "hicut2" ;
lv2:name "Hi Cut";
lv2:default 19000.0 ;
lv2:minimum 1000.0 ;
lv2:maximum 19000.0;
units:unit units:hz;
lv2:designation param:cutoffFrequency ;
lv2:scalePoint [
rdfs:label "OFF" ;
rdf:value 19000.0
];
rdfs:comment "High cutoff frequency (stage 2). Set to maximum to disable." ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
pg:group pstage:stage2 ;
lv2:index 9 ;
lv2:symbol "shape2" ;
lv2:name "Shape2";
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 1.0;
lv2:rangeStep 2;
lv2:portProperty lv2:enumeration ;
rdfs:comment "Wave Shape" ;
lv2:scalePoint [
rdfs:label "atan" ;
rdf:value 0.0
],
[
rdfs:label "triode" ;
rdf:value 1.0
]
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 10 ;
pg:group pstage:stage2 ;
lv2:symbol "gain2" ;
lv2:name "Gain";
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 1.0 ;
rdfs:comment "Gain (stage 2)"
],
[
a lv2:InputPort ,
lv2:ControlPort ;
pg:group pstage:stage2 ;
lv2:index 11 ;
lv2:symbol "bias2" ;
lv2:name "Bias";
lv2:default 0.0 ;
lv2:minimum -2.0 ;
lv2:maximum 2.0;
rdfs:comment "Waveshape bias (stage 2)"
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 12 ;
pg:group pstage:stage2 ;
lv2:symbol "gain2_enable" ;
lv2:name "Enable2";
lv2:default 1 ;
lv2:minimum 0 ;
lv2:maximum 1;
lv2:portProperty lv2:toggled ;
rdfs:comment "Enable gain stage 2" ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 13 ;
pg:group pstage:stage3 ;
lv2:symbol "trim3" ;
lv2:name "Trim";
lv2:default 0.0 ;
lv2:minimum -20.0 ;
lv2:maximum 20.0 ;
units:unit units:db ;
rdfs:comment "Trim input level (stage 3)." ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 14 ;
pg:group pstage:stage3 ;
lv2:symbol "locut3" ;
lv2:name "Lo Cut";
lv2:default 30.0 ;
lv2:minimum 30.0 ;
lv2:maximum 300.0 ;
units:unit units:hz;
lv2:designation param:cutoffFrequency ;
lv2:scalePoint [
rdfs:label "OFF" ;
rdf:value 30.0
];
rdfs:comment "Low frequency cutoff (stage 3). Set to minimum to disable." ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 15 ;
pg:group pstage:stage3 ;
lv2:symbol "hicut3" ;
lv2:name "Hi Cut";
lv2:default 19000.0 ;
lv2:minimum 1000.0 ;
lv2:maximum 19000.0;
units:unit units:hz;
lv2:designation param:cutoffFrequency ;
lv2:scalePoint [
rdfs:label "OFF" ;
rdf:value 19000
];
rdfs:comment "High cutoff frequency (stage 3). Set to minimum to disable." ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
pg:group pstage:stage3 ;
lv2:index 16 ;
lv2:symbol "shape3" ;
lv2:name "Shape3";
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 1.0;
lv2:rangeStep 2;
lv2:portProperty lv2:enumeration ;
rdfs:comment "Wave Shape" ;
lv2:scalePoint [
rdfs:label "atan" ;
rdf:value 0.0
],
[
rdfs:label "triode" ;
rdf:value 1.0
]
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 17 ;
pg:group pstage:stage3 ;
lv2:symbol "gain3" ;
lv2:name "Gain";
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 1.0 ;
rdfs:comment "Gain (stage 3)."
],
[
a lv2:InputPort ,
lv2:ControlPort ;
pg:group pstage:stage3 ;
lv2:index 18 ;
lv2:symbol "bias3" ;
lv2:name "Bias";
lv2:default 0.0 ;
lv2:minimum -2.0 ;
lv2:maximum 2.0;
rdfs:comment "Waveshape bias (stage 3)"
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 19 ;
pg:group pstage:stage3 ;
lv2:symbol "gain3_enable" ;
lv2:name "Enable3";
lv2:default 1 ;
lv2:minimum 0 ;
lv2:maximum 1;
lv2:portProperty lv2:toggled ;
rdfs:comment "Enable gain stage 3" ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 20 ;
lv2:symbol "sag" ;
lv2:name "Sag Vol";
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 1.0;
rdfs:comment "Transformer sag (volume)." ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 21 ;
lv2:symbol "sagd" ;
lv2:name "Sag Dist";
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 1.0;
rdfs:comment "Transformer sag (distortion)." ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 22 ;
lv2:symbol "master" ;
lv2:name "Master";
lv2:default -0.0 ;
lv2:minimum -60.0 ;
lv2:maximum 30.0;
units:unit units:db;
lv2:scalePoint [
rdfs:label "-60db" ;
rdf:value -60.0
] , [
rdfs:label "0db" ;
rdf:value 0.0
], [
rdfs:label "30db" ;
rdf:value -30.0
];
rdfs:comment "Master volume." ;
],
[
a lv2:AudioPort ,
lv2:InputPort ;
lv2:index 23 ;
lv2:symbol "in" ;
lv2:name "In"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 24 ;
lv2:symbol "out" ;
lv2:name "Out"
],[
a atom:AtomPort ,
lv2:InputPort;
atom:bufferType atom:Sequence ;
# atom:supports patch:Message;
lv2:designation lv2:control ;
lv2:index 25 ;
lv2:symbol "control" ;
lv2:name "Control" ;
rdfs:comment "Plugin to GUI communication" ;
] , [
a atom:AtomPort ,
lv2:OutputPort ;
atom:bufferType atom:Sequence ;
# atom:supports patch:Message;
lv2:designation lv2:control ;
lv2:index 26 ;
lv2:symbol "notify" ;
lv2:name "Notify" ;
rdfs:comment "Plugin to GUI communication" ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 27 ;
lv2:symbol "sagf" ;
lv2:name "SagF";
lv2:default 13.0 ;
lv2:minimum 5.0 ;
lv2:maximum 25.0;
rdfs:comment "Sag filter Fc." ;
]
.
+1 -1
View File
@@ -57,7 +57,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment "TooB spectrum analyzer" ;
mod:brand "TooB";
+1 -1
View File
@@ -57,7 +57,7 @@ tonestack:eqGroup
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
uiext:ui <http://two-play.com/plugins/toob-tone-stack-ui>;
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -40,7 +40,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
Emulation of a Boss CE-2 Chorus.
+1 -1
View File
@@ -41,7 +41,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
A straightforward no-frills digital delay.
+1 -1
View File
@@ -41,7 +41,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
Emulation of a Boss BF-2 Flanger, based on circuit analysis and simulation of the original.
@@ -41,7 +41,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
Digital emulation of a Boss BF-2 Flanger.
+1 -1
View File
@@ -41,7 +41,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
Toob Freeverb is an Lv2 implementation of the famous Freeverb reverb effect. FreeVerb delivers a well-balanced reverb with very little tonal coloration.
+1 -1
View File
@@ -41,7 +41,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
A 7 octave graphic equalizer, with frequencies chosen to be useful for EQ-ing guitar signals.
""" ;
+1 -1
View File
@@ -92,7 +92,7 @@ myprefix:output_group
doap:license <https://opensource.org/license/mit/> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 1 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
ui:ui <http://two-play.com/plugins/toob-looper-four-ui>;
+1 -1
View File
@@ -78,7 +78,7 @@ myprefix:output_group
doap:license <https://opensource.org/license/mit/> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 1 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
ui:ui <http://two-play.com/plugins/toob-looper-one-ui>;
@@ -1,726 +0,0 @@
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix units: <http://lv2plug.in/ns/extensions/units#> .
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
@prefix epp: <http://lv2plug.in/ns/ext/port-props#> .
@prefix uiext: <http://lv2plug.in/ns/extensions/ui#> .
@prefix idpy: <http://harrisonconsoles.com/lv2/inlinedisplay#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix mod: <http://moddevices.com/ns/mod#> .
@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
@prefix work: <http://lv2plug.in/ns/ext/worker#> .
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix patch: <http://lv2plug.in/ns/ext/patch#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ui: <http://lv2plug.in/ns/extensions/ui#> .
@prefix pprop: <http://lv2plug.in/ns/ext/port-props#> .
@prefix pipedal_ui: <http://github.com/rerdavies/pipedal/ui#> .
@prefix looperPrefix: <http://two-play.com/plugins/toob-looper#> .
@prefix myprefix: <http://two-play.com/plugins/toob-looper-stereo#> .
myprefix:stereoInGroup
a pg:StereoGroup, pg:InputGroup ;
rdfs:label "Stereo Input" ;
lv2:symbol "in_g" .
myprefix:steroOutGroup a pg:Group ;
a pg:StereoGroup, pg:OuputGroup ;
rdfs:label "Stereo Output" ;
lv2:symbol "out_g" .
myprefix:syncGroup
a pg:ControlGroup ;
lv2:name "Clock" ;
lv2:symbol "sync_g" .
myprefix:loop_main_group
a pg:ControlGroup ;
lv2:name "Main Loop" ;
lv2:symbol "loop_main_group" .
myprefix:loop2_group
a pg:ControlGroup ;
lv2:name "Loop 2" ;
lv2:symbol "loop2_group" .
myprefix:loop3_group
a pg:ControlGroup ;
lv2:name "Loop 3" ;
lv2:symbol "loop3_group" .
myprefix:loop4_group
a pg:ControlGroup ;
lv2:name "Loop 4" ;
lv2:symbol "loop4_group" .
myprefix:options_group
a pg:ControlGroup ;
lv2:name "Options" ;
lv2:symbol "options_group" .
myprefix:output_group
a pg:ControlGroup ;
lv2:name "Output" ;
lv2:symbol "output_group" .
<http://two-play.com/rerdavies#me>
a foaf:Person ;
foaf:name "Robin Davies" ;
foaf:mbox <mailto:rerdavies@gmail.com> ;
foaf:homepage <https://github.com/sponsors/rerdavies> .
<http://two-play.com/plugins/toob-looper-stereo>
a lv2:Plugin ,
lv2:UtilityPlugin ;
doap:name "TooB 4Looper (stereo)"
;
doap:license <https://opensource.org/license/mit/> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 1 ;
lv2:microVersion 57 ;
ui:ui <http://two-play.com/plugins/toob-looper-stereo-ui>;
patch:readable
looperPrefix:audioFile;
patch:writable
looperPrefix:audioFile;
lv2:extensionData state:interface ;
rdfs:comment """
A Stereo Looper.
- A single tap on the bound midi controller will start recording.
- A second tap with mark the end of the loop, and start playback.
- Subsequent taps will toggle overdub mode. When overdubbing, new audio input will be blended with the existing loop.
- A touble tap will stop playback.
- To erase an overdub, long press the MIDI controller. The loop will return to the state that it was in before the overdub was made.
""" ;
mod:brand "TooB";
mod:label "4Looper";
lv2:optionalFeature lv2:hardRTCapable;
lv2:port
################# MAIN Loop
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 0;
lv2:symbol "stop1" ;
lv2:name "⏹";
rdfs:comment "Reset loop 1.";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop_main_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 1;
lv2:symbol "record1" ;
lv2:name "⏺";
rdfs:comment "Record/Overdub loop 1";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop_main_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 2;
lv2:symbol "record_led1" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "red";
pg:group myprefix:loop_main_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 3;
lv2:symbol "play1" ;
lv2:name "⏵";
rdfs:comment "Play Loop 1. Click again to stop.";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop_main_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 4;
lv2:symbol "play_led1" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "green";
pg:group myprefix:loop_main_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 5;
lv2:symbol "position1" ;
rdfs:comment "Time";
lv2:name "\u00A0\u00A0\u00A0\u00A0";
units:unit units:pc ;
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 100.0 ;
pg:group myprefix:loop_main_group ;
],
################# Loop2
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 6;
lv2:symbol "stop2" ;
lv2:name "⏹";
rdfs:comment "Reset loop 2.";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop2_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 7;
lv2:symbol "record2" ;
lv2:name "⏺";
rdfs:comment "Record/Overdub loop 2";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop2_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 8;
lv2:symbol "record_led2" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "red";
pg:group myprefix:loop2_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 9;
lv2:symbol "play2" ;
lv2:name "⏵";
rdfs:comment "Play Loop 2. Click again to stop.";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop2_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 10;
lv2:symbol "play_led2" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "green";
pg:group myprefix:loop2_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 11;
lv2:symbol "position2" ;
rdfs:comment "Time";
lv2:name "\u00A0\u00A0\u00A0\u00A0";
units:unit units:pc ;
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 100.0 ;
pg:group myprefix:loop2_group ;
],
################# Loop3
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 12;
lv2:symbol "stop3" ;
lv2:name "⏹";
rdfs:comment "Reset loop 3.";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop3_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 13;
lv2:symbol "record3" ;
lv2:name "⏺";
rdfs:comment "Record/Overdub loop 3";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop3_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 14;
lv2:symbol "record_led3" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "red";
pg:group myprefix:loop3_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 15;
lv2:symbol "play3" ;
lv2:name "⏵";
rdfs:comment "Play Loop 3. Click again to stop.";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop3_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 16;
lv2:symbol "play_led3" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "green";
pg:group myprefix:loop3_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 17;
lv2:symbol "position3" ;
rdfs:comment "Time";
lv2:name "\u00A0\u00A0\u00A0\u00A0";
units:unit units:pc ;
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 100.0 ;
pg:group myprefix:loop3_group ;
],
################# Loop4
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 18;
lv2:symbol "stop4" ;
lv2:name "⏹";
rdfs:comment "Reset loop 4.";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop4_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 19;
lv2:symbol "record4" ;
lv2:name "⏺";
rdfs:comment "Record/Overdub loop 4";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop4_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 20;
lv2:symbol "record_led4" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "red";
pg:group myprefix:loop4_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 21;
lv2:symbol "play4" ;
lv2:name "⏵";
rdfs:comment "Play Loop 4. Click again to stop.";
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled,pprop:trigger;
pg:group myprefix:loop4_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 22;
lv2:symbol "play_led4" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "green";
pg:group myprefix:loop4_group ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 23;
lv2:symbol "position4" ;
rdfs:comment "Time";
lv2:name "\u00A0\u00A0\u00A0\u00A0";
units:unit units:pc ;
lv2:default 0.0 ;
lv2:minimum 0.0 ;
lv2:maximum 100.0 ;
pg:group myprefix:loop4_group ;
],
###### Sync
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 24;
lv2:symbol "bar_led" ;
lv2:name "\u00A0\u00A0Bar\u00A0\u00A0";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "red";
pg:group myprefix:syncGroup ;
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 25;
lv2:symbol "beat_led" ;
lv2:name "\u00A0Beat\u00A0";
lv2:portProperty lv2:toggled ;
lv2:default 0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pipedal_ui:ledColor "red";
pg:group myprefix:syncGroup ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 26;
lv2:symbol "tempo" ;
lv2:name "Tempo";
lv2:default 120.0 ;
lv2:minimum 40.0;
lv2:maximum 240.0;
units:unit units:bpm;
rdfs:comment "Tempo in quarter-notes per minute"
; pg:group myprefix:syncGroup
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 27;
lv2:symbol "timesig" ;
rdfs:comment "Time Signature";
lv2:name "TimeSig";
lv2:default 2 ;
lv2:minimum 0;
lv2:maximum 5;
lv2:portProperty lv2:enumeration ;
lv2:scalePoint [
rdfs:label "2/2" ;
rdf:value 0
] , [
rdfs:label "3/4" ;
rdf:value 1
] , [
rdfs:label "4/4" ;
rdf:value 2
] ,
[
rdfs:label "5/4" ;
rdf:value 3
] ,
[
rdfs:label "6/8" ;
rdf:value 4
] ,
[
rdfs:label "7/4" ;
rdf:value 5
];
pg:group myprefix:syncGroup
],
########## Options
[
lv2:name "Count In" ;
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 28;
lv2:symbol "rec_count_in" ;
lv2:default 1.0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled;
rdfs:comment "Whether to count in when starting the main loop.";
pg:group myprefix:options_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 29;
lv2:symbol "bars" ;
lv2:name "Bars";
lv2:default 0 ;
lv2:minimum 0;
lv2:maximum 32;
units:unit units:bar ;
lv2:portProperty lv2:integer;
rdfs:comment "Loop length in bars. Set to minimum for arbitrary length loops.";
pg:group myprefix:options_group ;
lv2:scalePoint [
rdfs:label "Free" ;
rdf:value 0.0
]
],
[
lv2:name "Rec Sync" ;
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 30;
lv2:symbol "rec_sync_option" ;
lv2:default 1.0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled;
rdfs:comment "Whether to sync the start of the loop with the main loop when recording secondary loops.";
pg:group myprefix:options_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 31;
lv2:symbol "loop_end_option" ;
lv2:name "On Rec End";
lv2:default 1.0 ;
lv2:minimum 1.0;
lv2:maximum 2.0;
lv2:portProperty lv2:enumeration;
rdfs:comment "(One-control MIDI operation only) Whether to go to OVERDUB or PLAY state when recording of the main loop ends.";
lv2:scalePoint [
rdfs:label "REC->PLAY" ;
rdf:value 1.0
] , [
rdfs:label "REC->DUB" ;
rdf:value 2.0
] ;
pg:group myprefix:options_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 32;
lv2:symbol "level" ;
lv2:name "Level";
lv2:name "Level";
pg:group myprefix:output_group ;
lv2:default 0 ;
lv2:minimum -60.0;
lv2:maximum 30.0;
lv2:scalePoint [
rdfs:label "-INF" ;
rdf:value -60.0
];
units:unit units:db
],
################# Audio/Control Busses
[
a lv2:AudioPort ,
lv2:InputPort ;
lv2:index 33 ;
lv2:symbol "in" ;
lv2:name "In";
pg:group myprefix:stereoInGroup ;
lv2:designation pg:left
],
[
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 34 ;
lv2:symbol "out" ;
lv2:name "Out" ;
pg:group myprefix:stereoOutGroup ;
lv2:designation pg:left
],
[
a atom:AtomPort ,
lv2:InputPort ;
lv2:index 35 ;
lv2:symbol "controlIn" ;
lv2:name "ControlIn"
],
[
a atom:AtomPort ,
lv2:OutputPort ;
lv2:index 36 ;
lv2:symbol "controlOut" ;
lv2:name "ControlOut"
],
[
a lv2:AudioPort ,
lv2:InputPort ;
lv2:index 37;
lv2:symbol "inR" ;
lv2:name "InR" ;
pg:group myprefix:stereoInGroup ;
lv2:designation pg:right
],
[
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 38 ;
lv2:symbol "outR" ;
lv2:name "OutR" ;
pg:group myprefix:stereoOutGroup ;
lv2:designation pg:right
]
;
.
<http://two-play.com/plugins/toob-record-stereo-ui>
a ui:X11UI ;
lv2:binary <.so>;
lv2:extensionData ui:resize ;
lv2:extensionData ui:idleInterface ;
lv2:requiredFeature ui:idleInterface ;
.
+1 -1
View File
@@ -67,7 +67,7 @@ toobml:sagGroup
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
The TooB ML Amplifier plugin provides emulation of a variety of amplifiers and overdrive pedals that are implemented
using neural-network-based machine learning models of real amplifiers.
+1 -1
View File
@@ -40,7 +40,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
Remix a stereo input signal.
@@ -61,7 +61,7 @@ toobNam:eqGroup
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
A port of Steven Atkinson's Neural Amp Modeler to LV2.
+1 -1
View File
@@ -54,7 +54,7 @@ noisegate:envelope_group
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
A noise gate is an audio processing tool that controls the volume of an audio signal
by allowing it to pass through only when it exceeds a set threshold.
+1 -1
View File
@@ -40,7 +40,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
A loose emulation of an MXR® Phase 90 Phaser.
+1 -1
View File
@@ -60,7 +60,7 @@ toobPlayer:seek
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
Play audio files. Audio files can optionally be loooped by pressing the "Set loop" button.
+1 -1
View File
@@ -51,7 +51,7 @@ recordPrefix:audioFile
doap:license <https://opensource.org/license/mit/> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 1 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
ui:ui <http://two-play.com/plugins/toob-record-mono-ui>;
+1 -1
View File
@@ -88,7 +88,7 @@ myprefix:loop3_group
doap:license <https://opensource.org/license/mit/> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 1 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
ui:ui <http://two-play.com/plugins/toob-record-stereo-ui>;
+1 -1
View File
@@ -40,7 +40,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
TooB Tuner is a chromatic guitar tuner.
""" ;
+1 -1
View File
@@ -39,7 +39,7 @@
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 0 ;
lv2:microVersion 64 ;
lv2:microVersion 65 ;
rdfs:comment """
Volume control.
Binary file not shown.
Binary file not shown.