[sdiy] [OT] Tube Screamer in depth modelling
Andrew Simper
andy at cytomic.com
Tue May 23 11:37:43 CEST 2017
I'm using straight up SPICE MNA maxtrix solving with NR iterations,
but the entire solver is automatically generated from a high level
circuit definition. I haven't written a parser for a netlist yet, but
I plan to do that in the future so I can draw the circuit using
LTSpice, then automatically convert that to an SSE2 class that solves
for that circuit. Currently the circuit is specified in c code like
this:
www.cytomic.com/files/scream-code-gen-example.pdf
The code that gets generated is branch free and the every expression
is optimised to make the solving of the circuit as efficient as
possible, automatically pulling out all pre-computable constants (init
time consts, per sample consts, and inner NR loop consts), and there
are lots of specific hacks to get things to converge in a stable
manner.
There are some optimisations that can be made by pre-computing multi
dimensional tables, which are great to hot start the solver, but I've
found you always need a couple of fine tuning NR iterations to really
get a smooth solution. I am yet to implement any hot starts for The
Scream, but I've done this in the past for various (very basic)
circuits.
Cheers,
Andy
On 23 May 2017 at 16:38, Leonardo Laguna Ruiz <modlfo at gmail.com> wrote:
> Hi Andy,
>
> this topic is very interesting for me. I work developing simulators and many
> years back I developed a (not so good sounding) model of the MT-2 pedal. I
> wonder what kind of methods you used to make it. Did you used a SPICE-like
> approach or an ODE/DAE solver?
>
> Leonardo
>
>
> On 05/23/2017 09:18 AM, Andrew Simper wrote:
>>
>> Hi Guys,
>>
>> I know this is a little off topic since strictly speaking it's not a
>> synth that is being modelled, but I know lots of people on this list
>> do various DSP analog modelling from time to time, and use SPICE (etc)
>> to model stuff.
>>
>> I'm just finishing off a VST/AU/AAX plugin that is a full discrete
>> component model, and modified Boyle op-macro model, of an Ibanez Tube
>> Screamer TS-808. One of the interesting things is that when I was
>> matching the various resistor / capacitor / diode model parameters I
>> added a list view of every "constant" to the model so I could more
>> easily edit them and fine tune the model to match the units I have
>> used as a reference. I found this to be quite a lot of fun, so I
>> decided (possibly to my peril) to allow everyone access to this list.
>>
>> I added a few extra resistors and capacitors to the model so that you
>> can also model all the modes on a TS9DX, and also the Boss SD-1. You
>> can alter the op-amp's slew rate, unity bandwidth, and dc open loop
>> gain, and swap different diodes and roughly change how many diodes are
>> in series in the main clipping section. I also added a battery voltage
>> pot and series resistor, and pot to adjust the bias. You can also add
>> your own diode .model statements to add them to the dropdown list of
>> available diodes. Supported diode model parameters are: IS, N, ISR,
>> NR, RS, CP, TT, CJ0, VJ, FC, M, IMAX, anything else will be ignored.
>>
>> It's loads of fun to play with, especially on synths, here are some
>> audio examples of distorting a 303. First is the riff through an
>> actual TS808, then through the plugin, then through a "modded" version
>> with op-amp slew and and different caps to distort more of the signal:
>>
>> www.cytomic.com/files/scream-acidvoice-saw02-ts808.mp3
>> www.cytomic.com/files/scream-acidvoice-saw02-scream.mp3
>> www.cytomic.com/files/scream-acidvoice-saw02-scream-mod.mp3
>>
>> If any of the usual suspects here at synth-diy want a free copy I
>> would love to give you one, just email me directly with your name and
>> email in the form (I'm lazy and this makes it easy for me to copy and
>> paste to assign the free copy to you):
>>
>> Firstname Lastname <your at email.address.com>
>>
>> I've learnt so much from this list, and really appreciate everyone's
>> time and effort in their posts on such a wonderful variety of topics,
>> it's not much of a thank you, and it's partly me being proud and
>> wanting to show off all my hard work, but it is a pretty cool little
>> plugin and hopefully some of you may find it useful for your music.
>>
>> If anyone wants to know about some of the details of the modelling
>> then please ask away, I'm open to chat about anything.
>>
>> Cheers,
>>
>> Andy
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
>> http://synth-diy.org/mailman/listinfo/synth-diy
>
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list