Can I try to finish installing guitarix once as a way to install the dependencies needed for dk-bulider? I wonder if that would increase the success of my installation.
dkbuilder is very old by now, the used python version is outdated.
The only way to use it by now is to set it up in a docker container.
You’ll find a dockerfile in the DK folder which could setup a container based on debian10.
Hi @brummer ,
I set up the environment using Docker, but I’m encountering these errors. Could you please advise how to resolve this? Initially, FAUST was version 2.14.4 during installation. After checking the link provided above, I downgraded FAUST to 0.9.90, but I’m still unable to get it running.
mmm.
Works here as expected.
S = ((R(12), 'u11', 'u2',),
(R(11), GND, 'u10',),
(R('L'), 'u12', 'V6',),
(L(1), 'u8', 'u12',),
(R(3), 'u3', '+9V',),
(V('cc'), '+9V',),
(P(1), 'u10', 'u11', 'u9',),
(C(1), 'V2', 'V1',),
(R(10), GND, 'u6',),
(R(5), GND, 'V6',),
(R(7), 'u8', 'V6',),
(R(6), 'V6', 'u3',),
(R(8), 'u5', 'u3',),
(R(1), 'V1', 'u7',),
(C(4), 'u5', 'u9',),
(C(3), 'u6', 'u8',),
(R(4), GND, 'u4',),
(R(2), 'u8', 'V2',),
(C(2), 'V6', GND,),
(T(2), 'u1', 'u5', 'u6',),
(T(1), 'u3', 'V2', 'u4',),
(C(6), 'u2', 'u3',),
(R(9), 'u1', '+9V',),
(OUT, 'u2',),
(IN, 'u7',),
)
V = {C(1): 0.01e-6,
C(2): 4.7e-6,
C(3): 0.01e-6,
C(4): 0.22e-6,
C(6): 0.22e-6,
L(1): 0.5,
P(1): dict(value=80.e3, var='Wah', a=3),
R('L'): 60.,
R(1): 68.e3,
R(10): 10.e3,
R(11): 10.e3,
R(12): 10.e3,
R(2): 1.5e3,
R(3): 22.e3,
R(4): 510.,
R(5): 100.e3,
R(6): 470.e3,
R(7): 33.e3,
R(8): 470.e3,
R(9): 1.e3,
T(1): dict(Vt=26e-3, Is=20.3e-15, Bf=1430, Br=4),
T(2): dict(Vt=26e-3, Is=20.3e-15, Bf=1430, Br=4),
V('cc'): 9.,
}
build lv2_plugin from: ['VoxWahV847.sch']
VoxWahV847
Please select a Plugin type from the list
1) DelayPlugin 14) BandpassPlugin 27) FlangerPlugin
2) ReverbPlugin 15) CombPlugin 28) PhaserPlugin
3) DistortionPlugin 16) EQPlugin 29) ReverbPlugin
4) WaveshaperPlugin 17) MultiEQPlugin 30) SimulatorPlugin
5) DynamicsPlugin 18) ParaEQPlugin 31) ReverbPlugin
6) AmplifierPlugin 19) HighpassPlugin 32) SpatialPlugin
7) CompressorPlugin 20) LowpassPlugin 33) SpectralPlugin
8) EnvelopePlugin 21) GeneratorPlugin 34) PitchPlugin
9) ExpanderPlugin 22) ConstantPlugin 35) UtilityPlugin
10) GatePlugin 23) InstrumentPlugin 36) AnalyserPlugin
11) LimiterPlugin 24) OscillatorPlugin 37) ConverterPlugin
12) FilterPlugin 25) ModulatorPlugin 38) FunctionPlugin
13) AllpassPlugin 26) ChorusPlugin 39) MixerPlugin
I guess you’ve downloaded the latest source from guitarix github repository. Then point your terminal to the /trunk/tools/ampsim/DK/docker/ folder and run
‘./docker-dkbuilder’ /were/ever/you’ve/guitarix/downloaded/to/guitarix-git/
The important step is to point the docker script to the guitarix-git source code, otherwise it wouldn’t find them after the docker image is ready to use.
personality failure 1
This looks as if something goes wrong during build the docker image.
You could just run the ./docker-dkbuilder /with/path/to/guitarix-git/
again.
You could run that anytime you want to use the dkbuilder.
EDIT:/
I did some tests, and yes, it indicate that you miss the personality.json file which is needed for security settings.
Ensure you use the docker-dkbuilder script to build the image, and not try to build it directly from the Dockerfile.
docker-dkbuilder download the personality.json file and set it as --security-opt for guitarix-dkbuilder.
It should also be used to start the image, as it set all needed environment variables so that dkbuilder works.
Hi, @brummer
Thank you very much for your answer.
I describe my entire process and show to see where there are errors in the process. I have other errors in the operation now.
First, I pulled the guitarix directory from github, and I can see that the directory already contains the guitarix folder.
Then I entered the following command as if the docker container had been opened by this step.
At this time the example command has been displayed, is this successful?
But after I enter the content of the example command, the following error appears
This is not the original guitarix source code from the github repository.
Please use
git clone https://github.com/brummer10/guitarix.git
cd guitarix
git submodule update --init --recursive
to get the original actual source code.
analog.py line 772 should looks like this:
print >>f, "\nc = %s;" % c
as it is written for python2
what you have there looks to my like the ‘try to python3 port’ by Dominique Michel, this one never was finished and never works.
Thank you very much for your answer.
I seem to have gotten the program up and running successfully, I don’t know if it’s running correctly or not
Yes, you’ve build GxVoxWah from the circuit (check the guitarix-git/trunk/tools/ampsim/DK/gschem-schematics folder for the schematic) and installed it on your system. Looks like you running a virtual box, so it’s installed inside the virtual box. The source code for the plug you find in /guitarix-git/trunk/tools/ampsim/DK/buildlv2/gx_voxwahv847.lv2
now you could create your own circuits and try to build a LV2 plug from them. As pointed out earlier, that may or may not work, circuit solving is highly experimental, and fail often for small issues resulting from small differences between ideal and real values used for resolving.
Note, after you’ve run dkbuilder once, you could run ./build-plug.py directly instead run dkbuilder && ./build-plug.py in that session.
When ever you restart a session you must run dkbuilder once to set the builder up.
I’ve just updated the docker-dkbuilder to add X support to the docker. That means with latest changes you could now use gschem to edit circuits directly from the docker image and display the frequency plots when create a non-linear circuit…
It also ensure now that the resulting build files could be edited as normal user afterwards.
So just do a git pull
on the guitarix-git repository and run docker-dkbuilder to get the changes.
Have to say.This tool is so much fun to use!
Now,I found some lv2 plugins and their corresponding dsp files in the guitarix files, like bossds1 and mxrdist, but I didn’t find the corresponding schematic files, and I can’t see the word “auto-generated” at the beginning of the FAUST file code for mxrdist. Are these two codes edited manually on FAUST? Or are they based on different parts of the circuit, such as pre-eq, post-eq, non-linear parts, and finally put together?
They are older. Once I’ve generated filters (IIR) from parts of the circuit and stick them together afterwards by hand edit. Also the non-linear parts I’ve generated by extra scripts and wrote the solvers by hand. Later I wrote build-plug.py and circ_table_gen.py to automate those steps.
Now that all could be done by a single command.
I haven’t push all circuit’s I’ve worked on to the repository, that are way to much. I just put enough there to get a inspiration for what could be done.
Keep in mind to split circuits in small pieces to get best match, build-plug.py could stick them together into one faust source file (LV2 plugin) afterwards.
Is it possible to share some sch files by uploading to github or email? At the moment I don’t really understand the way some devices are named when drawing sch, which makes it impossible to convert. Is it possible to send me some pedal sch files that I can splice and modify into other pedal circuit diagrams based on the original.
I could send you some, but, easiest way to getting started is open
/guitarix-git/trunk/tools/ampsim/DK/gschem-schematics/Startset.sch
This is just a collection of all supported symbols ready to use to create your schematic.
Remember to save the file to a other name before you start edit it, so that you could use the Startset again unchanged when you start your next circuit.
General rule is that every used symbol in a circuit must have a unique identifier (R1, R2, . . D1, D2, . . U1, U2, . . T 1. .) otherwise the netlist generation will fail. Unconnected connectors could become a issue, but must not necessary be a one, depend on the circuit flow. Other than that you could set the values to your needs.
Thank you for your reply. Could you please send it to me through this email?
During the process of building the sch file, I found that some transistor or amplifier models are not available in the EDA library. How can I know which models are available for circuit simulation? Is there a file listing the components and specific models that can be simulated
The components available been all shown in the Startset.sch file. No other components been modelled.
Transistor, tube and diode types predefined been defined in circ.py. There you could check which types been defined. If you need other types you could just set the values for them in gschem (right click on a component open the component editor).
The models itself (the solvers) you find in models.py, If you wish to add a model you must define it there.
So I’ll collect a circuit set and send it to you, hope you’ve some fun with it.
I wonder if it is possible to use different opamp to achieve different modeling effects, such as tl072 or LM308 or something like that. I found that in the dsp files of DS1 and MXRdist, there is the use of nonlinear tables for opamp. In the clipping.h file, there are different opamp tables.
You could use different opamp models in the sense that you could edit the value fields to match the specs of a other model. You could take the specs from data sheets or you’ll find a spice library for the model you want to use and take the values from there.
You could then as well set the model name in the schematic file so you remember what it is. But, other “Models” in the sense of more pins, will only be possible when a solver in the model.py file is written.
Thank you for your reply.That is to say, I only need to get the parameters from the opamp datasheet and fill in the gEDA opamp device details? (opamp parameters can also be obtained from SPICE?)
In addition, could you please share a sch file of ds1 and mxrdist with me? I may need to refer to the parameters and format of opamp to know how to fill in the parameters of opamp.( ̄▽ ̄)
I’m sorry, I didn’t have those any more. But, for building the DS1 and MXR Distortion, there been good resources on ElectroSmash:
I’m pretty sure I used those to create my schematic files
Ah, and sorry, I was wrong with the parameters for the opamp model, (it’s some time now that I’ve done this), the model is to generic to take spice parameters. That worked for tubes and diodes in the dkbuilder, but not for opamps. For the opamp you could only set the working voltage range (Vcc Vee)
Thanks for the explanation and the links~🤗
I’m still quite unfamiliar with LV2 plugins. I used the Guitarix tool to generate a .lv2 folder. Maybe this is an LV2 plugin? But inside, I only saw uncompiled cc and h files. Also, when I tried to put it into Ardour, it couldn’t be scanned. I looked at other LV2 plugins in Mod, and they had .so files. So I think I might have missed a step. Could you please tell me what I should do next?