geda, geda-gattrib, geda-gnetlist, geda-gschem, geda-gsymcheck, geda-symbols, python-virtualenv, virtualenv, virtualenvwrapper, faust 0.9.90, libeigen3-dev, libcminpack-dev, libsundials-serial-dev, maxima (maxima-share) and guitarix source from git repository
when you've installed all that, set up a virtualenv to work with the dkbuilder. Point your terminal to the folder /trunk/tools/ampsim/DK/ in the guitarix source tree, and run :
Code: Select all
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
mkvirtualenv -r python_venv guitarix
Code: Select all
dkbuilder() {
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
cd /path/to/guitarix-git/trunk/tools/ampsim/DK/gschem-schematics
workon guitarix
}
now you could use the dkbuilder by simply typing "dkbuilder" in your terminal.
the dkbuilder use some additional symbols which are in /guitarix-git/trunk/tools/ampsim/DK/gschem-symbols. To use them you need to edit your ~/.gEDA/gafrc file. (if not exist, create it) and add the following line to it:
Code: Select all
(component-library "/path/to/guitarix-git/trunk/tools/ampsim/DK/gschem-symbols")
workflow:
Now you could create a circuit with gschem, the geda schematic editor. For easy starting you could open /guitarix-git/trunk/tools/ampsim/DK/gschem-schematics/Startset.sch which comes with a couple of predefined elements you could use to stick your circuit together.
Now, let's say you would create a plugin from this schematic:
The best way is to split the schematic, we've a input buffer ( or preamp here), a amp (that'S were the non-linearity happen here) and a output buffer (here a passive tone and volume control). So creating 3 circuit's from the circuit above:
BajaTubeDriverp1.sch
BajaTubeDriver.sch
BajaTubeDriverp3.sch
Result:
To build a guitarix plugin from the circuit's start the dkbuilder, and run the build-plug.py script with the following command:
Code: Select all
build-plug.py -i BajaTubeDriverp1.sch BajaTubeDriver.sch BajaTubeDriverp3.sch --table 2 --build -n BajaTubeDriver
Check the build-plug-py file for more build options, eg. you could do a frequency plot of a circuit, etc.
* non-linear response
Now, say you would create a LV2 plugin from it, run:
Code: Select all
python build-plug.py -i BajaTubeDriverp1.sch BajaTubeDriver.sch BajaTubeDriverp3.sch --table 2 --buildlv2 -n BajaTubeDriver
All that said, please note that the dkbuilder is still experimental, only advanced users (developers) should use it, however, I like to share my workflow here with you, so, if you interested in electronic circuit's, C++ development and open source, you may have fun with this toolkit.
regads
hermann