cazimi

Official support for: xoxos
RELATED
PRODUCTS

Post

i hinted at this in a previous post, and once again my life is somewhere in the unbelievable zone, so i' posting for public benefit in case i never finish it.

cazimi - we just hit venus conjunct with the sun so i guess this plugin is a venus cazimi moment.

the story..

i knew i wanted to release a freeware synth with efficiency prioritised and the zero delay filters used in adze, i also knew i wanted to do *something* with the oscillators.. ("maybe add a granulator before the filter" i was thinking for most timbral range to cpu efficiency).

after not smoking weed for a long while i took a puff of satori and cazimi popped straight into my mind, no actual cogitation, just "exactly what i wanted to do". and it's funny to me..

i'm calling this BS synthesis :D band separation.. and i feel so stupid, but at the same time, realise... the whole world must be stupid!

for a long time, my question has been.. it's easy to generate a series of harmonics... but how do we separate a discrete range of harmonics.. and i realised, this is exactly what antialiasing does - any antialiasing process you use has a steep, discrete band separation.. so.. the key is to render the full spectrum with aa at nyquist, then, render the oscillator again with a frequency parameter instead of nyquist.. then, we can subtract one from the other and are left with a perfectly bandlimited, discrete range of harmonics.

for cazimi i used the most sensible for low cpu - two definable frequencies, splitting the spectrum into three bands, which can be mixed and processed separately.

a different mix of the same oscillator can be taken inexpensively and applied to an effect, or oscillator modulation. that's kind of neat.. eg. it doesn't have to be the "loud bands" that are most prominent coming out of the granulator.

i'm quite happy with the way it sounds, and modulating frequency points works smoothly with linear interpolation (i used d * 4 and cap at 1, so the first 0.25 crossfades the harmonic in). it's flexible and low parameter count so works well for "abstract synthesis" application because there aren't dozens of params to be carefully configured for a result.

i used a cheap "granular" process which uses an s-curve to fade between two delay taps (cheaply set to integers) with some appropriate randomisation to rate and delay offset, constituting a range of "granular"/chorus textures (it does good "tesla" electricity sounds with slight randomisation to slow window times).

with any luck i'll be able to finish and release my version of this idea, as most of the oscillator coding is done, but as mentioned, life = "surreal".

seriously, the idea of "arbitrary aa frequency rendering" occured to me in previosu development (experimenting with nyquist, "oh, quarter band sounds interesting") but somehow the simple idea of subtraction has eluded me for years, which isn't something to be proud of..

..i may be wrong, but in all my years of "keeping up with plugins" i've never seen another release with spectral splitting like this, so perhaps the rest of the world is also dense. it seems unbelievable that such a simple, straightforward method has never been built, but i've never seen one. both i and humanity amaze me, for the things we are capable of accomplishing while simultaneously spacing something so obvious like this.

sounds great (at least as far as low cpu oscs that "do something"), hopefully here with it soon :phones:
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

i've also temporarily removed the shop page, in case i am not able to attend to purchases. if you need to reference the page (eg. for demo links) the url has been changed to shopz.html
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

here's a terribly hurried alpha, completely rushed through assembly, untested and unpatched really

http://xoxos.net/temp/cazimi.zip

osc 1 is sine saw square

