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).
I’ve published a few years ago an emulation of the SD1 pedal, but haven’t touched analog modeling since. There are lots of different methods to model a circuit, and they all have different advantages and drawbacks. So I’ve decided to start from scratch again, using two different diode clippers, from the continuous equations to different numerical solutions in a series of blog posts here.