caps.html 53 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716
  1. <html>
  2. <head>
  3. <title>The CAPS Audio Plugin Suite</title>
  4. <style type=text/css>
  5. body, table {
  6. font-family: Helvetica, Tahoma, Geneva, sans-serif;
  7. }
  8. h1, h2 {
  9. padding-top: 2pt;
  10. padding-bottom: 2pt;
  11. border-bottom: solid 1px black;
  12. sborder-top: solid 1px black;
  13. sbackground-color: #eeeeee;
  14. stext-align: center;
  15. }
  16. h3 {
  17. width: 70%;
  18. border-bottom: solid 1px #cccccc;
  19. margin-top: 24pt;
  20. }
  21. h4 {
  22. width: 70%;
  23. border-bottom: dotted 1px #dddddd;
  24. }
  25. a {
  26. font-weight: normal;
  27. text-decoration: none;
  28. }
  29. a:hover {
  30. text-decoration: underline;
  31. }
  32. a:visited {
  33. color: #7f7f00;
  34. }
  35. a:link {
  36. color: #1d30e7;
  37. }
  38. a.quitte,a.quitte:visited {
  39. text-decoration: none;
  40. }
  41. a.foot {
  42. color: #7588ff;
  43. }
  44. td.sm {
  45. font-size: 90%;
  46. }
  47. td.q {
  48. padding-left: 20px;
  49. padding-right: 20px;
  50. padding-top: 16px;
  51. padding-bottom: 16px;
  52. }
  53. td.q a, td.q a:visited {
  54. text-decoration: none;
  55. color: #ffffff;
  56. }
  57. td.q a.quitte {
  58. font-size: 16pt;
  59. }
  60. #gray {background-color: #dddddd;}
  61. #c0 {background-color: #5da0d7;}
  62. #c1 {background-color: #efaa59;}
  63. #c2 {background-color: #efcb30;}
  64. #c3 {background-color: #84a68c;}
  65. #c4 {background-color: #a80d1b;}
  66. #c5 {background-color: #7a6fa0;} // originally night magenta
  67. sup {
  68. font-size: 30%;
  69. }
  70. div.foot {
  71. padding-top: 2pt;
  72. padding-bottom: 2pt;
  73. border-top: solid 1px black;
  74. border-bottom: solid 1px black;
  75. background-color: #eeeeee;
  76. }
  77. p.attrib {
  78. font-size: 90%;
  79. text-align: right;
  80. }
  81. #foot {
  82. font-size: 90%;
  83. }
  84. #bg {
  85. //padding-top: 1pt;
  86. //padding-bottom: 1pt;
  87. font-size: 120%;
  88. }
  89. #warn {
  90. color: #ff0000;
  91. }
  92. h3 {margin-top: 18em;}
  93. h4 {font-size: 11pt; padding-top: 2em;}
  94. h5 {font-size: medium; margin-bottom: .5em;}
  95. p {max-width: 42em;}
  96. body {margin: 18px;}
  97. p#foot {border-top: solid 1px black;}
  98. h3 {font-size: 14pt; border-bottom: solid 1px black;}
  99. h4 {color: #aa0000; border-bottom: solid 1px black;}
  100. h4 {margin-top: 21px;margin-bottom: 0px;}
  101. ul {max-width: 36em; margin-bottom: 1em;}
  102. ul#plugs {margin-top: 1em; font-size:80%;}
  103. li.bg {font-size: large;}
  104. li {margin-bottom: .4em;}
  105. table {padding-bottom:1em; border-bottom: solid 1px black;margin-bottom: 12px;} </style>
  106. </head>
  107. <body>
  108. <center>
  109. <div align=left>
  110. <h2>The CAPS Audio Plugin Suite</h2> <table border=0 width=100% cellpadding=0 cellspacing=0>
  111. <tr>
  112. <td align=left width=20%>
  113. <b>Release 0.4.5</b>
  114. </td>
  115. <td rowspan=2 align=center>
  116. <a href=http://quitte.de/dsp/caps.html title="Yes, this page, only guaranteed fresh!">http://quitte.de/dsp/caps.html</a>
  117. </td>
  118. <td align=right width=20%>
  119. <b>Tim Goetze</b>
  120. </td>
  121. </tr>
  122. <tr>
  123. <td align=left>
  124. March 26, 2011 </td>
  125. <td align=right>
  126. <a href=mailto:tim@quitte.de?subject=CAPS>tim@quitte.de</a>
  127. </td>
  128. </tr>
  129. <tr>
  130. </tr>
  131. </table>
  132. <ul>
  133. <li class=bg><a href=#FrontMatter>Front Matter</a></li>
  134. <li class=bg><a href=#Download>Download</a></li>
  135. <li class=bg><a href=#Installation>Installation</a></li>
  136. <li class=bg><a href=#WhatYouShouldKnow>What You Should Know</a></li>
  137. <li class=bg><a href=#GimmeASetupAlready>Give me a Guitar Setup Already!</a></li>
  138. <li class=bg><a href=#ThePlugins>The Plugins</a>
  139. <ul id=plugs type=square>
  140. <li><a href=#Generic>Generic</a></li><ul type=circle>
  141. <li><a href=#Eq>Eq</a> &ndash; classic ten-band equalizer</li>
  142. <li><a href=#Eq2x2>Eq2x2</a> &ndash; stereo version of Eq</li>
  143. <li><a href=#Compress>Compress</a> &ndash; a compressor suitable for single instruments</li>
  144. <li><a href=#Pan>Pan</a> &ndash; pan and optional width</li>
  145. <li><a href=#Narrower>Narrower</a> &ndash; stereo image width reduction, useful for headphone listening</li>
  146. </ul>
  147. <li><a href=#Emulation>Emulation</a></li><ul type=circle>
  148. <li><a href=#PreampIII>PreampIII</a> &ndash; simplistic tube preamp circuit</li>
  149. <li><a href=#PreampIV>PreampIV</a> &ndash; simplistic tube preamp with tone controls</li>
  150. <li><a href=#ToneStack>ToneStack</a> &ndash; tube preamp tone controls</li>
  151. <li><a href=#ToneStackLT>ToneStackLT</a> &ndash; tube preamp tone controls 44.1</li>
  152. <li><a href=#AmpIII>AmpIII</a> &ndash; tube amp</li>
  153. <li><a href=#AmpIV>AmpIV</a> &ndash; tube amp with tone controls</li>
  154. <li><a href=#AmpV>AmpV</a> &ndash; tube amp with power supply modulation</li>
  155. <li><a href=#AmpVTS>AmpVTS</a> &ndash; tube amp with a ToneStack circuit</li>
  156. <li><a href=#CabinetI>CabinetI</a> &ndash; emulation of classical speaker cabinets</li>
  157. <li><a href=#CabinetII>CabinetII</a> &ndash; refined version of CabinetI</li>
  158. <li><a href=#Clip>Clip</a> &ndash; hard 'transistor' clipping</li>
  159. </ul>
  160. <li><a href=#Effects>Effects</a></li><ul type=circle>
  161. <li><a href=#ChorusI>ChorusI</a> &ndash; a versatile classic</li>
  162. <li><a href=#StereoChorusI>StereoChorusI</a> &ndash; when one channel is not enough</li>
  163. <li><a href=#ChorusII>ChorusII</a> &ndash; variant with fractal modulation</li>
  164. <li><a href=#StereoChorusII>StereoChorusII</a> &ndash; stereo variant with fractal modulation</li>
  165. <li><a href=#PhaserI>PhaserI</a> &ndash; another classic</li>
  166. <li><a href=#PhaserII>PhaserII</a> &ndash; variant with fractal modulation</li>
  167. <li><a href=#SweepVFI>SweepVFI</a> &ndash; resonant filter modulated by a fractal</li>
  168. <li><a href=#SweepVFII>SweepVFII</a> &ndash; resonant filter modulated by a fractal</li>
  169. <li><a href=#AutoWah>AutoWah</a> &ndash; resonant envelope-following filter</li>
  170. <li><a href=#Scape>Scape</a> &ndash; stereo delay plus resonant filters, fractal modulation</li>
  171. </ul>
  172. <li><a href=#Generators>Generators</a></li><ul type=circle>
  173. <li><a href=#VCOs>VCOs</a> &ndash; sawtooth / triangle / square wave generator</li>
  174. <li><a href=#VCOd>VCOd</a> &ndash; double VCO with detune and hard sync</li>
  175. <li><a href=#CEO>CEO</a> &ndash; chief executive oscillator</li>
  176. <li><a href=#Sin>Sin</a> &ndash; testing and tuning helper</li>
  177. <li><a href=#White>White</a> &ndash; white noisz</li>
  178. <li><a href=#Lorenz>Lorenz</a> &ndash; a fractal singing in a broken voice</li>
  179. <li><a href=#Roessler>Roessler</a> &ndash; a roaring fractal</li>
  180. </ul>
  181. <li><a href=#Reverb>Reverb</a></li><ul type=circle>
  182. <li><a href=#JVRev>JVRev</a> &ndash; a digital reverb technology classic</li>
  183. <li><a href=#Plate>Plate</a> &ndash; versatile refined digital reverb</li>
  184. <li><a href=#Plate2x2>Plate2x2</a> &ndash; 2-in, 2-out version of Plate</li>
  185. </ul>
  186. <li><a href=#Others>Others</a></li><ul type=circle>
  187. <li><a href=#Click>Click</a> &ndash; practice, practice, practice!</li>
  188. <li><a href=#Dirac>Dirac</a> &ndash; one-sample impulse generator</li>
  189. <li><a href=#HRTF>HRTF</a> &ndash; head-related transfer function</li>
  190. </ul>
  191. </ul></li>
  192. <li class=bg><a href=#Appendix>Appendix</a></li>
  193. <ul type=square>
  194. <li><a href=#DataSheet>Plugin Data Sheets</a></li>
  195. <li><a href=#Changelog>Changelog</a></li>
  196. </ul>
  197. </ul>
  198. &nbsp;<br>
  199. <a name=FrontMatter><h3>Front Matter</h3></a>
  200. <p>
  201. <b>CAPS</b>, the C* Audio Plugin Suite, is a collection of
  202. refined LADSPA audio plugins capable of (and mainly
  203. intended for) realtime operation. The suite includes DSP units emulating
  204. instrument amplifiers, stomp-box classics,
  205. versatile 'virtual analogue' oscillators,
  206. fractal oscillation, reverb, equalization and more.
  207. </p>
  208. <p>
  209. My favourite user's quote:
  210. <i>&ldquo;... if your amps beat your plugins, they
  211. are *very good* amps.. ;-)&rdquo;</i> &ndash; Thanks, Pete!
  212. </p>
  213. <p>
  214. Most of the suite is of my own invention,
  215. while some plugins are rewrites of
  216. existing designs, included for
  217. excellence or interest.
  218. Inspiring code was authored by
  219. (in no particular order):
  220. Andrew Simper, Perry Cook, Gary Scavone,
  221. Steve Harris, Richard Dobson, Bram de Jong,
  222. Robert Bristow-Johnson and others.
  223. </p>
  224. <p>
  225. The <a href=#ToneStack>ToneStack</a> plugins and the
  226. tone controls of the <a href=#AmpVTS>AmpVTS</a> unit
  227. have been designed and implemented by
  228. <a href=http://ccrma.stanford.edu/~dtyeh/>David Yeh</a> at
  229. <a href=http://ccrma.stanford.edu/>CCRMA</a>.
  230. </p>
  231. <p>
  232. Invaluable suggestions, bug hunting and fixing and
  233. numerous patient reminders
  234. of the sorry state of affairs
  235. have been graciously
  236. provided by (among others and in no particular order)
  237. Sampo Savolainen, Damon Chaplin, Paul Winkler and Niclas Wretstr&ouml;m.
  238. </p>
  239. <p>
  240. All of CAPS is <a href=COPYING>free software</a> and distributed
  241. in source code.
  242. </p>
  243. &nbsp;<br>
  244. <h5>* What's with the C?</h5>
  245. <p>
  246. So what does the <i>C</i> in the name stand for? Honestly, I don't know.
  247. </p>
  248. <p>
  249. <i>Complete?</i> Not yet. <br>
  250. <i>C</i> as in the programming language? The source is C++.<br>
  251. <i>Crap?</i> Heaven forbid!<br>
  252. <i>Cute?</i> Why not ...<br>
  253. <i>Common?</i> Not bad either. <br>
  254. <i>C,</i> the latin numeral for one-hundred? Some more to go, but I
  255. like the idea.
  256. </p>
  257. <p>
  258. I've got it! <i>C</i> as in <i>The <u>C</u>aps Audio Plugin Suite!</i>
  259. A classic.
  260. </p>
  261. &nbsp;<br>
  262. <a name=Download><h3>Download</h3></a>
  263. <p>
  264. CAPS is distributed under the
  265. <a href=COPYING>GNU General Public License</a>. Other licensing terms
  266. can be arranged if you wish, please feel free to contact me.
  267. </p>
  268. <h5>No Guarantee</h5>
  269. <p>
  270. While I have bred all the plugins in the suite with the greatest care,
  271. there is no guarantee
  272. that they will all retain perfect manners under all possible
  273. circumstances. Take, for example, the <a href=#Lorenz>Lorenz</a>
  274. plugin, which models
  275. a fractal system. How am I to guarantee its
  276. output will never go out of range, if people far more knowledgeable
  277. about this fractal than me assert its unpredictable behaviour?
  278. </p>
  279. <p style="border:dotted 1px #777777;padding:3pt;">
  280. This collection is distributed in the hope that it will be useful,
  281. but WITHOUT ANY WARRANTY; without even the implied warranty of
  282. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  283. </p>
  284. <p>
  285. Download the latest release
  286. <a href=caps_0.4.5.tar.gz>here, it is caps_0.4.5.tar.gz (772 kB)</a>.
  287. </p>
  288. &nbsp;<br>
  289. <a name=Installation><h3>Installation</h3></a>
  290. <p>
  291. Provided you run Linux,
  292. installation is simply:
  293. </p>
  294. <pre align=left>
  295. $ tar xvfz caps_0.4.5.tar.gz&nbsp;
  296. $ cd caps-0.4.5&nbsp;
  297. $ ./configure.py
  298. $ make
  299. $ su
  300. # make install</pre>
  301. <p>
  302. The <tt>configure.py</tt> step is optional on Linux but recommended
  303. for optimum performance.
  304. </p>
  305. <p>
  306. You should now be able use the plugins from the collection
  307. in any LADSPA-aware host program,
  308. like the wonderful <a href=http://pure-data.org>pd</a> with
  309. the <code>plugin~</code>
  310. <a href=http://pure-data.sourceforge.net/>external</a>,
  311. the inimitable <a href=http://jack-rack.sourceforge.net/>jack-rack</a>,
  312. the impressive <a href=http://ardour.org>ardour</a>,
  313. the versatile <a href=http://eca.cx>ecasound</a>,
  314. the classic <a href=http://www-ccrma.stanford.edu/software/snd/>snd</a>,
  315. and numerous other applications large and small.
  316. </p>
  317. <p>
  318. You don't run Linux? Why not
  319. <a href=http://www.debian.org>downgrade now</a>?
  320. </p>
  321. <h5>OSX</h5>
  322. <p>
  323. <tt>configure.py</tt> should detect an OSX build and prepare the
  324. relevant flags for Apple's different-thinking <tt>ld</tt>
  325. implementation.
  326. Mind you, this is untested by me and
  327. not guaranteed to actually work. If it does, please
  328. tell me. Thanks!
  329. </p>
  330. <h5>Troubleshooting</h5>
  331. <p>
  332. With no external dependencies, compiling CAPS
  333. should rarely fail on a Linux box. If it
  334. does on your machine, please send the output of the <tt>make</tt>
  335. command so we can try and fix the problem.
  336. </p>
  337. <h5>Bugs</h5>
  338. <p>
  339. If any of the plugins in the suite do not work with your host program
  340. of choice, or don't work as advertised, please
  341. <a href=mailto:tim@quitte.de?subject=caps-bug>send a bug report</a>.
  342. </p>
  343. &nbsp;<br>
  344. <a name=WhatYouShouldKnow><h3>What You Should Know</h3></a>
  345. <h5>Parameter Smoothing</h5>
  346. <p>
  347. To prevent zipper noise, many plugin control inputs are subject
  348. to internal parameter smoothing where the effort seems justified.
  349. This is achieved by sweeping parameters internal to the plugin.
  350. The duration of this sweep will vary with the audio system setup.
  351. For realtime use and most known LADSPA hosts it is equal to the audio
  352. block size (in <tt>jackd</tt> terms: the "frames per period").
  353. </p>
  354. <h5>Sample Rate</h5>
  355. <p>
  356. The CAPS plugins are designed to be used at
  357. sample rates of 44.1 kHz or higher. Operation at lower sample rates
  358. is generally possible but untested.
  359. Especially the resonant filters in the
  360. <a href=#SweepVFI>SweepVFI</a>,
  361. <a href=#SweepVFII>SweepVFII</a>,
  362. <a href=#AutoWah>AutoWah</a> and
  363. <a href=#Scape>Scape</a> plugins can self-oscillate out of
  364. bounds at low sample rates and high filter cutoff frequency settings.
  365. It is a wise idea to do some silent test runs testing
  366. the entire parameter range to see if
  367. the plugin works as expected before relying on its operation at
  368. sample rates below 44.1 kHz.
  369. </p>
  370. <p>
  371. In the plugin listing, for every unit you'll see a note like
  372. <em>All sample rates</em>. This means that the plugin should sound the
  373. same no matter what sample rate it is run at. If it doesn't, holler at
  374. me.
  375. A note like <em>44.1 kHz only</em> means you
  376. can still run the plugin at other sample rates without having to fear
  377. for your life, but the sonic experience may differ from what is
  378. advertised.
  379. </p>
  380. <p>
  381. Usage at sample rates of 176 kHz or higher may cause problems with some
  382. plugins. We recommend not exceeding 100 kHz for all applications.
  383. </p>
  384. <h5>Realtime Use</h5>
  385. <p>
  386. All of the plugins in the suite are hard-realtime capable. In some
  387. cases, parameter smoothing will take a marginal number of
  388. extra CPU cycles when a control value is changed, as well as when the
  389. plugin is starting or resuming operation.
  390. </p>
  391. <h5>In-Place and Mixing/Replacing Operation</h5>
  392. <p>
  393. All of the plugins in the suite support any combination of in-place,
  394. mixing and replacing operation.
  395. </p>
  396. <h5>Denormals</h5>
  397. <p>
  398. Denormal numbers
  399. (<a href=http://en.wikipedia.org/wiki/Denormal>wikipedia</a>)
  400. are the bane of DSP on common computer systems because they seriously
  401. slow down computing speed. In CAPS, various approaches are employed to
  402. prevent this problem from arising. Most of the plugins add an inaudible
  403. signal (-266 dB) at the Nyquist
  404. (<a href=http://en.wikipedia.org/wiki/Nyquist_frequency>wikipedia</a>)
  405. or at a fixed lower frequency which keeps calculations out of the critical
  406. zone around zero. In addition, if you run <tt>configure.py</tt> prior
  407. to building CAPS, SSE extensions will be employed to aid in this task if
  408. they are available on the build system.
  409. </p>
  410. <h5>I'd love to hear from you. Really!</h5>
  411. <p>
  412. You like something about CAPS? Don't like it?
  413. Either way, tell me &ndash; otherwise
  414. I'll never be able to improve it!
  415. </p>
  416. <h5>Known Bugs and Limitations</h5>
  417. <ul>
  418. <li>
  419. CPU usage figures, if given, may be inaccurate or even off by an
  420. order of magnitude.
  421. </li>
  422. <li>
  423. 8x oversampling consumes a lot of CPU power.
  424. </li>
  425. <li>
  426. Since version 0.4.0, CAPS cannot be compiled with gcc 2.95 any more.
  427. </li>
  428. <li>
  429. Processing blocks larger than 2<sup>31</sup> - 1 aren't supported.
  430. </li>
  431. <li>
  432. Old <tt>jack-rack</tt> host versions have some crazy ideas about the
  433. default control parameters of the CAPS plugins &ndash; they're all
  434. over the place.
  435. </li>
  436. <li>
  437. Sample rates in excess of 100 kHz may cause some plugins to develop
  438. problems.
  439. </li>
  440. <li>
  441. The <a href=#White>White</a> plugin
  442. actually produces a slightly purplish signal despite the rather
  443. boastful claims of signal purity made elsewhere.
  444. </li>
  445. </ul>
  446. &nbsp;<br>
  447. <a name=GimmeASetupAlready><h3>Give me a Guitar Setup Already!</h3></a>
  448. <p>
  449. Start your guitar signal chain with an
  450. <a href=#AmpVTS>AmpVTS</a>, followed by a
  451. <a href=#CabinetII>CabinetII</a> and finish with a
  452. <a href=#Plate>Plate</a> reverb.
  453. Season to taste, done.
  454. </p><p>
  455. Additional effects like
  456. <a href=#ChorusII>chorus</a>,
  457. <a href=#PhaserII>phaser</a> or
  458. <a href=#AutoWah>auto wah</a> would drop in right before or right after
  459. the Cabinet (I usually prefer the latter).
  460. </p>
  461. &nbsp;<br>
  462. <a name=ThePlugins><h3>The Plugins</h3></a>
  463. <a name=Generic><h3>Generic</h3></a>
  464. <a name=Eq><h4>Eq</h4></a>
  465. <p>
  466. A ten-band, octave-spread equalizer. Based on a traditional analogue
  467. design and about as faithful as digital IIR filtering allows.
  468. Individual band filters are <nobr>6 dB / octave</nobr>.
  469. </p>
  470. <p>
  471. <em>All sample rates (bands beyond Nyquist are disabled).</em>
  472. </p>
  473. <ul>
  474. <li><b>31 Hz, 63 Hz, 125 Hz, 250 Hz, 500 Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz, 16 kHz</b></li>
  475. control the gain in dB for the respective band.</p></li>
  476. </ul>
  477. <a name=Eq2x2><h4>Eq2x2</h4></a>
  478. <p>
  479. By popular demand, a stereo-in, stereo-out version of the
  480. <a href=#Eq>Eq unit</a>.
  481. Same controls as Eq.
  482. </p>
  483. <a name=Compress><h4>Compress</h4></a>
  484. <p>
  485. A mono compressor, based on the SC1 design by
  486. <a href=http://plugin.org.uk>Steve Harris</a> (in other words, a ripoff)
  487. with minor tweaks. Be
  488. careful with the gain and ratio controls, the output signal can easily
  489. exceed 0 dB.
  490. </p>
  491. <p>
  492. <em>All sample rates.</em>
  493. </p>
  494. <ul>
  495. <li><b>gain (dB)</b><p>
  496. controls the maximum gain applied by the unit.</p></li>
  497. <li><b>ratio (1:n)</b><p>
  498. controls the overall gain.</p></li>
  499. <li><b>attack (s)</b><p>
  500. controls the speed at which the circuit acts on a rising input signal
  501. envelope.</p></li>
  502. <li><b>release (s)</b><p>
  503. controls the speed at which the circuit acts on a decaying input signal
  504. envelope.</p></li>
  505. <li><b>threshold (dB)</b><p>
  506. sets the envelope level that the compressor starts acting at.</p></li>
  507. <li><b>knee radius (dB)</b><p>
  508. controls the softness of the transition between unaltered and
  509. compressed signal.</p></li>
  510. </ul>
  511. <a name=Pan><h4>Pan</h4></a>
  512. <p>
  513. Places a monaural source in the stereo field. For some extra spicing,
  514. the unit can also add a low-pass filtered echo at the far
  515. ends of the stereo field to make the signal sound 'wider' (recreating
  516. the old doubling effect with a twist). You can
  517. (and should!) control the loudness and timing of the echo; what's best
  518. depends largely on the source signal.
  519. </p>
  520. <p>
  521. <em>No parameter smoothing.</em>
  522. </p>
  523. <p>
  524. <em>All sample rates.</em>
  525. </p>
  526. <ul>
  527. <li><b>pan</b><p>
  528. position</p></li>
  529. <li><b>width</b><p>
  530. echo volume</p></li>
  531. <li><b>t</b><p>
  532. delay in milliseconds<p></li>
  533. <li><b>mono</b><p>
  534. if non-zero, causes the unit to mix the stereo output back down to mono
  535. and output that (on both outbound ports).
  536. The purpose is to check for mono
  537. compatibility of the output.<p></li>
  538. </ul>
  539. <a name=Narrower><h4>Narrower</h4></a>
  540. <p>
  541. Reduces the width of a stereophonic signal.
  542. Very useful for headphone listeners.
  543. </p>
  544. <p>
  545. <em>No parameter smoothing.</em>
  546. </p>
  547. <p>
  548. <em>All sample rates.</em>
  549. </p>
  550. <ul>
  551. <li><b>strength</b><p>
  552. amount of width reduction</p></li>
  553. </ul>
  554. <a name=Emulation><h3>Emulation</h3></a>
  555. <a name=PreampIII><h4>PreampIII</h4></a>
  556. <p>
  557. One further step in the evolution of my
  558. <a href=http://quitte.de/dsp/preamp.html>tube preamplifier emulation</a>. This one
  559. uses conventional polyphase FIR filters for 8x oversampling,
  560. which helps make the unit sound a good deal cleaner than the
  561. IIR-based predecessor.
  562. </p>
  563. <p>
  564. The first steps towards this unit were based on a <tt>spice</tt> model
  565. of the preamplifier circuit in a Fender 5F4 design ('Super' tube amp,
  566. a close relative of the famed 'Bassman', which is the ancestor of the
  567. Marshall lineage). Further evolution was
  568. based on measurements of my 'Super 60' (mid-1980s) amp and, of course,
  569. personal preference.
  570. The plugin offers a softer kind of preamp clipping
  571. than the actual circuit, though it can be made to clip as harsh as the
  572. original thing if given enough gain.
  573. </p>
  574. <p>
  575. A word of caution: at high 'temperature' settings, an input
  576. signal peaking above 0 dB can drive
  577. the first 'tube' stage into hard clipping. Since this stage of the
  578. circuit is run at the nominal sample rate, aliasing and thus sound
  579. quality degradation will occur.
  580. Do not overdrive the input, instead use the 'gain' knob for
  581. harsh distortion, it offers more than enough of it. This applies to all
  582. Preamp and Amp units.
  583. </p>
  584. <p><em>All sample rates.</em></p>
  585. <ul>
  586. <li><b>gain</b><p>
  587. controls the level of saturation. For a balanced (0 dB max.)
  588. input signal,
  589. hard clipping will not occur below a gain value of 1.
  590. </p></li>
  591. <li><b>temperature</b><p>
  592. emulates the level of the input signal, thus how much the first
  593. preamplifier tube will colour the signal.
  594. The effect is very subtle.</p></li>
  595. </ul>
  596. <a name=PreampIV><h4>PreampIV</h4></a>
  597. <p>
  598. A variation on <a href=#PreampIII>PreampIII</a> with added tone controls
  599. before the clipping stage. The tone controls have the same
  600. flaws as their analog counterparts (phase cancellation at high band
  601. gains). But exactly because they are not linear-phase, they are quite
  602. useful in altering the distortion characteristics of the circuit.
  603. </p>
  604. <p><em>All sample rates.</em></p>
  605. <p>
  606. Same parameters as <a href=#PreampIII>PreampIII</a>, plus the following
  607. (all in dB units):
  608. </p>
  609. <ul>
  610. <li><b>bass</b><p>
  611. 80 Hz band</p></li>
  612. <li><b>mid</b><p>
  613. 300 Hz band</p></li>
  614. <li><b>treble</b><p>
  615. 1200 Hz band</p></li>
  616. <li><b>hi</b><p>
  617. 4800 Hz band</p></li>
  618. </ul>
  619. <a name=ToneStack><h4>ToneStack</h4></a>
  620. <p>
  621. A close model of the tone stack of a traditional instrument
  622. amplifier (of Fender origin), designed and implemented by David Yeh,
  623. discussed in [<a name=yeh06-1 href=#yeh06>2</a>]
  624. (see <a href=http://ccrma.stanford.edu/~dtyeh/tonestack/>his project page at CCRMA</a>).
  625. </p><p>
  626. This is the 'procedural' implementation which uses a direct form II filter,
  627. adapts to the actual sample rate and offers the choice of model
  628. from a selection of several classic tone stacks.
  629. (The AC-30 is a crude approximation for which David isn't to blame. I
  630. simply dropped in the parameters although the circuit doesn't
  631. match the one David modeled.)
  632. </p>
  633. <p><em>All sample rates.</em></p>
  634. <ul>
  635. <li><b>model</b><p>
  636. 0 - '59 Bassman<br>
  637. 1 - '69 Twin Reverb<br>
  638. 2 - '64 Princeton<br>
  639. 3 - '59/'81 JCM 800<br>
  640. 4 - '78 Club &amp; Country<br>
  641. 5 - '59/'86 AC-30 of sorts
  642. </li>
  643. <li><b>bass</b></li>
  644. <li><b>mid</b></li>
  645. <li><b>treble</b></li>
  646. </ul>
  647. <a name=ToneStackLT><h4>ToneStackLT</h4></a>
  648. <p>
  649. This version of David Yeh's <a href=#ToneStack>ToneStack</a> replaces
  650. the procedural approach and direct form II filter
  651. with a lattice filter and operation on
  652. precalculated simulation data. It's a fixed implementation of the
  653. '59 Bassman model.
  654. </p>
  655. <p><em>44.1 kHz</em></p>
  656. <ul>
  657. <li><b>bass</b></li>
  658. <li><b>mid</b></li>
  659. <li><b>treble</b></li>
  660. </ul>
  661. <a name=AmpIII><h4>AmpIII</h4></a>
  662. <p>
  663. A <a href=#PreampIII>PreampIII</a> circuit plus a tube power amplifier
  664. emulation giving that smooth drive.
  665. </p>
  666. <p>
  667. We recommend you use <a href=#AmpVTS>AmpVTS</a> instead.
  668. </p>
  669. <p><em>All sample rates.</em></p>
  670. <p>
  671. Same controls as <a href=#PreampIII>PreampIII</a>, plus:
  672. </p>
  673. <ul>
  674. <li><b>drive</b><p>
  675. controls the 'master volume' of the circuit, i.e. how much
  676. coloring and compression the emulated power amplifier produces.</p></li>
  677. </ul>
  678. <a name=AmpIV><h4>AmpIV</h4></a>
  679. <p>
  680. A <a href=#PreampIV>PreampIV</a> with the same output amp stage
  681. emulation that <a href=#AmpIII>AmpIII</a> employs. Controls are the
  682. same as on <a href=#PreampIV>PreampIV</a>, plus the 'drive' inherited
  683. from <a href=#AmpIII>AmpIII</a>.
  684. </p>
  685. <p>
  686. We recommend you use <a href=#AmpVTS>AmpVTS</a> instead.
  687. </p>
  688. <p><em>All sample rates.</em></p>
  689. <a name=AmpV><h4>AmpV</h4></a>
  690. <p>
  691. This circuit is loosely based on the <a href=#AmpIII>AmpIII</a> design.
  692. The preamplifier stage has been augmented and tuned
  693. to provide a warmer frequency response as well as slightly different
  694. clipping characteristics. But more significantly, AmpV emulates the
  695. shortcomings of an unregulated power supply and their effect on the
  696. total gain of the circuit, the operating point of the tubes and the
  697. clipping response.
  698. </p><p>
  699. AmpV's forte is a mellow sound at the transition from clean to rough,
  700. at lowish 'gain' settings and moderate 'watts'.
  701. </p>
  702. <p>
  703. We recommend you use <a href=#AmpVTS>AmpVTS</a> instead.
  704. </p>
  705. <p><em>All sample rates.</em></p>
  706. <ul>
  707. <li><b>gain</b><p>
  708. controls the amount of edge added in the preamplifier stage. The
  709. parameter mapping has been optimized for fine control in the clean to
  710. medium-rough range.
  711. </p></li>
  712. <li><b>bass</b><p>
  713. controls the attenuation or amplification of low frequencies
  714. before the preamp tube (the value is expressed in dB).
  715. Technically, a low-shelving equalizer filter.
  716. </p></li>
  717. <li><b>tone</b><p>
  718. controls post-preamplifier circuit filtering. At the zero setting,
  719. the effect is turned off. At its maximum, there is some resonance
  720. quite high in the spectrum.
  721. </p></li>
  722. <li><b>drive</b><p>
  723. controls power-amplification stage saturation, which gives a fair bit
  724. of warmth and some compression.
  725. </p></li>
  726. <li><b>watts</b><p>
  727. controls how capable the emulated power supply is. At its minimum
  728. setting, the effects of supply voltage modulation are
  729. the most pronounced.
  730. At the maximum setting, they are effectively removed (which is
  731. recommended for high-'gain' setups).
  732. </p></li>
  733. </ul>
  734. <a name=AmpVTS><h4>AmpVTS</h4></a>
  735. <p>
  736. An <a href=#AmpV>AmpV</a> with the tone controls replaced with
  737. the fine <a href=#ToneStack>ToneStack</a> by David Yeh. And a ton of
  738. other modifications (most notably the availability of an extra 28 dB
  739. of gain).
  740. </p>
  741. <p><em>All sample rates.</em></p>
  742. <a name=CabinetI><h4>CabinetI</h4></a>
  743. <p>
  744. A collection of filters emulating the frequency response
  745. of various guitar combo amps or speaker cabinets, using the
  746. method outlined
  747. <a href=http://quitte.de/dsp/unmatched.html>here</a>.
  748. </p>
  749. <p>
  750. You'll find a more exact, but also a lot more cycle-hungry and
  751. latency-inflicting rendering of
  752. these responses in
  753. <a href=http://plugin.org.uk>Steve Harris' collection</a>, from which
  754. they were borrowed.
  755. </p>
  756. <p>
  757. We recommend you use the successor unit <a href=#CabinetII>CabinetII</a>
  758. instead.
  759. </p>
  760. <p>
  761. <em>44.1 kHz (48 kHz gives a slightly different, but still usable frequency response.)</em>
  762. </p>
  763. <ul>
  764. <li><b>model</b><p>
  765. 0 - identity filter (what goes in, goes out).<br>
  766. 1 - 'unmatched', as I still like to call it. A Matchless Chieftain.<br>
  767. 2 - the same, but the recording was taken with the microphone on-axis.<br>
  768. 3 - Superchamp (a Fender, isn't it?)<br>
  769. 4 - Fender Vibrolux 68<br>
  770. 5 - Marshall 'Plexi'
  771. </li>
  772. <li><b>gain (dB)</b><p>
  773. volume control.</p></li>
  774. </ul>
  775. <a name=CabinetII><h4>CabinetII</h4></a>
  776. <p>
  777. A refined version of <a href=#CabinetI>CabinetI</a>.
  778. This version offers a much more
  779. faithful rendering of the original speaker cabinet frequency responses
  780. due to a modified filter approximation, double the filter order and
  781. (limited) adaptability to sample rate.
  782. </p><p>
  783. Unlike conventional impulse response emulators who rely on brute-force
  784. convolution, FFT-based algorithms or the patent-encumbered zero-latency
  785. variant of the latter, the Cabinet units employ IIR filters for
  786. truly resonant behaviour. As a result, their sound is more lively.
  787. </p><p>
  788. Same controls as <a href=#CabinetI>CabinetI</a>.
  789. </p>
  790. <p>
  791. <em>44.1, 48, 88.2 and 96 kHz (nearest match chosen at runtime)</em>
  792. <br>
  793. </p>
  794. <a name=Clip><h4>Clip</h4></a>
  795. <p>
  796. A spin-off of the <a href=#PreampIII>PreampIII</a> effort.
  797. 8x oversampled hard clipping (sometimes called 'diode' or
  798. 'transistor' clipping).
  799. The clip threshold is fixed at -1 dB (overshoot
  800. from the up- and downsampling filters could exceed 0 dB were the threshold
  801. higher).
  802. </p>
  803. <p>
  804. <em>All sample rates.</em>
  805. </p>
  806. <ul>
  807. <li><b>gain (dB)</b><p>
  808. controls pre-clipping amplification.</p></li>
  809. </ul>
  810. <a name=Effects><h3>Effects</h3></a>
  811. <a name=ChorusI><h4>ChorusI</h4></a>
  812. <p>
  813. Mono version, with a feedback circuit. The parameter range suits more
  814. subtle effects as well as all-out flanging. Modifying the 't' parameter
  815. when 'feedback' is non-zero will cause zipper noise.
  816. </p>
  817. <p>
  818. <em>All sample rates.</em>
  819. </p>
  820. <ul>
  821. <li><b>t (ms)</b><p>
  822. delay time.</p></li>
  823. <li><b>width (ms)</b><p>
  824. controls the amount of pitch change.</p></li>
  825. <li><b>rate (Hz)</b><p>
  826. the speed of the pitch modulation.</p></li>
  827. <li><b>blend</b><p>
  828. the amount of dry and fed-back signal in the output.</p></li>
  829. <li><b>feedforward</b><p>
  830. amount of modulated signal in the output.</p></li>
  831. <li><b>feedback</b><p>
  832. amount of signal with fixed delay in the modulation input.</p></li>
  833. </ul>
  834. <a name=StereoChorusI><h4>StereoChorusI</h4></a>
  835. <p>
  836. Two <a href=#ChorusI>ChorusI</a> circuits in parallel,
  837. sharing the same input (and delay
  838. line). Same parameters as the mono version, plus one.
  839. </p>
  840. <p>
  841. <em>All sample rates.</em>
  842. </p>
  843. <ul>
  844. <li><b>phase</b></li><p>
  845. controls the relation of the two LFOs. 0 means in-phase, 0.5 is
  846. quadrature, and 1 is anti-phase.</p>
  847. </li>
  848. </ul>
  849. <a name=ChorusII><h4>ChorusII</h4></a>
  850. <p>
  851. A variation on the <a href=#ChorusI>ChorusI</a> unit; this one employs
  852. a Roessler fractal to steer the signal modulation, resulting in less
  853. predictable and thus more interesting sound.
  854. </p>
  855. <p>
  856. <em>All sample rates.</em>
  857. </p>
  858. <ul>
  859. <li><b>t (ms)</b><p>
  860. delay time.</p></li>
  861. <li><b>width (ms)</b><p>
  862. controls the amount of pitch change.</p></li>
  863. <li><b>rate</b><p>
  864. the speed of the pitch modulation.</p></li>
  865. <li><b>blend</b><p>
  866. the amount of dry and fed-back signal in the output.</p></li>
  867. <li><b>feedforward</b><p>
  868. amount of modulated signal in the output.</p></li>
  869. <li><b>feedback</b><p>
  870. amount of signal with fixed delay in the modulation input.</p></li>
  871. </ul>
  872. <a name=StereoChorusII><h4>StereoChorusII</h4></a>
  873. <p>
  874. Two <a href=#ChorusII>ChorusII</a> circuits in parallel,
  875. sharing the same input (and delay
  876. line). Same parameters as the mono version.
  877. </p>
  878. <p>
  879. <em>All sample rates.</em>
  880. </p>
  881. <a name=PhaserI><h4>PhaserI</h4></a>
  882. <p>
  883. Nothing out of the ordinary, just a phaser like I like to have them.
  884. A phaser unit works by sweeping notches in the frequency response; this one
  885. has six comb filters, for six notches.
  886. </p>
  887. <p>
  888. <em>All sample rates.</em>
  889. </p>
  890. <ul>
  891. <li><b>rate (Hz)</b><p>
  892. controls the speed of the modulation.</p></li>
  893. <li><b>depth</b><p>
  894. the strength of the effect.</p></li>
  895. <li><b>spread</b><p>
  896. the distance of the notched frequency bands.</p></li>
  897. <li><b>feedback</b><p>
  898. controls the amount of resonance.</p></li>
  899. </ul>
  900. <a name=PhaserII><h4>PhaserII</h4></a>
  901. <p>
  902. A variation of the <a href=#PhaserI>PhaserI</a> circuit which relies
  903. on a Lorenz fractal for the modulation source, improving hugely on
  904. output sound variation.
  905. </p>
  906. <p>
  907. <em>All sample rates.</em>
  908. </p>
  909. <ul>
  910. <li><b>rate</b><p>
  911. controls the speed of the modulation.</p></li>
  912. <li><b>depth</b><p>
  913. the strength of the effect.</p></li>
  914. <li><b>spread</b><p>
  915. the distance of the notched frequency bands.</p></li>
  916. <li><b>feedback</b><p>
  917. controls the amount of resonance.</p></li>
  918. </ul>
  919. <a name=SweepVFI><h4>SweepVFI</h4></a>
  920. <p>
  921. A resonant filter whose cutoff frequency is swept by a
  922. <a href=#Lorenz>Lorenz</a> fractal. With the default parameters
  923. (moderate Q, cutoff around 800 Hz and band pass mode)
  924. it makes a nice Wah effect if you lower the 'h' parameter by a fair amount.
  925. </p>
  926. <p>
  927. Another idea is to set it to very high Q and frequency in low pass mode
  928. and filter some noise, for synthetic bird chirping (high h value)
  929. or theremin-like sounds (low h, lower frequency).
  930. </p>
  931. <p>
  932. Please note that the most useful settings for the 'h' parameter
  933. are <i>very</i> low, around 0.01 - 0.09. Unfortunately there's no way
  934. to provide a default setting as low as this without compromising
  935. the range of the control.
  936. </p>
  937. <p>
  938. And be careful, high Q resonance can peak at up to +18 dB.
  939. </p>
  940. <p>
  941. <em>All sample rates (modulation rate and character are sample rate dependent).</em>
  942. </p>
  943. <ul>
  944. <li><b>f</b><p>
  945. cutoff frequency (band center for band pass filtering).</p></li>
  946. <li><b>Q</b><p>
  947. filter resonance.</p></li>
  948. <li><b>mode</b><p>
  949. 0 - low pass<br>
  950. 1 - band pass</p></li>
  951. <li><b>depth:x</b></li>
  952. <li><b>depth:y</b></li>
  953. <li><b>depth:z</b><p>
  954. control how the modulation is mixed from the state of the attractor.</p></li>
  955. <li><b>h</b><p>
  956. step size of the fractal.</p></li>
  957. </ul>
  958. <a name=SweepVFII><h4>SweepVFII</h4></a>
  959. <p>
  960. A variation on <a href=#SweepVFI>SweepVFI</a>,
  961. with the filter Q (bandwidth/resonance)
  962. modulated by a second <a href=#Lorenz>Lorenz</a> fractal.
  963. </p>
  964. <p>
  965. Please note that the most useful settings for the 'h' parameter
  966. are <i>very</i> low, around 0.01 - 0.09. Unfortunately there's no way
  967. to provide a default setting as low as this without compromising
  968. the range of the control.
  969. </p>
  970. <p>
  971. And be careful, high Q resonance can peak at up to +18 dB.
  972. </p>
  973. <p>
  974. <em>All sample rates (modulation rate and character are sample rate dependent).</em>
  975. </p>
  976. <ul>
  977. <li><b>f</b><p>
  978. cutoff frequency (band center for band pass filtering).</p></li>
  979. <li><b>Q</b><p>
  980. filter resonance.</p></li>
  981. <li><b>mode</b><p>
  982. 0 - low pass<br>
  983. 1 - band pass</p></li>
  984. <li><b>f:depth:x</b></li>
  985. <li><b>f:depth:y</b></li>
  986. <li><b>f:depth:z</b><p>
  987. control how the filter cutoff modulation is mixed
  988. from the state of the attractor.</p></li>
  989. <li><b>f:h</b><p>
  990. step size of the fractal modulating the cutoff.</p></li>
  991. <li><b>Q:depth:x</b></li>
  992. <li><b>Q:depth:y</b></li>
  993. <li><b>Q:depth:z</b><p>
  994. control how the filter Q modulation is mixed
  995. from the state of the attractor.</p></li>
  996. <li><b>Q:h</b><p>
  997. step size of the fractal modulating filter Q.</p></li>
  998. </ul>
  999. <a name=AutoWah><h4>AutoWah</h4></a>
  1000. <p>
  1001. The same resonant filter as used by the <a href=#SweepVFI>SweepVFI</a>
  1002. and <a href=#SweepVFII>SweepVFII</a> units, the difference being that
  1003. the filter is hard-wired for bandpass operation and
  1004. the band centre frequency is modulated by an envelope-following circuit.
  1005. In short, an effect commonly known and esteemed as an automatic wah,
  1006. or AutoWah. Probably most useful with instruments allowing fine control over
  1007. dynamics at all times.
  1008. </p>
  1009. <p>
  1010. Be careful with the Q parameter, high resonance can peak at up to +18 dB.
  1011. </p>
  1012. <p>
  1013. <em>All sample rates (modulation rate and character may be sample rate dependent).</em>
  1014. </p>
  1015. <ul>
  1016. <li><b>f</b><p>
  1017. filter band centre frequency.</p></li>
  1018. <li><b>Q</b><p>
  1019. resonance.</p></li>
  1020. <li><b>depth</b><p>
  1021. strength of the modulation.</p></li>
  1022. </ul>
  1023. <a name=Scape><h4>Scape</h4></a>
  1024. <p>
  1025. This plugin will generate quite expansive soundscapes from even the
  1026. most modest input signals.
  1027. </p>
  1028. <p>
  1029. Technically, 'Scape' is a
  1030. stereo delay, with the panning of the echo modulated by a pair of
  1031. fractals.
  1032. The delay times are adjustable through
  1033. a 'bpm' knob, augmented by a beat division parameter.
  1034. The input as well as the delayed signals are processed by a
  1035. collection of resonant filters, with frequency and cutoff modulated
  1036. in sync to the current tempo.
  1037. </p>
  1038. <p>
  1039. <em>All sample rates.</em>
  1040. </p>
  1041. <ul>
  1042. <li><b>bpm</b><p>
  1043. beats per minute.</p></li>
  1044. <li><b>divider</b><p>
  1045. controls whether the groove is ternary or binary.</p></li>
  1046. <li><b>feedback</b><p>
  1047. controls the length of the delay tail.</p></li>
  1048. <li><b>dry</b><p>
  1049. the amount of dry signal mixed to the outputs.</p></li>
  1050. <li><b>blend</b><p>
  1051. the amount of wet signal mixed to the outputs.</p></li>
  1052. </ul>
  1053. <a name=Generators><h3>Generators</h3></a>
  1054. <a name=VCOs><h4>VCOs</h4></a>
  1055. <p>
  1056. An oscillator capable of producing the standard
  1057. triangle, sawtooth and square waveforms of analog fame,
  1058. and almost any conceivable blend
  1059. thereof. 8x oversampled, thus needs a lot of cycles. Sorry about that,
  1060. but you don't get the flexibility and fat sound for free.
  1061. </p>
  1062. <p>
  1063. About the morphing controls:
  1064. </p>
  1065. <ul type=circle>
  1066. <li>For a <b>triangle wave,</b> set both <i>tri .. saw</i> and
  1067. <i>~ .. square</i> to 0 (this is the default setting).</li>
  1068. <li>To morph into a <b>sawtooth,</b> pull up <i>tri .. saw</i>.</li>
  1069. <li>For a <b>square wave</b> instead, pull up <i>~ .. square</i>. When
  1070. the value reaches 1, <i>tri .. saw</i> fully controls the pulse
  1071. width.</li>
  1072. </ul>
  1073. <p>
  1074. For a more intuitive approach, thinking of both controls
  1075. in terms of 'dull .. sharp' for a start
  1076. can't hurt.
  1077. </p>
  1078. <p>
  1079. <em>All sample rates.</em>
  1080. </p>
  1081. <ul>
  1082. <li><b>f</b><p>
  1083. the frequency.</p></li>
  1084. <li><b>tri .. saw</b><p>
  1085. controls the morph between triangle and sawtooth, and the pulse
  1086. width of square oscillation.</p></li>
  1087. <li><b>~ .. square</b><p>
  1088. controls the morph between triangle/sawtooth and square wave.</p></li>
  1089. <li><b>volume</b></li>
  1090. </ul>
  1091. <a name=VCOd><h4>VCOd</h4></a>
  1092. <p>
  1093. A combination of two <a href=#VCOs>VCOs</a> units.
  1094. The second oscillator
  1095. offers a separate tuning knob. It can also be made
  1096. to 'hard sync'
  1097. to the first unit, which means that when the first has completed
  1098. a wave cycle, the second is forced to restart its wave cycle
  1099. together with the first.
  1100. </p>
  1101. <p>
  1102. <em>All sample rates.</em>
  1103. </p>
  1104. <ul>
  1105. <li><b>f</b><p>
  1106. the frequency.</p></li>
  1107. <li><b>1: tri .. saw</b></li>
  1108. <li><b>1: ~ .. square</b><p>
  1109. waveform morph controls for the first oscillator.</p></li>
  1110. <li><b>2: tri .. saw</b></li>
  1111. <li><b>2: ~ .. square</b><p>
  1112. waveform morph controls for the second oscillator.</p></li>
  1113. <li><b>2: tune</b><p>
  1114. controls the interval between the two oscillator frequencies, in
  1115. units of (fractional) semitones.</p></li>
  1116. <li><b>sync</b><p>
  1117. if non-zero, puts the second oscillator into 'hard sync' mode, and
  1118. determines the forced-restart offset into its wave cycle.</p></li>
  1119. <li><b>blend</b><p>
  1120. controls how the waveforms from the two oscillators are mixed.
  1121. A value of 0 means only oscillator one is heard, a value of either
  1122. 1 or -1 tilts the balance fully towards oscillator two. The sign
  1123. of the <b>blend</b> value determines if the signals are added or
  1124. subtracted.</p></li>
  1125. <li><b>volume</b></li>
  1126. </ul>
  1127. <a name=CEO><h4>CEO</h4></a>
  1128. <p>
  1129. The Chief Executive Oscillator forever repeats the word 'money'.
  1130. </p>
  1131. <p>
  1132. <em>44.1 kHz.</em>
  1133. </p>
  1134. <ul>
  1135. <li><b>mpm</b><p>
  1136. moneys per minute.</p></li>
  1137. <li><b>volume</b></li>
  1138. <li><b>damping</b><p>
  1139. moderates the CEO.</p></li>
  1140. </ul>
  1141. <a name=Sin><h4>Sin</h4></a>
  1142. <p>
  1143. The old friend, indispensable for testing and tuning.
  1144. </p>
  1145. <p>
  1146. <em>All sample rates.</em>
  1147. </p>
  1148. <ul>
  1149. <li><b>f</b><p>
  1150. the frequency.</p></li>
  1151. <li><b>volume</b></li>
  1152. </ul>
  1153. <a name=White><h4>White</h4></a>
  1154. <p>
  1155. White noise (actually slightly pinkish, sorry).
  1156. </p>
  1157. <p>
  1158. <em>All sample rates.</em>
  1159. </p>
  1160. <ul>
  1161. <li><b>volume</b></li>
  1162. </ul>
  1163. <a name=Lorenz><h4>Lorenz</h4></a>
  1164. <p>
  1165. A Lorenz attractor is a fractal system. It produces a very
  1166. own character of noisz that will hardly repeat in the course of your
  1167. lifetime.
  1168. </p>
  1169. <p>
  1170. <em>Sound varies with sample rate.</em>
  1171. </p>
  1172. <ul>
  1173. <li><b>h</b></p>
  1174. controls the step size of the state progression, and, indirectly, the
  1175. perceived frequency of the sound.</p></li>
  1176. <li><b>x</b></li>
  1177. <li><b>y</b></li>
  1178. <li><b>z</b><p>
  1179. control how the signal is mixed from the state of the attractor.</p></li>
  1180. <li><b>volume</b></li>
  1181. </ul>
  1182. <p>
  1183. For more information on the
  1184. Lorenz and Roessler attractors, visit
  1185. <a href=http://astronomy.swin.edu.au/~pbourke/fractals/lorenz/>Paul Bourke's resourceful site</a>.
  1186. </p>
  1187. <a name=Roessler><h4>Roessler</h4></a>
  1188. <p>
  1189. Another fractal system. This one lends itself
  1190. particularly well to sweeping the 'h' parameter.
  1191. </p>
  1192. <p>
  1193. <em>Sound varies with sample rate.</em>
  1194. </p>
  1195. <ul>
  1196. <li><b>h</b></p>
  1197. controls the step size of the state progression.</p></li>
  1198. <li><b>x</b></li>
  1199. <li><b>y</b></li>
  1200. <li><b>z</b><p>
  1201. control how the signal is mixed from the state of the attractor.</p></li>
  1202. <li><b>volume</b></li>
  1203. </ul>
  1204. <p>
  1205. For more information on the
  1206. Lorenz and Roessler attractors, visit
  1207. <a href=http://astronomy.swin.edu.au/~pbourke/fractals/lorenz/>Paul Bourke's resourceful site</a>.
  1208. </p>
  1209. <a name=Reverb><h3>Reverb</h3></a>
  1210. <a name=JVRev><h4>JVRev</h4></a>
  1211. <p>
  1212. A traditional Chowning/Moorer/Schroeder reverb. It sounds quite good
  1213. for a reverberation unit with such a comparatively small footprint
  1214. (I still remember the times when your average personal computer wasn't
  1215. even capable of computing this in realtime). A quite
  1216. straight-forward rewrite of a unit found in
  1217. <a href=http://ccrma.stanford.edu/>CCRMA</a>'s
  1218. <a href=http://ccrma.stanford.edu/software/stk/>STK (Synthesis Toolkit)</a>,
  1219. with minor tweaks.
  1220. </p>
  1221. <p>
  1222. <em>All sample rates.</em>
  1223. </p>
  1224. <ul>
  1225. <li><b>t60 (s)</b></p>
  1226. controls the time until the reverb tail is supposed to fade
  1227. to -60 dB.</p></li>
  1228. <li><b>blend</b></p>
  1229. controls dry/wet mixing ratio.</p></li>
  1230. </ul>
  1231. <a name=Plate><h4>Plate</h4></a>
  1232. <p>
  1233. A reverberation unit based on the design discussed
  1234. in [<a name=dat97-1-1 href=#dat97-1>1</a>].
  1235. Unlike the reference, the unit employs cubic instead of
  1236. allpass interpolation to modulate the reverb 'tank' delay lines.
  1237. </p>
  1238. <p>
  1239. <em>All sample rates.</em>
  1240. </p>
  1241. <ul>
  1242. <li><b>bandwidth</b><p>
  1243. controls damping of the input signal before it enters the
  1244. delay circuits.</p></li>
  1245. <li><b>tail</b><p>
  1246. controls the length of the reverb tail.</p></li>
  1247. <li><b>damping</b><p>
  1248. controls attenuation of high frequency components within the reverb 'tank'
  1249. (decay stage).</p></li>
  1250. <li><b>blend</b><p>
  1251. dry/wet mixing ratio (default should be 1/8, not 1/4).</p></li>
  1252. </ul>
  1253. <a name=Plate2x2><h4>Plate2x2</h4></a>
  1254. <p>
  1255. By popular demand, a stereo-in, stereo-out version of the
  1256. <a href=#Plate>Plate</a> reverb unit. Same controls, same sound.
  1257. </p>
  1258. <p>
  1259. <em>All sample rates.</em>
  1260. </p>
  1261. <a name=Others><h3>Others</h3></a>
  1262. <a name=Click><h4>Click</h4></a>
  1263. <p>
  1264. A sample-accurate metronome. Timing is exact at any sample rate, but
  1265. the pitch of the click (being a recorded sample) will vary. (The click
  1266. also lends well for testing reverb plugins.)
  1267. </p>
  1268. <p>
  1269. <em>44.1 kHz.</em>
  1270. </p>
  1271. <ul>
  1272. <li><b>bpm</b><p>
  1273. beats per minute.</p></li>
  1274. <li><b>volume</b></li>
  1275. <li><b>damping</b><p>
  1276. controls the softness of the click sound.</p></li>
  1277. </ul>
  1278. <a name=Dirac><h4>Dirac</h4></a>
  1279. <p>
  1280. This plugin produces periodic impulses of exactly one sample width
  1281. (as long as the 'damping' control is left at the default 0 setting).
  1282. It's probably only useful for testing and basic impulse response
  1283. retrieval; don't use this plugin if you don't know what you're doing,
  1284. your amplification hardware and speakers will thank you.
  1285. The 'volume' control defaults to silent output to spare you nasty
  1286. surprises.
  1287. </p>
  1288. <p>
  1289. <em>All sample rates.</em>
  1290. </p>
  1291. <ul>
  1292. <li><b>ppm</b><p>
  1293. pulses per minute.</p></li>
  1294. <li><b>volume</b></li>
  1295. <li><b>damping</b></li>
  1296. </ul>
  1297. <a name=HRTF><h4>HRTF</h4></a>
  1298. <p>
  1299. Applying the head-related transfer function to a signal makes it appear
  1300. to come from a specific direction in space. This plugin applies the
  1301. HRTF with custom-shaped IIR filters.
  1302. Tell me how it works for you (you should
  1303. have pretty good headphones to get the full effect).
  1304. </p>
  1305. <p>
  1306. The HRTF impulse response data has been collected and prepared
  1307. by MIT's Media Lab.
  1308. </p>
  1309. <p>
  1310. This unit only utilizes the 0-elevation set (sound source is level
  1311. with the listener).
  1312. </p>
  1313. <p>
  1314. <em>44.1 kHz.</em>
  1315. </p>
  1316. <ul>
  1317. <li><b>pan</b><p>
  1318. The position, in integer steps. Some noteworthy settings:
  1319. <ul>
  1320. <li>
  1321. 0 = in front</li>
  1322. <li>+18 = left,</li>
  1323. <li>-18 = right, and</li>
  1324. <li>-36 = +36 = behind the listener.</li>
  1325. </ul>
  1326. </li>
  1327. </ul>
  1328. &nbsp;<br>
  1329. <a name=Appendix><h3>Appendix</h3></a>
  1330. <a name=DataSheet><h4>Plugin Data Sheets</h4></a>
  1331. <p>
  1332. The CAPS data sheets collect the following information from
  1333. the plugins:
  1334. </p>
  1335. <ul type=circle>
  1336. <li>the plugin ID</li>
  1337. <li>normalized sample output from the plugin
  1338. with default parameter settings
  1339. (in the filter case, this is an impulse response)</li>
  1340. <li>a frequency magnitude plot for the sample output</li>
  1341. <li>estimated CPU usage on my box (usually wildly inaccurate)</li>
  1342. <li>latency information if applicable</li>
  1343. <li>audio routing information</li>
  1344. <li>the control inputs on the plugin</li>
  1345. </ul>
  1346. <p>
  1347. You can fetch the data sheet compilation
  1348. <a href=caps-0.4.5.pdf>here, it is caps-0.4.5.pdf (287 kB)</a>.
  1349. </p>
  1350. <a name=Changelog><h4>Changelog</h4></a>
  1351. <pre>
  1352. 0.4.5
  1353. * Narrower plugin added
  1354. * fixed 'configure.py' to work with python3
  1355. * fixed Sin, Roessler and Lorenz gain smoothing on activation
  1356. 0.4.4
  1357. 0.4.3
  1358. * basics.h cleanup / comments
  1359. * minor Makefile cleanup
  1360. * comment cosmetics
  1361. * Eq and Eq2x2 per-band Q changed to 1.414 (= 1 octave)
  1362. * Eq lowest band default value fixed to read 0
  1363. * Niclas' fix for the bessel function implemented
  1364. * uninitialised plugin states eliminated thanks to Damon
  1365. * linker options for OSX added to the Makefile
  1366. 0.4.2
  1367. * fixed the 'model' port index for AmpVTS in the RDF generator
  1368. 0.4.1
  1369. * cleaned up Eq.h and Eq.cc (many g++ versions choke on the unused code
  1370. there)
  1371. * changed -O3 to -O2 in the g++ invocation
  1372. 0.4.0
  1373. * ToneStack plugins, by David Yeh
  1374. * AmpV + Tone stack plugin, employing David Yeh's fine work
  1375. * comment cosmetics
  1376. * Amp* denormal protection fixed (or is it, Dave? ;)
  1377. * minor code cleanup in Amp.cc
  1378. * caps.rdf updated with plugin categories (thanks to Paul Winkler)
  1379. * caps.rdf Cabinet* RDF preset labels renamed
  1380. * AutoWah plugin
  1381. * DSP::RMS reworked, may affect Compress plugin
  1382. * DSP::Eq reworked for double precision and denormal protection
  1383. * ./configure.py checks SSE availability
  1384. * in case of SSE math denormal flush to zero activated for all plugins
  1385. * all plugins renamed C* .. instead of CAPS: ..
  1386. * Eq modified to play nice with ardour
  1387. * Eq2x2
  1388. * introduced the Plugin base class, collecting common traits (normal etc)
  1389. * getport() -- read access to control ports which is clamped to port bounds
  1390. and maps inf and nan to 0 as well
  1391. * all LADSPA_HINT_SAMPLE_RATE ports changed to *_LOGARITHMIC because
  1392. of broken implementations (no surprise given the vagueness of ladspa.h
  1393. regarding this matter) -- this means changed default parameters of the
  1394. affected ports, too
  1395. * VCO* "latency" output ports removed
  1396. * actual activate() call is deferred to first run() after activate()
  1397. in order to prevent inadvertent parameter smoothing sweeps during the first
  1398. block of audio after activation, this should fix all problems with ardour
  1399. (except those caused by denormals or invalid audio input)
  1400. * caps.rdf installed by 'make install'
  1401. * fixed a bug in tools/make-ps.py that caused the spectrum plots to
  1402. be inaccurate for multi-channel plugins
  1403. 0.3.0
  1404. * TwelveAX7_3 changed to clip slightly early in the upper lobe
  1405. * Scape plugin added
  1406. * plugin names rewritten, prefixed with "CAPS:"
  1407. * new ChorusII, StereoChorusII plugins
  1408. * Chorus, StereoChorus relabeled, appended 'I' suffix
  1409. * new PhaserII plugin (great stuff if I may say so)
  1410. * Phaser relabeled, appended 'I' suffix
  1411. * new AmpV plugin, based on AmpIII, emulates compression and distortion
  1412. modulation through power supply shortcomings, plus lots of fine-tuning
  1413. and an additional biquad. We're getting there!
  1414. * all Preamp and Amp models fitted with a new 12AX7 model, linear
  1415. interpolation of a sample table obtained from spice simulation
  1416. 0.2.4
  1417. * feedback default reverted to 0 for the Chorus units
  1418. * fixed Cabinet to switch to correct gain at 'model' control change
  1419. * fixed 'model' control in Cabinet to work with a broader range of hosts
  1420. * Cabinet name changed to CabinetI
  1421. * CabinetII plugin: Cabinet with 32nd order IIR filters, more fidelity
  1422. to the original frequency responses, supplied coefficients for 4 of the
  1423. most used sample rates
  1424. * applied the gcc-4 enabling patch
  1425. * SweepVF renamed to SweepVFI
  1426. * new SweepVFII plugin, variant of SweepVFI with Q modulated by a
  1427. second Lorenz fractal
  1428. * dsp/exp2 dumped in favour of libm's exp2(3)
  1429. 0.2.3
  1430. * StereoChorus denormal protection made functional
  1431. (Thanks again to S. Savolainen)
  1432. * Phaser denormal protected
  1433. 0.2.2
  1434. * Build was _not_ fixed for g++-4.0.
  1435. * AmpIV gain control restored to operate as expected
  1436. * Chorus/StereoChorus denormal protection (thanks to S. Savolainen)
  1437. * a few cosmetic changes elsewhere
  1438. 0.2.1
  1439. * Build fixed for g++-4.0, PPC and AMD64
  1440. (Thanks to Niklas Werner, Andreas Jochens and Mario Lang)
  1441. * Reverb.* cosmetics
  1442. * AmpIV tone controls moved to after initial tube transfer
  1443. 0.2.0
  1444. * denormal protection for Preamp*, Amp*
  1445. * Capitalized plugin Names
  1446. * PDF now lists audio in- and outputs as well as control inputs, only
  1447. gives average CPU rating
  1448. * AmpIV: PreampIV + power amp stage
  1449. * Plate2x2: Plate with 2-in, 2-out audio routing
  1450. * Plate damping and bandwidth controls changed to map to filter fc, fixes
  1451. behaviour in hosts that handle the log hint incorrectly
  1452. 0.1.13
  1453. * AmpIII activate() resets the boost filter
  1454. 0.1.12
  1455. * PreampIV band controls fixed to operate as expected
  1456. 0.1.11
  1457. * amps changed back to old tube model :) but new temp & gain behaviour stays
  1458. * SweepVF, AmpIII default value adjustments
  1459. 0.1.10
  1460. * HRTF recursion runs in doubles
  1461. * Cabinet recursion runs in doubles for much clearer sound
  1462. * all amps fitted with a common tube voltage mapping, dsp/TwelveAX7.h
  1463. * all amps: temperature and gain controls changed slightly
  1464. * all amps declared in one common Amp.h
  1465. * Pan echo fixed to be filtered independent of sample rate
  1466. * Cabinet cosmetics and activate() from port values fix
  1467. * SweepVF fixed to activate() from the current control settings
  1468. * rid all *amp* plugins of the initial hi-pass, not needed anymore
  1469. * PreampIII and AmpIII more authentic with an rbj lo-shelve, +6 dB > 1.2 kHz
  1470. as hinted by circuit analysis
  1471. * something_random() removed, stdlib for random generation
  1472. 0.1.9
  1473. * Pan plugin
  1474. * 'make depend' instead of 'make dep', uses $(CC) -MM instead of 'makedepend'
  1475. * *Chorus, AmpIII, Plate defaults changed
  1476. * *Chorus optimizations, reintroduces funny zipper noise when 'feedback' is
  1477. non-zero and 't' is changed
  1478. * experimental HRTF plugin
  1479. * Plate 'blend' goes all the way to wet output only
  1480. * dsp/White offers a get_31() method for reduced number of bitshifts needed
  1481. * *Chorus delay line tapping changed to employ cubic interpolation, sounds
  1482. better
  1483. * SweepVF modulation mix algorithm changed to clamp if over-fed, makes
  1484. for wider sweeps
  1485. 0.1.8
  1486. * all oversampling plugins use Kaiser windows instead of Blackman-Harris,
  1487. for much better performance
  1488. * SweepVF modulation range slightly increased
  1489. * Cabinet filter loop cosmetics (slight speedup)
  1490. * new AmpIII Plugin: Preamp plus power amp emulation
  1491. * lowered NOISE_FLOOR (equals 'renormal' number)
  1492. 0.1.7
  1493. * connect ports to lower bound on instantiate()
  1494. * Plate delay line lengths raised, sound changed
  1495. * Eq activate() fixed to initialize from the current settings
  1496. * Preamp* cutoff reverted to 0.1.3 setting, thanks to Ben Saylor for
  1497. testing
  1498. * old IIR-based Preamp cleaned from the sources
  1499. * zipper-noise in *Chorus units for t changes with feedback > 0 eliminated
  1500. * all plugin constructor code moved to init() calls
  1501. 0.1.6
  1502. * SweepVF modulation mix algorithm changed to maintain proportion, not
  1503. absolute value if x + y + z > 1, for better control
  1504. * create $(DEST) directory on make install, pointed out by Daniel James
  1505. 0.1.5
  1506. * fixed delay line length miscalculation in ModLattice
  1507. 0.1.4
  1508. * SweepVF modulation source can be mixed now
  1509. * latency port for VCO*
  1510. * Lorenz and Roessler get x, y, z mixing knobs
  1511. * PreampIV eq bands slightly tuned and coefficients moved into common struct
  1512. * Preamp*, VCO* downsampler filter cutoff lowered
  1513. * Clip downsampler filter cutoff lowered
  1514. * nonsensical audio output bounds removed
  1515. * simplified VCO* implementation
  1516. * JVRev rewritten for code clarity (funny enough, it also got quicker)
  1517. * fixed JVRev to reset its history on activate()
  1518. * added purpose, copyright and licensing information to all (i think) files.
  1519. * HACKING file
  1520. * CHANGES file
  1521. 0.1.3
  1522. * fixed all compilation problems with gcc 3.3, with the patient help
  1523. of the lad mailing list community
  1524. * dsp/Eq.h SSE assembler code had to go (gcc > 3 doesn't like multi-line
  1525. asm, and efficiency and even reliability go down if we allow gcc to
  1526. intersperse its 'optimization' code with our asm)
  1527. 0.1.2
  1528. * fixed more compilation problems with gcc >= 3.0
  1529. 0.1.1
  1530. * tried to (but didn't really) fix compilation problem with ladspa.h
  1531. 0.1.0
  1532. * initial release
  1533. </pre>
  1534. <p id=foot>
  1535. <a name=dat97-1 href=#dat97-1-1>[1]</a>
  1536. J. Dattorro, "Effect Design Part 1: Reverberator and Other Filters",
  1537. <i>J. Audio Eng. Society</i>, vol. 45, No. 9 (1997 September).<br>
  1538. <a name=yeh06 href=#yeh06-1>[2]</a>D.T. Yeh, and J.O. Smith,
  1539. " Discretization of the '59 Fender Bassman Tone Stack",
  1540. <i>Proc. of the Int. Conf. on Digital Audio Effects (DAFx-06)</i>,
  1541. Montreal, Quebec, Canada, Sept. 18&ndash;20, 2006, pp. 1-6.<br>
  1542. </p>
  1543. </div>
  1544. &nbsp;<br>
  1545. <div class=foot>
  1546. tim@<a href=http://quitte.de/>quitte.de</a>, March 26 2011.
  1547. </div> </center>
  1548. </body>
  1549. </html>