chaos oscillator

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

Post

i'm working on another synth and briefly researched strange attractors when i was making the lfo. i went on a bit of an inspired jag and hacked this together using the shell of the other synth, rotated the gui colours and here it is :) call it public beta testing, no manual.

Image
http://xoxos.net/vst/outer.zip

this synth is way more funner than the other one ("out", thus this one is "outer"), so i thought i'd share the fun and give myself a chance to do something else for a minute. 20 hasty patches. does growly and squealy.

the basic idea here:
https://www.youtube.com/watch?v=R5hbB530UBg

he has a bit of a page on it somewhere. coupled oscillators, very simple, when you increase the coupling the output becomes more complex, smoothly transitioning from stable regimes to noise.

a filter (generally low or bandpass but bandcut can be interesting) is added in the coupling to move the modulation to a frequency range of interest, which often generates burbly output since we now have several frequency components in play. with high resonance, squealing transitions are created between regimes. the "phonemic" nature of harmonic regimes can lend a sort of vocal quality.

this build uses of course the common choice of three oscs, plus modes where only two oscs are used, which can also produce hysteresis, but three is three. stereo is easy to produce as the oscillators tend to have a similar response to the group modulation, so not 90 degrees stuff, but i haven't auditioned in stereo yet.

this is basically what you get, you can see it's not too complex:

Code: Select all

s0 += w;		while (s0 > tau) s0 -= tau;		t = w * 5;			//	3 osc
s1 += t * *in2;	while (s1 > tau) s1 -= tau;
s2 += t * *in3;	while (s2 > tau) s2 -= tau;
p0 = s0 + p;	while (p0 > tau) p0 -= tau;
p1 = s1 + p + py;	while (p1 > tau) p1 -= tau;
p2 = s2 + p + pz;	while (p2 > tau) p2 -= tau;
t = dofilter(x * *in4 + y * *in5 + z * *in6) * *in7;
x = cos(p0 + t);	y = cos(p1 + t);	z = cos(p2 + t);
this work is mostly SEI someone else's ideas but i added a few, phase constants (lfo > phase is suprisingly smooth since it affects the "chaotic system"), and adding "economy" modes that waveshape the phasors instead of using the cos() functions, which turned out to be very applicable and basically has a different tone. also modding this mode for more harmonics.

modes are:
0 3 osc
1 3 osc but y is not modded only added to sum
2 3 osc "economy shaping"
3 3 osc shaping with more harmonics
4 2 osc
5 2 osc + z is cos(t)
6 2 osc shaping
7 2 osc shaping with harmonics

but you can fiddle around. there are plenty of lfos to explore (try the sequence modes) and everything can be synced to gate for perfect recall. the "pickup" button toggles the attack stage between constant rate and constant time (the synth this was adapted from is percussive, constant time mode is nice there).

this synth is basically about animated patches, one key atmospheres. the main challenge for this engine is shaping the movement in ways you want instead of ways that sound like a bunch of amp modulation. it's nice when you move it around. have a nice day :)

send loads of money immediately.
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

Had a quick play, it makes some interesting noises.

It could do with a larger Gui with readouts for the dials but this is one of your better Guis IMO.

Also I feel this thing is crying out for multistage envelopes.
Of course this could be acheived via other methods.
Amazon: why not use an alternative

Post

Sounds good thanks!

Post

Always wanted to make one myself, will dig it :)
Blog ------------- YouTube channel
Tricky-Loops wrote: (...)someone like Armin van Buuren who claims to make a track in half an hour and all his songs sound somewhat boring(...)

Post

VariKusBrainZ wrote: Also I feel this thing is crying out for multistage envelopes.
Of course this could be acheived via other methods.
for the time being some folks may appreciate knowing that contour #11 on the lfo is a sharp curve-variable decay envelope ;) when phase is synced to gate it might help somewhat with the lack of envelopes for sounds of shorter duration.

this went from concept to completion in 48 hours so build is somewhat impromptu. i'd say the future of this item looks like.. more patches and a poly version that drops the tuning functions (more suited for other kinds of synths imo). i've got too many other things to work on to spend much time with it, and elan/architeuthis has put much more time into sussing out and refining these kinds of methods. but i can't see him or robin hacking an impromptu cosine waveshaper out of the phasor :hihi:
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

xoxos wrote:i've got too many other things to work on to spend much time with it, and elan/architeuthis has put much more time into sussing out and refining these kinds of methods. but i can't see him or robin hacking an impromptu cosine waveshaper out of the phasor :hihi:
the fak? First, pretty cool you mention me. Uncool that I have no idea wtf you're talking about, cosine waveshaper out of the phasor? :neutral:

You know I'm going to test your creation and if I find something I like I won't be able to help myself, it will end up as a feature in Chaosfly at some point. Granted, I have no idea how your chaos oscillator relates to mine, could be very different and incompatible in terms of philosophy/method.

Xoxos, do you want a copy of my x/y scope? I imagine your chaos generator has 2d or 3d output? Ok, better try it out now.

Post

all I had time for...

https://youtu.be/aRQ8SQtBEeU

