# Axe-Fx III Firmware Release Version 13.00 Public Beta

#### rodzimguitar68

##### Fractal Fanatic
I’ve avoided the drive blocks because I am happy with what can be accomplished with an amp block and non-standard controls.

I’m excited about auditioning drive blocks after I do this update.

Thanks Cliff

• William Mims

#### Mark Al

##### Inspired
An explicit solution is one where the output does not depend on itself, i.e.
V = f(Vin)

An iterative implicit solution is where you have to iterate an equation to get the result. For example consider a hypothetical component where the current is a function of the voltage. I.e.
I = f(V)

In a series circuit with a resistor the voltage across the device would be
V = Vin - I*R = Vin - f(V)*R

Let's say the function is I = V^2

So then
V = Vin - V^2 * R

V is on both sides of the equation. One way to solve this is using Newton's method (x = x - f(x)/f'(x)). But that takes a lot of time because you have to keep iterating until the error is below some desired value. You also have to use the derivative which adds computations. The other problem is stability/convergence. Sometimes the solution "blows up" and doesn't converge. This is unacceptable in a real-time system.

A resistor in series with a diode results in an equation with an exponential (or log) function that needs to be solved along with its derivative.

Now when you add a capacitor in parallel with the diode you complicate things even further because now you have a nonlinear ordinary differential equation (ODE). So the current is not only a function of the voltage, the voltage has "memory" due to the capacitor. Solving these types of networks is extremely time consuming. Things like SPICE use implicit solutions like Runge-Kutta 4 (RK4).

I've been working on this for a while and came up with a semi-explicit solution that doesn't require iteration, has the accuracy of implicit solutions and is nearly as fast as explicit solutions.

This is a graph of a 1K resistor in series with a diode. The blue trace is the reference and was derived by solving the network using Newton's method. The red trace is the semi-explicit solution. If you can't see the blue trace that's because the red trace is nearly exactly on top of it.

View attachment 71052

On the Axe-Fx III solving the network using Newton's method uses over 30% CPU. The semi-explicit method is around 6%.
It’s been years since I leaned and played with SPICE and Runge-Kutta... If you achieve such speed Improvement with comparable accuracy for an nonlinear ODE of general enough form, you should consider submit a paper, Sir • trb, is9582 and TheSGKing

#### yek

##### Legend!
• Box o'Crunch, based on the MI Audio Crunch Box v1
• OD 250 now has two variations: OD 250 and OD 250 Gray (DOD)
• Precise Drive, based on the Precision Drive (Horizon Devices)
• TS9DX [edit: TS9DX+]
• Timothy now has 3 variations: 1, 2 and 3
Also, the Ruckus is now called Suhr Riot.

Last edited:
• • • Azael, David Houck, thom_bjork and 39 others

#### Knaggster

##### Inspired
Is there something in this update that uses more CPU? I noticed that some of my presets that were in the high 80's are now running in the 91 - 92% area.

#### IronSean

##### Experienced
It’s been years since I leaned and played with SPICE and Runge-Kutta... If you achieve such speed Improvement with comparable accuracy for an nonlinear ODE of general enough form, you should consider submit a paper, Sir Relevant XKCD:
https://xkcd.com/664/

• • TG3K, Coil68, Dave Merrill and 1 other person

#### toneseeker911

##### Inspired
An explicit solution is one where the output does not depend on itself, i.e.
V = f(Vin)

An iterative implicit solution is where you have to iterate an equation to get the result. For example consider a hypothetical component where the current is a function of the voltage. I.e.
I = f(V)

In a series circuit with a resistor the voltage across the device would be
V = Vin - I*R = Vin - f(V)*R

Let's say the function is I = V^2

So then
V = Vin - V^2 * R

V is on both sides of the equation. One way to solve this is using Newton's method (x = x - f(x)/f'(x)). But that takes a lot of time because you have to keep iterating until the error is below some desired value. You also have to use the derivative which adds computations. The other problem is stability/convergence. Sometimes the solution "blows up" and doesn't converge. This is unacceptable in a real-time system.

A resistor in series with a diode results in an equation with an exponential (or log) function that needs to be solved along with its derivative.

Now when you add a capacitor in parallel with the diode you complicate things even further because now you have a nonlinear ordinary differential equation (ODE). So the current is not only a function of the voltage, the voltage has "memory" due to the capacitor. Solving these types of networks is extremely time consuming. Things like SPICE use implicit solutions like Runge-Kutta 4 (RK4).

I've been working on this for a while and came up with a semi-explicit solution that doesn't require iteration, has the accuracy of implicit solutions and is nearly as fast as explicit solutions.

This is a graph of a 1K resistor in series with a diode. The blue trace is the reference and was derived by solving the network using Newton's method. The red trace is the semi-explicit solution. If you can't see the blue trace that's because the red trace is nearly exactly on top of it.

View attachment 71052

On the Axe-Fx III solving the network using Newton's method uses over 30% CPU. The semi-explicit method is around 6%.
I believe you should publish this. These types of numerical optimizations are massively useful in a lot of areas.

#### bdrepko

##### Fractal Fanatic
wow, read the description, didn’t understand a word of it but still excited....☝

An explicit solution is one where the output does not depend on itself, i.e.
V = f(Vin)

An iterative implicit solution is where you have to iterate an equation to get the result. For example consider a hypothetical component where the current is a function of the voltage. I.e.
I = f(V)

In a series circuit with a resistor the voltage across the device would be
V = Vin - I*R = Vin - f(V)*R

Let's say the function is I = V^2

So then
V = Vin - V^2 * R

