Cytomic "The Scream" stomp box distortion plugin

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
Post Reply New Topic
RELATED
PRODUCTS
The Scream

Post

At least some of your questions are answered in this blog:
https://urs.silvrback.com/

Post

Without revealing my secret sauce, here's one of my many analog-style filter designs. So what am I doing here? Analog modelling like you? Or no?

Image

Post

Architeuthis wrote:Without revealing my secret sauce, here's one of my many analog-style filter designs. So what am I doing here? Analog modelling like you? Or no?

Image
If each DSP block simply passes an audio signal onto the next without additional communication from other blocks, then this is traditional DSP. Andy is suggesting that with implicit DSP, the state of each block is interdependent; thus making the sound more reactive/dynamic/nonlinear.

Post

Unaspected wrote:Andy is suggesting that with implicit DSP, the state of each block is interdependent; thus making the sound more reactive/dynamic/nonlinear.
Alright, yes. So the interdependency for my design comes from that feedback loop. The clipper and filter are separate, yes, but... actually... those components aren't even the important part. It's all about the sine wave generators.

As you can see by my flow chart, they are interdependent. It's just that the first sinewave generator is simply modified a bit by clipper/filter combo. You can actually remove both of those components and get something akin to a filter. It will be basic and boring, but a filter nonetheless, and still more exciting than your run of the mill digital resonant filter.

Edit: Wait, just did a test, I take that back. I think there has to be some modifier inbetween the sinewaves to get anything useful.

Post

Andy, I can delete this post if you want, let me know. Just wanted to share an example of my design:

sawtooth resonator

Midway through I edit the resonance characteristic to be maximally aggressive. This is the last OT from me.

Post

Architeuthis wrote:I really want to understand what you're saying here before I respond and show you what I'm doing.

Question 1:

What is the buffer component?
It reproduces the voltage at the input at its output and delivers any amount of current to keep the voltage at the output node the same as the input. These don't exist in real circuits.
Architeuthis wrote: Question 2:

In your bottom example, is that basically just:

Code: Select all

Lowpass -> Soft Clipper -> Output

And your top example is better because it's:

Code: Select all

Lowpass <-> Soft Clipper -> Output

The <-> representing some form of interaction between components. So basically you're saying the filter and clipper interact in the analog-style example, and they are separate and boring in the bottom traditional DSP example?
I've updated the image to show things more clearly, so refresh it:
https://cytomic.com/files/dsp/lowpass-clipper.jpg
In traditional DSP you only consider "voltage", but in actual analog modelling you mainly consider the flow of currents, and then solve for the voltages that occur because of the flow of current. Inherently in regular DSP you place "buffers" between each block, as the blocks don't interact with each other. It is true that there is interaction between the diodes and the capacitor and resistor, but there are no "blocks" other than the components themselves that interact.
Architeuthis wrote: Question 3:

How does your diode diagram differ from a traditional DSP soft clipper?
I don't know what a traditional DSP soft clipper is. If you mean waveshaper as in a memoryless function output = waveshaper (input) then yes, this is a waveshaper. The shape itself can be anything, the point is there is no memory / energy stored.
Architeuthis wrote: Question 4:

How do you integrate a soft clipper into a filter? Is that your secret sauce?
You use analog modelling to model the circuit. This takes into account the interaction between all the components. You end up integrating some implicit non-linear equations, which require iterative evaluation. Have a look hear to get you started:

http://www.ecircuitcenter.com/SPICEtopics.htm

In particular:

http://www.ecircuitcenter.com/SpiceTopi ... alysis.htm
The Glue, The Drop - www.cytomic.com

Post

Architeuthis wrote:Without revealing my secret sauce, here's one of my many analog-style filter designs. So what am I doing here? Analog modelling like you? Or no?

