Tag Archives: C++

Analog modeling of a diode clipper (4): DK-method

DK method is explained at large by David Ye in his thesis. It’s based around nodal analysis and was also extensively used by cytomic in his papers.

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.
Continue reading Analog modeling of a diode clipper (4): DK-method

Analog modeling of a diode clipper (3a): Simulation

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).

Continue reading Analog modeling of a diode clipper (3a): Simulation

Analog modeling of a diode clipper (2): Discretization

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).

Continue reading Analog modeling of a diode clipper (2): Discretization

Announcement: Audio ToolKit moves to its own website

I’ve decided to create a real space for Audio ToolKit. The idea is to make it more visible, with a consistent message to the users.

In addition to this move, this blog has move to a subdomain there (and you may have noticed it) and Audio ToolKit documentation as well.

Continue reading Announcement: Audio ToolKit moves to its own website

Analog modeling of a diode clipper (1): Circuits

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.

Continue reading Analog modeling of a diode clipper (1): Circuits

Announcement: Audio TK 1.1.0

This is mainly a bug fix release. A nasty bug on increasing processing sizes would corrupt the input data and thus change the results. It is advised to upgrade to this release as soon as possible.

Continue reading Announcement: Audio TK 1.1.0

Announcement: Audio TK 1.0.0

This is the first stable release of the Audio Toolkit, after more than a year of development. In addition to the serial pipeline, there is now an option to use TBB to render each chunk in parallel. The pipeline can also return the maximum latency the pipeline possesses if all latency information is given during the build of the pipeline.

Additional filters were also added to complement the current set of filters.

Continue reading Announcement: Audio TK 1.0.0

Audio Toolkit: Different low pass filters

There are several different low pass filters, and as many high pass, band pass, band stop… filters. In Audio toolkit, there are different usual implementation available:

  • Bessel
  • Butterworth
  • Chebyshev type 1
  • Chebyshev type 2
  • Second order
  • Linkwitz-Riley
  • RBJ

and it is possible to implement other, different orders as well…
Continue reading Audio Toolkit: Different low pass filters

Announcement: Audio TK 0.7.0

Focus on this release was on performance. As such the core functions were optimized, as well as some tools and EQ.

A new filter dedicated to fast convolution (using a fixed-size partition with a mix of FFT convolution and explicit FIR filter) with 0 latency was added.

Continue reading Announcement: Audio TK 0.7.0