I’m happy to announce the release of a modeling of the Fender Bassman preamplifier stage based on the Audio Toolkit. They are available on Windows and OS X (min. 10.9) in different formats.
A few months ago, I started playing with the Bela board. At the time, I had issues compiling Audio ToolKit with clang. Since then and thanks to Travis-CI, I figured out what was going on. Unfortunately, the Beagle Board doesn’t have complete C++11 support, so I’ve added the remaining pieces, and you need also a new Boost.
I have now some time to play with this baby:
The CPU may not be blazingly fast, but I hope I can still do something with it. The goal of this series will be to try different algorithms and see how they behave on the platform.
There are so many different distortion/overdrive/fuzz guitar pedals, and some have a better reputation than other. Two of them have a reputation of being closed (one copied on the other), and I already explained how one of these could be modeled (and I have a plugin with it!). So let’s work on comparing the SD1 and the TS9.
Update: It seems I have misunderstood the DK method, so instead I’m using a variation of the Nodal Analysis, so this can be understood as a state-space MNA method.
When analyzing a circuit form scratch, we need to replace all capacitors by an equivalent circuit and solve the equation with this modified circuit. Then, the equivalent currents need to be updated with the proper formula.
Let’s dive directly inside the second diode clipper and follow exactly the same pattern.
Now that we have a few methods, let’s try to simulate them. For both circuits, I’ll use the forward Euler, then backward Euler and trapezoidal approximations, then I will show the results of changing the start estimate and then finish by the Newton Raphson optimization. I haven’t checked (yet?) algorithms that don’t use the derivative like the bisection or Brent algorithm.
All graphs are done with a x4 oversampling (although I also tried x8, x16 and x32).
Let’s start with the two equations we got from the last post and see what we can do with usual/academic tools to solve them (I will tackle nodal and ZDF tools later in this series).