Attached is my combined 12dB/24dB State Variable Filter for WREN. Also, compared to the existing one, it can selfoscillate and has much better resonance characteristics, exponential filter cutoff modulation and a true drive/saturator built in.

Because SVF is 12dB by design, I used two serially connected 12dB modules (similar structure to the one in Tranzistow but non-ZDF version in this case, and very simplified). Each module has combined LP/BP/HP output (configurable through LP/BP/HP amounts) + there are individual LP/BP/HP/BR outputs from 12dB module.

Individual LP/BP/HP/BR outputs from 24dB module are not available because they don't have much sense in this design. I already developed a true 24dB SVF (Zero Delay Feedback version based on Linkwitz-Riley 24dB crossover structure) but it is not completely finished/tweaked yet and I am keeping it for Tranzistow or some of my future projects

Note: HrastOsc module on FormStore is my design which is different from the one in your WREN source, so don't copy the whole unit but only HrastSVF, ImageHrastSVF and MemoHrastSVF components from the form (and redesign them according to your requirements).

I'm in the middle though of some big changes in how knobs work and all, some properties removed and renamed and different functions .. I'll try to get it in though .. it will need some hacking in the frm file to get it working _________________Jan

Yes, had tables before BTW, and then concluded it was not any faster, now changed back to tables and it actually is faster ... it is a bit hard to get good timing as the processor seems to be be floating its speed.

Anyway. that's not the only change I made after seeing your code - thanks for the hints :-)_________________Jan

Ok, I see what you mean re. CPU usage, but that does not address the problem I'm having ... your numbers will be a bit lower as they only show audio processing.

When you hit F10 in Wren a HTML page will be generated with clock counts for all the modules, cables and some other stuff. It should open in your default browser, but if not the file is in a data sub directory of the main Wren directory.

The numbers in that table will vary wildly .. in general they seem to get lower when the program gets more CPU demanding (i.e. for larger patches).. also they seem to get lower after some time (many minutes or hours even?) ... and this is what makes it hard to compare different implementations._________________Jan

I see what you're trying to achieve - to determine CPU usage for each module in the way it was done on Nord Modular. But, this is a very tricky job. On Motorola 56000 you could just look at instruction timings, count the cycles and that's it. On today's CPUs this is almost "mission impossible": multiple execution units, out-of-order execution, branch prediction, 3 levels of cache, etc., etc., not talking about Windows task switching and various background processes ... For example, the other day I managed to squeeze 1% of the CPU in Tranzistow just by rearranging some assembler code.

Blue Hell wrote:

The numbers in that table will vary wildly .. in general they seem to get lower when the program gets more CPU demanding (i.e. for larger patches).. also they seem to get lower after some time (many minutes or hours even?)

I looked at CpuUsage unit and I think this is because you are using GetTickCount and Now functions. Both of them have the resolution of 1ms at best, so those small errors are accumulating over time. Try QueryPerformanceFrequency & QueryPerformanceCounter to see if it gets any better ...

A few remarks related to CPU power saving (if you have already done that then just ignore them):

(1) Intel SpeedStep (EIST) should be disabled in BIOS => This one really doesn't work well for realtime audio processing. You can keep various C-states enabled, but turn EIST off.

(2) Windows power plan should be set to "Max. performance" with minimum and maximum processor state set to 100%.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum

Please support our site. If you click through and buy from our affiliate partners, we earn a small commission.