V is on both sides of the equation. One way to solve this is using Newton's method (x = x - f(x)/f'(x)). But that takes a lot of time because you have to keep iterating until the error is below some desired value. You also have to use the derivative which adds computations. The other problem is stability/convergence. Sometimes the solution "blows up" and doesn't converge. This is unacceptable in a real-time system.

A resistor in series with a diode results in an equation with an exponential (or log) function that needs to be solved along with its derivative.

Now when you add a capacitor in parallel with the diode you complicate things even further because now you have a nonlinear ordinary differential equation (ODE). So the current is not only a function of the voltage, the voltage has "memory" due to the capacitor. Solving these types of networks is extremely time consuming. Things like SPICE use implicit solutions like Runge-Kutta 4 (RK4).

I've been working on this for a while and came up with a semi-explicit solution that doesn't require iteration, has the accuracy of implicit solutions and is nearly as fast as explicit solutions.

This is a graph of a 1K resistor in series with a diode. The blue trace is the reference and was derived by solving the network using Newton's method. The red trace is the semi-explicit solution. If you can't see the blue trace that's because the red trace is nearly exactly on top of it. On the Axe-Fx III solving the network using Newton's method uses over 30% CPU. The semi-explicit method is around 6%.
That cleared it right up!

• • Coil68 and ectoplasm88

#### randyman

##### Experienced
Happy birthday to me … happy birthday to me …  Woohoo!

• Jambi

#### iaresee

Moderator
• • chkayleebear and ectoplasm88

#### InsideOut

##### Power User
Thanks Cliff!! Does the new algorithm apply to the drives in the Amp block as well? Just curious.

#### Genghis

##### Power User
Is there something in this update that uses more CPU? I noticed that some of my presets that were in the high 80's are now running in the 91 - 92% area.
Could be the drives. The release notes mention that the improvements make for a slight perfoemance hit.

• Andy_V, sskkmm and IronSean

#### IronSean

##### Experienced
Thanks Cliff!! Does the new algorithm apply to the drives in the Amp block as well? Just curious.

My guess is no, as the amp block boosts aren't usually running the drives with diode clipping, they're just running them as clean boosts using whatever tone shaping the drives add when being used with Drive at 0.

• #### Mark Al

##### Inspired
By the way, which drive is modeled after Klon Centaur family?

• • • philipacamaniac, delaticoalsotano, dr bonkers and 2 others

#### IronSean

##### Experienced
• chkayleebear and Mark Al

#### MK-9

##### Inspired
An explicit solution is one where the output does not depend on itself, i.e.
V = f(Vin)

An iterative implicit solution is where you have to iterate an equation to get the result. For example consider a hypothetical component where the current is a function of the voltage. I.e.
I = f(V)

In a series circuit with a resistor the voltage across the device would be
V = Vin - I*R = Vin - f(V)*R

Let's say the function is I = V^2

So then
V = Vin - V^2 * R

V is on both sides of the equation. One way to solve this is using Newton's method (x = x - f(x)/f'(x)). But that takes a lot of time because you have to keep iterating until the error is below some desired value. You also have to use the derivative which adds computations. The other problem is stability/convergence. Sometimes the solution "blows up" and doesn't converge. This is unacceptable in a real-time system.

A resistor in series with a diode results in an equation with an exponential (or log) function that needs to be solved along with its derivative.

Now when you add a capacitor in parallel with the diode you complicate things even further because now you have a nonlinear ordinary differential equation (ODE). So the current is not only a function of the voltage, the voltage has "memory" due to the capacitor. Solving these types of networks is extremely time consuming. Things like SPICE use implicit solutions like Runge-Kutta 4 (RK4).

I've been working on this for a while and came up with a semi-explicit solution that doesn't require iteration, has the accuracy of implicit solutions and is nearly as fast as explicit solutions.

This is a graph of a 1K resistor in series with a diode. The blue trace is the reference and was derived by solving the network using Newton's method. The red trace is the semi-explicit solution. If you can't see the blue trace that's because the red trace is nearly exactly on top of it.

View attachment 71052

On the Axe-Fx III solving the network using Newton's method uses over 30% CPU. The semi-explicit method is around 6%.

I cannot math today. I have the dumb. But...thanks.

• • SacredGroove, celongcor, Larz and 2 others

#### GreatGreen

##### Power User
So if I were to use the Axe-Fx III as a (very expensive ) overdrive/distortion pedal and route it between the guitar and a tube amp's input, the best way to do this would be to use the Axe-Fx's Outputs 3 or 4 with the output knobs fully clockwise as that's the setup for unity gain, right?

What's Output 3 and 4's max output level, just so we know how high we can accurately set the drive block's Level knob in this scenario?

Last edited:

#### yek

##### Legend!
Is there something in this update that uses more CPU? I noticed that some of my presets that were in the high 80's are now running in the 91 - 92% area.

As noted in the release notes: yes.

I have 3 drives in one preset and CPU went up with about 6-7% by estimate. May depend on the type of drive.

It depends on the type of drive. Diode-based drive types bump CPU usage with a couple of percentage points, for each Drive block.

Last edited:
• austinbuddy

#### FractalAudio

Fractal Audio Systems
Moderator
So if I were to use the Axe-Fx III as a (very expensive ) overdrive/distortion pedal and route it between the guitar and a tube amp's input, the best way to do this would be to use the Axe-Fx's Outputs 3 or 4 as they're setup for unity gain, right?
Correct. Turn the corresponding knob on the front panel all the way up.

• trb and austinbuddy

#### unix-guy

##### Legend!
Cliff likes to make up cool words
foe the ipdate

Hmmm... • RevDrucifer and TG3K

#### InsideOut

##### Power User
Hmmm... Shoe Tae

• IronSean and unix-guy