Guitarix: dkbuilder: von der Schaltung zum LV2-Plugin

khz

||||||||||
<c/p von Quelle: dkbuilder: from circuit to LV2 plugin >> https://linuxmusicians.com/viewtopic.php?f=44&t=19586>

####

Pre-requests:
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:
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
mkvirtualenv -r python_venv guitarix

when done, close your terminal and open your ~/.bashrc with a editor and add the following macro at the end of file:

Code:
dkbuilder() {
  source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
  cd /path/to/guitarix-git/trunk/tools/ampsim/DK/gschem-schematics
  workon guitarix
}

of-course, replace the /path/to with your path.

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:
(component-library "/path/to/guitarix-git/trunk/tools/ampsim/DK/gschem-symbols")
of-course, you know what to do with the /path/to part.

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.
u6aenwir.png


Now, let's say you would create a plugin from this schematic:
Baja+Real+Tube+Overdrive+Schematic.png


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
yb3mbvts.png

BajaTubeDriver.sch
uh7xawpq.png

BajaTubeDriverp3.sch
usil3kf7.png


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:
build-plug.py -i BajaTubeDriverp1.sch BajaTubeDriver.sch BajaTubeDriverp3.sch --table 2  --build -n BajaTubeDriver

this will create the faust source code, create a non-linear response table (a plot of it will be shown) for the 2. circuit and concatenate all together into one file, and finally build and install the guitarix plugin, which you'll find in guitarix under the "Extern" category.
Check the build-plug-py file for more build options, eg. you could do a frequency plot of a circuit, etc.

Now, say you would create a LV2 plugin from it, run:

Code:
python build-plug.py -i BajaTubeDriverp1.sch BajaTubeDriver.sch BajaTubeDriverp3.sch --table 2  --buildlv2 -n BajaTubeDriver

this will build a LV2 bundle with a X11 based interface and install it to your ~/.lv2 directory, so do a rescan in your LV2 host and you could use it.
qaskw7ha.png


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

####

</c/p von Quelle: dkbuilder: from circuit to LV2 plugin >> https://linuxmusicians.com/viewtopic.php?f=44&t=19586>
 
Zuletzt bearbeitet:


News

Zurück
Oben