Capture Audio Hardware signals for Models Hardware Plugin


#1

Hello,

I would like to model a very rare vintage compressor I have. What approach could I take to capture the signal data to create an authentic representation of the way the equipment works.
I understand there is two approaches-- in theory-- circuit simulation (which I don’t want to do) or to capture a signal sent thru the hardware and somehow convert that data to code (i’m not sure how this works exactly)

How could I best approach this? What documentation is available?


#2

Short Answer: It won‘t work that way.

Basically, there is one specific type of DSP algorithms that could be modeled as you described, these are so-called LTI Systems (linear, time invariant). What does this mean?

A linear system generates the same result if you apply some gain before or after the system. As an example, take an equalizer. The result is nearly the same if you lower the volume by 3dB before or after an eq. However, lowering the Volume before a Compressor will result in something completely different than lowering it after the compressor. So, a compressor is a non-linear system.

A time-invariant system reacts the same at any time. Take a distortion effect. It doesn’t matter if some loud impulse went through it some milliseconds before or one minute of silence, if you play some specific audio material throug it, it will manipulatie it the same way. A compressor would form your signal totally different if you applied some loud impulse to it or if there was silence. So, a compressor is no time-invariant system.

These two circumstances make it totally impossible to model an analog compressor with some simple input-output measurement. Additionally, an analog compressor will most likely also add subtle distortion and will have a non-linear frequency response. Both may depend on the settings of the unit.

So the approach should be: Study the schematics, to get an idea of which electronic components form the signal chain. Then make up a block diagram of this signal chain and measure or simulate the single analog sections. Try to model them individually by filters, nonlinearities, etc. and then listen and tweak parameters for a long time.


#3

That made a lot of sense. That was a terrific explanation. Thank you. I’ve been-- in the meantime–reading about two circuit simulation software. LTSpice and MATLAB with Symlink. I’m rudimentarily familiar with Matlab already… Are you familiar with these softwares?

And-- so what you’re saying-- “Simulating” The circuitry-- then moving from there would then be the only way to get something like that started?

What software would you recommend?

I’m looking at Waves PIE Compressor as something to make an alternative of. I find it to be not as realistic as the real thing in ways that could be better- Possibly. I recognize this may be a long process, but it’s something I aim to work towards


#4

Just a few thoughts on your response.

There are really a lot of analog compressor modeling plugins out there. If you don’t like the Waves PIE and what something “better”, then you might want to check out one of the endless number of analog compressor plugins out there, before you try to reinvent the wheel. To be honest, the guys working at waves and other established plugin companies really know what they are doing. Trying to achieve a better result with that limited knowledge of the topic will be hard to impossible. So if creating a better plugin compared to the waves plugin is your main focus, better forget it.

But I don’t want to say that trying to do this won’t be a nice project. If you really want to, just don’t start with an analog model. Instead try to create a good sounding, fully digital compressor plugin first of all, to get the idea of the signal chain of a basic compressor.

After that, try to find out, in which ways your analog hardware acts differently. Maybe the best way to get started with this could be building your own analog compressor, to get a feeling of how analog circuits work. But instead (and that’s a bit more realistic) you also could study some basic electrical engineering theory to understand the analog circuit and then just simulate it and take a look in the simulated circuit at specific points.

Spice, as you mentioned, is the tool of choice here. Depending on the parts used in the original schematics this can be everything from straightforward to difficult (there might be no simulation models of tubes, special transformers and other rare old parts).

And also never trust a simulation! There are lots of things in analog audio circuits that won‘t be modeled accurate. For a test, you can use a wave file as a simulation signal source and write the result to one. Just try it with real audio material and check if the result after some minutes of rendering sounds anything like the original hardware :grinning:

Now let’s assume you came here, you could simulate tons of edge cases and settings and try to find out what happens inside the box. Maybe you‘ll find a part of the circuit adding distortion. Then take it and translate it to a nonlinear waveshaper in your plugin‘s signal chain. Do the same with other parts, just use basic building blocks like biquads, fir-filters, whatever makes sense… so you’ll hopefully come from a schematic to a functional description of your signal chain.

But expect this to be a really complicated task! And keep in mind, designing good sounding analog audio gear is an art and you need some understanding of analog circuits to understand this art.

By the way:

I think you mean Matlab with simulink. These are useful softwares for a lot of scientific and engineering tasks, however they don‘t come with any analog circuit simulation tools. Better get used to Spice. LTSpice is a good free version of Spice but with a component library filled only with Linear Technology components. However you can use add other manufacturers parts manually, there are lots of tutorials out there