1
2<http://gareus.org/oss/lv2/fat1@URISUFFIX@>
3	a lv2:Plugin, doap:Project, lv2:PitchPlugin;
4	doap:license <http://usefulinc.com/doap/licenses/gpl>;
5	doap:maintainer <http://gareus.org/rgareus#me>;
6	doap:name "x42-Autotune@NAMESUFFIX@";
7	@VERSION@
8	@UITTL@
9	lv2:optionalFeature lv2:hardRTCapable, log:log;
10	lv2:requiredFeature urid:map;
11	@MODBRAND@
12	@MODLABEL@
13	@SIGNATURE@
14	lv2:port [
15		a atom:AtomPort, lv2:InputPort;
16		atom:bufferType atom:Sequence;
17		atom:supports midi:MidiEvent;
18		lv2:index 0;
19		lv2:symbol "midiin";
20		lv2:name "MIDI In";
21		lv2:portProperty lv2:isSideChain;
22	] , [
23		a lv2:AudioPort ,
24			lv2:InputPort ;
25		lv2:index 1 ;
26		lv2:symbol "in" ;
27		lv2:name "Input"
28	] , [
29		a lv2:AudioPort ,
30			lv2:OutputPort ;
31		lv2:index 2 ;
32		lv2:symbol "out" ;
33		lv2:name "Output"
34	] , [
35		a lv2:InputPort ,
36			lv2:ControlPort ;
37		lv2:index 3 ;
38		lv2:symbol "mode" ;
39		lv2:name "Mode";
40		lv2:default 0 ;
41		lv2:minimum 0 ;
42		lv2:maximum 2 ;
43		lv2:portProperty lv2:integer, lv2:enumeration;
44		lv2:scalePoint [ rdfs:label  "Auto"; rdf:value 0 ; ] ;
45		lv2:scalePoint [ rdfs:label  "MIDI"; rdf:value 1 ; ] ;
46		lv2:scalePoint [ rdfs:label  "Manual"; rdf:value 2 ; ] ;
47	] , [
48		a lv2:InputPort ,
49			lv2:ControlPort ;
50		lv2:index 4 ;
51		lv2:symbol "channelf" ;
52		lv2:name "Filter Channel";
53		lv2:minimum 0 ;
54		lv2:maximum 16 ;
55		lv2:default 0;
56		lv2:scalePoint [ rdfs:label "Any"; rdf:value 0 ];
57		lv2:scalePoint [ rdfs:label "01" ; rdf:value 1 ];
58		lv2:scalePoint [ rdfs:label "02" ; rdf:value 2 ];
59		lv2:scalePoint [ rdfs:label "03" ; rdf:value 3 ];
60		lv2:scalePoint [ rdfs:label "04" ; rdf:value 4 ];
61		lv2:scalePoint [ rdfs:label "05" ; rdf:value 5 ];
62		lv2:scalePoint [ rdfs:label "06" ; rdf:value 6 ];
63		lv2:scalePoint [ rdfs:label "07" ; rdf:value 7 ];
64		lv2:scalePoint [ rdfs:label "08" ; rdf:value 8 ];
65		lv2:scalePoint [ rdfs:label "09" ; rdf:value 9 ];
66		lv2:scalePoint [ rdfs:label "10" ; rdf:value 10 ];
67		lv2:scalePoint [ rdfs:label "11" ; rdf:value 11 ];
68		lv2:scalePoint [ rdfs:label "12" ; rdf:value 12 ];
69		lv2:scalePoint [ rdfs:label "13" ; rdf:value 13 ];
70		lv2:scalePoint [ rdfs:label "14" ; rdf:value 14 ];
71		lv2:scalePoint [ rdfs:label "15" ; rdf:value 15 ];
72		lv2:scalePoint [ rdfs:label "16" ; rdf:value 16 ];
73		lv2:portProperty lv2:integer, lv2:enumeration;
74		rdfs:comment "MIDI Channel (1..16) on which the filter is active; 0: any)." ;
75	] , [
76		a lv2:InputPort ,
77			lv2:ControlPort ;
78		lv2:index 5 ;
79		lv2:symbol "tuning" ;
80		lv2:name "Tuning";
81		lv2:default 440.0 ;
82		lv2:minimum 400.0 ;
83		lv2:maximum 480.0 ;
84		units:unit units:hz;
85		pprop:rangeSteps 401;
86		rdfs:comment "This sets the frequency corresponding to 'A' pitch, in other words the required tuning. This will be the default 440 Hz in most cases.";
87	] , [
88		a lv2:InputPort ,
89			lv2:ControlPort ;
90		lv2:index 6 ;
91		lv2:symbol "bias" ;
92		lv2:name "Bias";
93		lv2:default 0.5 ;
94		lv2:minimum 0.0 ;
95		lv2:maximum 1.0 ;
96		pprop:rangeSteps 271;
97		rdfs:comment "Normally the pitch estimator will select the enabled note closest to the measured pitch. The Bias control adds some preference for the current note - this allows it to go off-tune more than would be the case otherwise.";
98	] , [
99		a lv2:InputPort ,
100			lv2:ControlPort ;
101		lv2:index 7 ;
102		lv2:symbol "filter" ;
103		lv2:name "Filter";
104		lv2:default 0.1 ;
105		lv2:minimum 0.02 ;
106		lv2:maximum 0.5 ;
107		lv2:scalePoint [ rdfs:label  "Slow"; rdf:value 0.5 ; ] ;
108		lv2:scalePoint [ rdfs:label  "Med";  rdf:value 0.1 ; ] ;
109		lv2:scalePoint [ rdfs:label  "Fast"; rdf:value 0.02 ; ] ;
110		lv2:portProperty pprop:logarithmic;
111		pprop:rangeSteps 201;
112		rdfs:comment "This sets the amount of smoothing on the pitch correction while the current note does not change. If it does change the filter is bypassed and the correction jumps immediately to the new value.";
113	] , [
114		a lv2:InputPort ,
115			lv2:ControlPort ;
116		lv2:index 8 ;
117		lv2:symbol "corr" ;
118		lv2:name "Correction";
119		lv2:default 1.0 ;
120		lv2:minimum 0.0 ;
121		lv2:maximum 1.0 ;
122		pprop:rangeSteps 271;
123		rdfs:comment "Determines how much of the estimated pitch error gets corrected. Full correction may remove expression or vibrato.";
124	] , [
125		a lv2:InputPort ,
126			lv2:ControlPort ;
127		lv2:index 9 ;
128		lv2:symbol "offset" ;
129		lv2:name "Offset";
130		lv2:default 0.0 ;
131		lv2:minimum -2.0 ;
132		lv2:maximum  2.0 ;
133		pprop:rangeSteps 401;
134		units:unit units:semitone12TET;
135		rdfs:comment "Adds an offset in the range of +/- two semitones to the pitch correction. With the Correction control set to zero the result is a constant pitch change.";
136	] , [
137		a lv2:InputPort ,
138			lv2:ControlPort ;
139		lv2:index 10 ;
140		lv2:symbol "bendrange" ;
141		lv2:name "Pitch Bend Range";
142		lv2:default 2.0 ;
143		lv2:minimum 0.0 ;
144		lv2:maximum 7.0 ;
145		units:unit units:semitone12TET;
146		rdfs:comment "Configures the effect range of MIDI pitch-bend messages. Pitch-bend is added to the pitch correction offset.";
147	] , [
148		a lv2:InputPort ,
149			lv2:ControlPort ;
150		lv2:index 11 ;
151		lv2:symbol "fastmode" ;
152		lv2:name "Fast Correction";
153		lv2:default 0 ;
154		lv2:minimum 0 ;
155		lv2:maximum 1 ;
156		lv2:portProperty lv2:integer, lv2:toggled;
157		rdfs:comment "Reduces latency by allowing initially uncorrected signal. This can be useful in live situations.";
158	] , [
159		a lv2:InputPort ,
160			lv2:ControlPort ;
161		lv2:index 12 ;
162		lv2:symbol "m00" ;
163		lv2:name "C";
164		lv2:default 1 ;
165		lv2:minimum 0 ;
166		lv2:maximum 1 ;
167		lv2:portProperty lv2:integer, lv2:toggled;
168	] , [
169		a lv2:InputPort ,
170			lv2:ControlPort ;
171		lv2:index 13 ;
172		lv2:symbol "m01" ;
173		lv2:name "C#";
174		lv2:default 1 ;
175		lv2:minimum 0 ;
176		lv2:maximum 1 ;
177		lv2:portProperty lv2:integer, lv2:toggled;
178	] , [
179		a lv2:InputPort ,
180			lv2:ControlPort ;
181		lv2:index 14 ;
182		lv2:symbol "m02" ;
183		lv2:name "D";
184		lv2:default 1 ;
185		lv2:minimum 0 ;
186		lv2:maximum 1 ;
187		lv2:portProperty lv2:integer, lv2:toggled;
188	] , [
189		a lv2:InputPort ,
190			lv2:ControlPort ;
191		lv2:index 15 ;
192		lv2:symbol "m03" ;
193		lv2:name "D#";
194		lv2:default 1 ;
195		lv2:minimum 0 ;
196		lv2:maximum 1 ;
197		lv2:portProperty lv2:integer, lv2:toggled;
198	] , [
199		a lv2:InputPort ,
200			lv2:ControlPort ;
201		lv2:index 16 ;
202		lv2:symbol "m04" ;
203		lv2:name "E";
204		lv2:default 1 ;
205		lv2:minimum 0 ;
206		lv2:maximum 1 ;
207		lv2:portProperty lv2:integer, lv2:toggled;
208	] , [
209		a lv2:InputPort ,
210			lv2:ControlPort ;
211		lv2:index 17 ;
212		lv2:symbol "m05" ;
213		lv2:name "F";
214		lv2:default 1 ;
215		lv2:minimum 0 ;
216		lv2:maximum 1 ;
217		lv2:portProperty lv2:integer, lv2:toggled;
218	] , [
219		a lv2:InputPort ,
220			lv2:ControlPort ;
221		lv2:index 18 ;
222		lv2:symbol "m06" ;
223		lv2:name "F#";
224		lv2:default 1 ;
225		lv2:minimum 0 ;
226		lv2:maximum 1 ;
227		lv2:portProperty lv2:integer, lv2:toggled;
228	] , [
229		a lv2:InputPort ,
230			lv2:ControlPort ;
231		lv2:index 19 ;
232		lv2:symbol "m07" ;
233		lv2:name "G";
234		lv2:default 1 ;
235		lv2:minimum 0 ;
236		lv2:maximum 1 ;
237		lv2:portProperty lv2:integer, lv2:toggled;
238	] , [
239		a lv2:InputPort ,
240			lv2:ControlPort ;
241		lv2:index 20 ;
242		lv2:symbol "m08" ;
243		lv2:name "G#";
244		lv2:default 1 ;
245		lv2:minimum 0 ;
246		lv2:maximum 1 ;
247		lv2:portProperty lv2:integer, lv2:toggled;
248	] , [
249		a lv2:InputPort ,
250			lv2:ControlPort ;
251		lv2:index 21 ;
252		lv2:symbol "m09" ;
253		lv2:name "A";
254		lv2:default 1 ;
255		lv2:minimum 0 ;
256		lv2:maximum 1 ;
257		lv2:portProperty lv2:integer, lv2:toggled;
258	] , [
259		a lv2:InputPort ,
260			lv2:ControlPort ;
261		lv2:index 22 ;
262		lv2:symbol "m10" ;
263		lv2:name "A#";
264		lv2:default 1 ;
265		lv2:minimum 0 ;
266		lv2:maximum 1 ;
267		lv2:portProperty lv2:integer, lv2:toggled;
268	] , [
269		a lv2:InputPort ,
270			lv2:ControlPort ;
271		lv2:index 23 ;
272		lv2:symbol "m11" ;
273		lv2:name "B";
274		lv2:default 1 ;
275		lv2:minimum 0 ;
276		lv2:maximum 1 ;
277		lv2:portProperty lv2:integer, lv2:toggled;
278	] , [
279		a lv2:OutputPort ,
280			lv2:ControlPort ;
281		lv2:index 24 ;
282		lv2:symbol "nmask" ;
283		lv2:name "Note Mask";
284		lv2:minimum 0 ;
285		lv2:maximum 4096 ;
286		lv2:portProperty lv2:integer;
287	] , [
288		a lv2:OutputPort ,
289			lv2:ControlPort ;
290		lv2:index 25 ;
291		lv2:symbol "nset" ;
292		lv2:name "Note Set";
293		lv2:minimum 0 ;
294		lv2:maximum 4096 ;
295		lv2:portProperty lv2:integer;
296	] , [
297		a lv2:OutputPort ,
298			lv2:ControlPort ;
299		lv2:index 26 ;
300		lv2:symbol "bend" ;
301		lv2:name "Pitch Bend";
302		lv2:minimum -1.0 ;
303		lv2:maximum  1.0 ;
304	] , [
305		a lv2:OutputPort ,
306			lv2:ControlPort ;
307		lv2:index 27 ;
308		lv2:symbol "error" ;
309		lv2:name "Pitch Error";
310		lv2:minimum -1.0 ;
311		lv2:maximum  1.0 ;
312	] , [
313		a lv2:OutputPort ,
314			lv2:ControlPort ;
315		lv2:index 28 ;
316		lv2:symbol "latency" ;
317		lv2:name "latency";
318		lv2:minimum 0 ;
319		lv2:maximum 4096;
320		lv2:portProperty lv2:reportsLatency, lv2:integer;
321		units:unit units:frame;
322