Path - Analog Morphing Router, developed with DivKid
Trace - Analog Morphing Scanner, developed with DivKid
Asset - Bipolar Attenuator & DC Source
Atlas - Quad Core Multimode Filter
Ceres - High-Class Linear VCA & Mixer
Fuji - Hexa Core Slope Generator
Sena - Multi Channel Sound Source
Hive - Quad Stereo Automated Mixer new, released on hardware today!
I’ve worked closely with Jose to try to accurately capture the essence of these modules, from visual components (such as blended LEDs) to the character of the envelopes generated, noise spectra and so on. Notably, Atlas includes a modified version of Audible Instruments Ripples, which adds highpass out and adds a heuristic resonance compensation stage.
VCV has to have one of the greatest platforms for modular synthesis where really talented creators make projects like this happen, and their efforts are instantly met with passionate artists like Omri making the proper walkthrough of the modules. Fantastic job, folks.
They are fine work, they sound super and the designs get you thinking differently when patching. That is just the best. Thank you for the incredible gift.
Atlas uses the Audible Insruments Liquid Filter (Ripples) filter engine, which is polyphonic. On my machine running at 48kHz the Liquid Filter uses ~2% CPU for 1, 2, 3, or 4 channels.
Atlas has 4 monophonic channels, and uses ~8.2% CPU. Seems like it ought to be able to use the polyphony in the Liquid Filter code to be closer to 2%.
I checked the code, and Atlas uses simd variables, but loops through the four channels individually within the process code. @hemmer - I didn’t fully trace the code, but this does not look optimal.
Yes as you say it’s a modified version of ripples, which is already very performant using simd in the inner loop. My memory was Ripples was serial in the outer channels loop due to simd in the inner, so I’m surprised by that scaling, but my memory could be incorrect. I’m AFK at the moment, but will take a look, always keen to reduce CPU.
I did think about knocking out channels you’re not using, but with scan output generally being used I thought it not worthwhile. Happy to add that optimisation though for users using one or two channels only.
I’m struggling to get metamodule performance acceptable without turning oversampling right down so any gains here help there too!
I forgot that the In port controls the polyphony in the Liquid Filter. On my machine it actually takes ~7.5% CPU for Liquid Filter to process 4 poly channels, not far off from your Atlas 8% for four mono channels. So I don’t think there is much room for improvement if you are using the Ripples filter engine.
The Liquid Filter defines 16 engines for the polyphony. I wonder what the simd is being used for? - certainly not polyphony!
In my experience the SlimeChild Audio Substation LP4 filter plus expander sounds and behaves very similar to Ripples, yet is much easier on the CPU. On my machine it only uses 1% CPU for 1, 2, 3, or 4 channels! So it is using simd for polyphony.