From: Andreas D. <and...@go...> - 2013-12-10 23:34:10
|
Hi, this is the next plugin built with the ampsim toolkit, the preamp part of the JCM800. It's still rather big (about 400k, but the tables which make up the size could be trimmed a lot). The RT load on my laptop is now down to under 15%. You can find it in https://www.dropbox.com/sh/icv00zcfkudbg2a/QUqj43ku3z Download JCM800Pre.so (built on Ubuntu 13.10, x86/32 bit) or JCM800Pre.cpp build_jcm800_preamp and build the .so file with "sh ./build_jcm800_preamp". You need the eigen3 c++ lib and libzita-convolver dev packages for compiling. The shared lib itself depends on libzita-convolver and the c++ stdlib (there is no eigen3 runtime lib). The .so file is a Guitarix plugin (not LV2), you need to copy it to ~/.config/guitarix/plugins. You can find it then in the Guitarix externals plugin category. For testing you should clear the guitarix effect stack, switch off any other sound modification especially the tube section (select "---" to switch it off). Then add the JCM800 after the (deactivated) main amp box, followed by the tonestack (select JCM800) and the cab simulation (select Marshall). Optionally you can add the tube screamer directly before the JCM800, and in the stereo section chorus / zita-rev2. Then you can use the master level controller of the tube section for the input level of the JCM800 (somewhere between -10 and +20 dB). The tube screamer makes a nice fat sound (i think it triggers some special behavior of the tube amp that depends on the input signal slope, which makes a less dull sound than when using simpler effect units after it). Of course you can use any other effect configuration, but this is the main one that I used for testing. The amp simulation uses the zita resampler to upsample to 96kHz, so it's independent of the input sample rate. Output is the signal before the tone stack network, scaled down to the +-1 range, with an added DC blocker. The circuit schematics is in ampsim/DK/preamp.sch (though I'm using the equivalent netlist from circ.py). The volume pot is replaced by a fixed 50% voltage divider, which is quite high up on a logarithmic scale. It effects not only the volume level, but there should also be a highpass filter effect for lower volumes (as least this would make sense :) because on high levels it shorts C5. Anyhow, when I include this volume control some important optimizations are not possible, and i'm not sure it's worth it. (The script for generating the source is build-jcm800-preamp.py, but I didn't check in the needed toolkit changes yet, which anyhow is still not readable and rather experimental..) cheers Andreas |