Sunday, January 20, 2008

After some slight optimizations does my synth run at an average cpu load. When using 4 voices the cpu usage is about 10%, when using 16 voices 30% and more. (Test sound: 2xNorm-OSC, 1xSuper-OSC, 24dB filters with 'Exp' envelope mode)

Some words about my 'machine':
3.2GHz P4 HT, 1.5GB Corsair DDR2/400 RAM, WinXP, no ASIO

Well, I'll do my best to make this thing as low on cpu usage as possible (limited to my possibilities of course^^), but this is not Synth1 (I tried this thing yesterday, damn nice, damn good coded).

The mass of options make this synth really hard to optimize. I could get some speed gains by rewriting highly frequented portions in assembly, but my assembly days are long over (back in 1994 I used assembly a lot).

Branches do kill the cache and I try to avoid calls und branches where ever this is possible. I thought about writing different voice render functions for different osc and filter configs, but this would be overkill (pow(4, 3) * 2 functions would be needed).

So, CetoneSynth2 will be a synth which needs a somehow up to date machine if you intend to use a huge amount of voices.

Ah ... GUI has changed again^^

The MIDI sync stuff is developed (I hope) and now only needs to be coded. LFOs have to be implemented (easy) and the modulations must be designed (types of sources and destinations, destination depending amounts).

The last parts will be the arpeggiator, glide, bank and preset handling.

There may be a beta version out next weekend, depdending on how much time I'll have next week.


Post a Comment

<< Home