osc 2 adds the grain processor for osc 1 (osc 2's controls apply to the granular engine) and a single osc optimised mode, so five "waveform selections" on osc 2, but the display for both is just a knob, so you need to know. maybe sometime i'll have a chance to fix any bugs and make patches to show its possibilities.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

bug on current build - modulating "band" params past a certain low point causes crash. easy to fix but waiting a bit.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

fixed the crash with modulating band params low
http://xoxos.net/temp/cazimi.zip

Image
think i'll leave the classic synthedit list entry selectors as homage :)
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

there is a significant working issue with this vst, i think it's about bulletproof otherwise. the oscillators use lookup tables which start to blot up memory when multiple instances/voices are created. my system cannot run three instances. the fix for this is to write the lookup tables as shared between instances like i did for horizon, but that creates another dodgy issue (having to copy and rename the dll for multiple instances) so i don't think i will do that. maybe reducing polyphony will allow an extra instance or so.

so this may be a "one or two instances only per track" synth (now i remember that was the thing about aurora.. i included the tables in the build, but cazimi uses biiig tables because i forgot about the big tables issue).

:/ i still want this functionality in something i can run several instances with but i'm thinking about ground up on the oscillator, so maybe another vst.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

zero feedback,

"if anyone is interested" i'm liable to about leave this as is; i did recompile with 2 voice poly instead and found this lets me run more instances, so i'm considering making this a straight 1 voice synth (which means you can probably run 8 instances without issues).

sing out if you would prefer this over the 4 voice poly current distribution.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

Thanks, I'll try it and let you know!

Cheers,
David

Post

okay... RECAP AND PROPOSITION for as yet unidentified user set -

the PROBLEM with cazimi is the naive table implementation is duplicated for each voice and isntance, which isn't gonig to be fixed.

cazimi is a nice little synth with imo serious application. i'd like to be able to use several instances. i'd also like not to rebuild it.

the SOLUTION in current form is to deal with the amount of memory a single instance of cazimi consumes per voice.

reducing polyphony has the same effect as adding or subtracting instances... half poly means half as much memory consumption, means twice as many instances to use.

*another* solution is to reduce the table size -

cazimi has (stupid i know) "immaculate" table oscs, to 16384 partials.. that's why it uses a stupid amount of memory. if i reduced the table size to 1024 partials, that goes down to 21.5Hz with full partials if rendering at 44.1kHz. so in current build, you can go down to ~1Hz and still have all the harmonics ...........

i can do ~8 instances at single voice currently. so... if i drop to 2048 partials, that's fully rendered oscs to ~10.76Hz, and i ought to be able to run 64 instances.. if i keep 4 voice poly i can still run 8 instances.

well i ain't waiting around for your approval. dropping this thing down.. maybe 4096.. pitch bends are important. cazimi will be back soon, probably only in mono. 2 voice poly? i asked :p


will do a manual and patch bank sometime as well, i like the potential of this little build (forgive me in advance for determining that 2 oscs and granular was too much cpu, maybe i'll be braver later). but the old fashioned selectors are going to stay the way they are as homage to synthedit years gone by.. i figure, if you're here anyway, you can appreciate their simple, functional aesthetic.. yes what was i thinking 16384 partials haha silly me, memory bomb.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

new version, now displays text readout of current poly and sync mode. oscs reduced to 2048 partials, and 2 voice poly, should load 16x faster/allow 16x as many instances (maybe around 64).

http://xoxos.net/temp/cazimi.zip
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

Missed this one until the other thread popped up. Will give this a spin over the next few days. Fascinating method (as always)...

Post

Very interesting indeed. Given this 20 minutes and still getting the hang of it. Really enjoying playing with the granular oscillator as the bandwidth and amp knobs' timbral possibilities seem to become particularly wide, and you can get some lovely 'straight to strained' tones by mapping slow attack envelopes to the 2nd row of amp knobs in particular.

Many thanks for sharing.

Post

Looks really cool, I'll be checking this out immediately.

Post

my life is annoying atm,try soon. x

Post

i've been tooling around with this thing casually and i guess whenever i get to dropping an update with patches i will. so far lots of electro bleeps.

i'm enjoying the oscs (and filters) a lot. unsettled on the build, might have do these oscs again elsewhere, as cazimi is very minimal. considering higher quality osc modulation than my cheapo non-oversampled PM, things like that.

there are a few bugs in the current release -

in the assigns, "pitch" only affects osc 1, this will be changed.

in the assigns, i think send #2 has the same destination twice and thereby misses a destination.

occasional freezing when switching filter modes.


had an idea yesterday for outdoorverb 2, a different/more efficient structure. should be relaxing enough for an evening after work :)
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post Reply

Return to “xoxos”