Look, don't get discouraged by the things I've said. I haven't started anything about modelling a guitar amp yet. And even if that was the case, I still may be utterly wrong and you might find an extremely simple model that achieves stunning good results of your amp. So try what you think could do it, the worst thing that could happen is that you *just* learned something about a new field. All the things you learn in this field of engineering will open you a lot of other doors in future, because they can be transferred to any field of engineering, so it's definitely not a waste of time.
About your questions: my concerns are not about processing signals in a discrete way. In DSP you usually do everything with discrete functions, because it's far more runtime efficient. To achieve accurate results compared to your real guitar amp you most probably have to model it (even though as discrete function) as a whole though.
The way spice and I guess most other analog circuit simulators work, is they create a Matrix describing the circuit as a whole and then resolve that Matrix in a standard way (they transform the matrix) to get the parameters of an approximation
of the actual differential equation system that describes the circuit.
There's even another problem: most solutions to find an approximation of a given, arbitrary differential equation system expect the system to behave as a so called "LTI" (Linear Time-invariant System)
, which implies two things:
- Linearity of the system: that means, if we we apply it to the guitar amp scenario, if you knew the output of the amp/model for a certain input signal, then you also knew the solution for the same input signal just with another arbitrary amplitude / factor. So let's assume you can perfectly play the same guitar riff twice, one time with a quite low setting of your guitar volume knob, and the 2nd time you open your volume knob an the guitar completely, a LSI model would then assume both output signals of your amp to be identical, just that the 2nd one is louder than the 1st one, but with the absolute identical waveform. And it's obvious that this is not the case with a real guitar amp and the reason why it's so much fun to play with, because when you play it softly, it will sound clean, but when you play it full throttle, then you get warm distortion of your analogue tubes which enriches the signal with new frequencies.
- Time invariance of the system: that means it expects when you have the resulting output signal for a certain input signal, and you play it again at an arbitrary other time, it would always sound 100% the same as the last time. This is probably not a big problem for the field of simulating a guitar amp though, because you're usually only interested in simulating the state where your amp is warm.
I've tried a lot of virtual modelling guitar "amps" / effect boxes (except the ones from Line6, which are sometimes said to be one of the best) and all sounded like they had LTI system models. You can compare it to the old Wavetable boards and ROMplers of the early 90s: all programs on those boxes sounded the same, no matter how you hit the key, there's no dynamic behavior whatsoever. So it's far from my real Boogie amp, which sounds gentle bell-like when you softly stroke the strings, and sounds like a complete screamer when strumming the strings with full power and of course there's a lot in between those extremes.
Would be interesting if Spice & Co. work with LTI models as well, if you found out, please let me know!
And yes, the RT-unsafeness of Spice is irrelevant.