Oliver Gardiner's Tone Stack Calculator (reinterpretation of Duncan's TSC) [link]
Duncan's TSC has been a fantastic resource for me in terms of designing amps but it is constrained by its roots in Delphi and so is difficult to update with more stacks. I don't know what the simulation engine is TSC but I had been wondering about using a version of Spice coupled to a similar UI and I've created a QT based "homage" to TSC using ngspice. Spice makes it very easy to create new stack models and play with the parameters and the plots I've got tally well with those of TSC. I've created a pre-pre-pre-alpha release here: https://github.com/olivergardiner/tones ... -0.0.1.zip
Currently no attempt to create a cross-platform release, so it's Windows 10 but should be relatively straightforward to create a cross-platform version if it's going to be useful.
Currently no attempt to create a cross-platform release, so it's Windows 10 but should be relatively straightforward to create a cross-platform version if it's going to be useful.
- FiveseveN
- Cap Cooler
Information
Speaking of cross-platform, do you know about this online version? https://www.guitarscience.net/tsc/info.htm
Ignorance more frequently begets confidence than does knowledge. (Charles Darwin)
No, hadn't come across that one so thanks for the link!
Latest release here: https://github.com/olivergardiner/tones ... -1.1.1.zip
This is quite a big update prompted by suggestions from JohnH:
All config is now handled in Json files which makes adding circuits much easier
New functions include:
* Save/Load - when you save you a prompted for a name for the modified circuit and if you load it, it will be appended to the list of circuits
* Plot colour, snapshot and clear
* Print capability (response plot only)
* New tone stacks
* A mode menu that allows you to switch between tone stacks and simple circuits for educational purposes (currently limited to simple RC)
Various enhancements to the UI
This is quite a big update prompted by suggestions from JohnH:
All config is now handled in Json files which makes adding circuits much easier
New functions include:
* Save/Load - when you save you a prompted for a name for the modified circuit and if you load it, it will be appended to the list of circuits
* Plot colour, snapshot and clear
* Print capability (response plot only)
* New tone stacks
* A mode menu that allows you to switch between tone stacks and simple circuits for educational purposes (currently limited to simple RC)
Various enhancements to the UI
Have added an installer which is available from the release page: https://github.com/olivergardiner/tones ... tag/v1.1.1
I've added support for ganged pots and added a section for active circuits. Currently, this just has the filter section of the Pearl OD5.
https://github.com/olivergardiner/tones ... ses/latest
I think this circuit is particularly interesting as it essentially provides a topology by which one can smoothly vary between an output of f(x) and its exact inverse. In the case of the OD5, f(x) is a bandpass filter that can be varied so the blend control allows you to vary symmetrically from full boost to full cut. Assuming f(x) is buffered, the output of the diff amp is simply f(x) - x and the final output (Vout) then becomes - (Vin + f(x) - x). At the extremes of the boost/cut pot, x simply becomes Vin or Vout. If we substitute x for Vin, Vout becomes simply -f(Vin). Similarly, if we substitute x for Vout we find that Vout = - (Vin + f(Vout) - Vout). If we rearrange this we can reduce this to Vin = f(Vout) which, in turn, means that Vout is the inverse of f(Vin).
https://github.com/olivergardiner/tones ... ses/latest
I think this circuit is particularly interesting as it essentially provides a topology by which one can smoothly vary between an output of f(x) and its exact inverse. In the case of the OD5, f(x) is a bandpass filter that can be varied so the blend control allows you to vary symmetrically from full boost to full cut. Assuming f(x) is buffered, the output of the diff amp is simply f(x) - x and the final output (Vout) then becomes - (Vin + f(x) - x). At the extremes of the boost/cut pot, x simply becomes Vin or Vout. If we substitute x for Vin, Vout becomes simply -f(Vin). Similarly, if we substitute x for Vout we find that Vout = - (Vin + f(Vout) - Vout). If we rearrange this we can reduce this to Vin = f(Vout) which, in turn, means that Vout is the inverse of f(Vin).