Image
If each of the arrows you view as a buffer to separate interaction, then these is still a non-linear implicit equation to solve here, your output depends in a non-linear way to itself, which will need analog modelling to get right. The normal DSP way is to change the system behaviour by adding an artificial delay to turn the implicit equation into an explicit one, and so allow it to be solved more efficiently in one step, but at the cost of accuracy.
The Glue, The Drop - www.cytomic.com

Post

meloco_go wrote:At least some of your questions are answered in this blog:
https://urs.silvrback.com/
Good idea meloco_go!

Architeuthis please go and do some reading so you understand things a bit better. I will post further articles as time permits, but right now I don't have time answer further questions.

You can make some very cool sounds with normal DSP, but realise you won't get the same results as analog modelling (ie non-linear implicit numerical integration). As long as you, and anyone using your plugins, are happy with the sound then it doesn't really matter which methods you use.

edit: also please feel free to head on over to the developer section of KVR if you want to ask various analog modelling questions.
The Glue, The Drop - www.cytomic.com

Post

Are there any plans to do any on distortion stomp box's, like a Univibe or Smallstone?

Post

todd_r wrote:Are there any plans to do any on distortion stomp box's, like a Univibe or Smallstone?
I had look over the Smallstone circuit some time ago, and it's definitely something I could tackle. Before I make a decision I would need to grab one and have a listen.
The Glue, The Drop - www.cytomic.com

Post

News update: things are going very strong with development of the final version of The Scream. My updated circuit solver is back up and running and doing better work than the old one, and it can handle much larger circuits. I've also re-written my symbolic expression class from scratch so it is running much faster, and can do better simplifications and optimisations.

I developed a new circuit solving method I'm calling the PDK method, and I've got the new circuit solver automatically generating the solution for it. I've got this up and running in python and it's all working brilliantly. It is capable of doing detailed circuit modelling with a fixed and low amount of cpu, and it is a "parallel" method, which means I can make use of AVX256 instructions to speed things up, which will be part of the final Scream release. By the end of next week I'll have some real world numbers on how efficient the method is compared to brute force variable cpu solving which is what I'm currently doing. I'm guessing that the new PDK method will be slightly lower cpu than brute force for regular signals, but be 1/4 the cpu or even less for hard signals with lots of high frequency content.

The method also shows great promise for GPU acceleration. The main issue would be audio bandwidth between the main system memory and the cpu memory, but if that is low enough then the PDK method may be powering many plugins on the GPU in the near future. I need to do some bandwidth tests using DirectX and Metal2 to see if it will be viable without adding too much latency or system load. Consumer graphics cards aren't optimised for this sort of compute, but hopefully as they get faster it will be fast enough to handle audio processing with low latency.

edit: here is a comparison plot of the number of iterations required to solve a "hard" signal with lots of high frequency content for both brute for MNA and the new fixed cpu PDK method.

Image
The Glue, The Drop - www.cytomic.com

Post

Wow!

Is it only optimized for circuits? If you could make something like MatLab module, I guess it can find a lot of use outside of circuit modeling.
Do you plan to publish your research?

Post

I imagine youll get more harassment than usual from the the big boys to code their plugins if you can provide high quality emulation at lower cpu cost and development cost !
Amazon: why not use an alternative

Post

meloco_go wrote:Wow!

Is it only optimized for circuits? If you could make something like MatLab module, I guess it can find a lot of use outside of circuit modeling.
Do you plan to publish your research?
The PDK method is generic in that it can help out solve any set if matrix equations that contain implicit non-linearities. Implicit non-linear equations arise in circuits all the time either in feedback loops or in diodes and transistors, for example working out what x is in equations like: x = a*x + b*exp (x).

There could well be plenty of use cases for it, and at some stage in the future I'll publish a paper on it, but first I'll make sure to release a bunch of products using it so I've got some commercial advantage :)
The Glue, The Drop - www.cytomic.com

Post

^
You filthy capitalist
Amazon: why not use an alternative

Post Reply

Return to “Effects”