this thing is a bit crazy, you're using 3 oscillators in this synth, right? Edit: If you see 3 oscillators in chaosfly... I actually had a 3 oscillator chaos generator working in jesusonic some time ago, will add a 3rd oscillator to chaosfly once I perfect the 2 oscillator setup.

Post

Architeuthis wrote:cosine waveshaper out of the phasor? :neutral:
given phasor p ranging from 0 to tau, instead of cos(p):

(1) bring the phasor into the range 0-2
p *= 0.318309886; // same as p /= pi;

(2) do this:
p *= (2 - p);

which turns it into the top of a parabola, output range 0 to 1 :)

(3) then this to turn the "hill" into a sine-like s-curve:
p *= p;

(4) bring it into the range [-1,+1]:
p += p - 1;

at this point, this terribly bad approximation no one in dsp would dare use vaguely resembles an (inverted) cosine visually, it has audible odd harmonics. for the lfo i cancelled out the third harmonic like this:

x -= (x * x * x * .04712);

so after the fundamental the next audible component is the fifth harmonic at about -24dB. but by the time you've done all that, the expense is almost up to using the cosine anyway :)

you can compare it to the cosine by switching modes 0 and 2 and 4 and 6 :) i only auditioned the build on a netbook speaker but found it to be enough to often produce similar modulations, by ear not an exact replacement, but closer than i would have thought. as said, the effect seemed plasticy to me, which could be a useful effect. but basically i'd say it's remarkable that it's performance is so similar to cosine in "attractor" type applications where the cosine is used to force a [-1,+1] result.

oscilloscopes.. one of these days :hihi: i'll give whatever compiler another chance, i can't get the vst sdk running in borland fclt, so no graphics for me using synthedit sdk for vst. i kind of like the limitation as it keeps me focused on audio and se is easy for interfaces that at least make things useable, and i can do graphics programming in windows apps instead of vst.

the filter on the feedback coupling is robin's sv and the others are neotec's somewhere on here. i used one filter total instead of having to use one filter for each osc as you would have to do with joakim's coupling method (oscs do not feed back to themselves). it produced a similar range of tonality and behaviour, being the desirable feature of the oscillator method, good enough for me since one voice was up to 4% cpu, and can be done more expensively by someone some other time.

http://www.joakimlinde.se/projects/oscNet
Image
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

xoxos wrote:i'd say it's remarkable that it's performance is so similar to cosine in "attractor" type applications where the cosine is used to force a [-1,+1] result.
Thanks for the explanation. I've been able to turn triangle waves into sinusoids easily using feedback modulation. The 3d visual your synth makes is very cool... need to get something 3d into my product lineup sooner than later.

Post

thought about implementing the above in complex oscs but all of the parameters would need cos() and sin() to produce the coefficients.

just dug out 3d matrix rotation synth from a few years ago, surprised to see i have a resonant lowpass on the modulation :) set it up with rotation at pitch on one axis, and two set angles on others. i think i forgot about it because in this state it mainly produces noise or complex sequences that tend to loop.

but the fact that it mostly sounds like noise seems to affirm what i'm thinking, with 3d modulation you would have to work at limiting or defining the modulation to produce interesting, "meaningful" spectra.

here i make audio -
http://xoxos.net/temp/gyromatrix.mp3

oh i made one three years ago -
http://xoxos.net/temp/gyrotest.mp3

*edit* :oops: i built several sources with the same module address.. that audio is "gimbal lock" style 3d made out of 2d rotations instead of 3d matrix.. not immediately sure what i was doing looking at the script, but that one is 36 multiplies per sample, 50 when any parameter changes.
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


Post

Thank You xoxos!
Just what the doctor ordered as I had been thinking a lot reciently about how nice it would be to hear a chaos oscillator.
Timely to say the least.
Falcon user since 2015

Post

attractors generally sounded like noise to me (ymmv). for the next week i'll try plugging them into 3d forms for modulation.

thanks for the appreciation! i'm always offering the public stuff hoping to contribute to a more considerate human culture, it works better when there's some acknowledgement that anyone is actually using what i release. nobody seems to care for vst synths any more unless you want a large sum of money for them.
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

a word for aspiring developers. true, i have a reputation as an iconoclast. plus, my vst are 32 bit. the horror.

we're three days in, 600 thread views, and three humans have acknowledged using this plugin. i guarantee, the only way this thread makes it to page two is through my bitching.

selling plugins doesn't help raise money to save my family belongings, so i try giving plugins away. without mentioning this whatsoever, ..well, i appreciate that it's a competitive culture, but really, basically no public response is like, the public, really does suck balls.

seriously, own up to it. you, the public, couldn't lift a finger to acknowledge someone trying to do something beneficial for people and society unless they comply with an asinine capitalist culture. saying balls to you isn't going to help anything, but it's honest :) this culture is totally cock. no appreciation for advent, no compassion, just self interest and response to corroborated stimulus. and that, is the nature of pure absolute balls.
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

But some of us have purchased plug-ins from you. What about us? Have you forgotten already?
Anyone who can make you believe absurdities can make you commit atrocities.

Post Reply

Return to “Instruments”