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