RobinSchmidt / RS-MET

Codebase for RS-MET products (Robin Schmidt's Music Engineering Tools)
Other
55 stars 6 forks source link

suggestions for RayBouncer #46

Open elanhickler opened 7 years ago

elanhickler commented 7 years ago

Played around with the new feedback controls. I'm getting unstable waveforms, can't seem to get much in terms of tonal stuff. Also, there's a lot of triangle-ness to it, it's edgy, poppy.

What are your plans for this? I think the way to make it more musical is to create sinusoidal patterns via attractors/gravity rather than having the "bouncing off walls" be the focus. A gravity well will create circular patterns which will be a better starting point for tonal/musical/smooth sound.

RobinSchmidt commented 7 years ago

plans...hmm - not sure, i just wanted to experiment a bit with the idea. eventually i want to build a kind of semimodular synth, somewhat similar to straightliner but instead of 4 oscs, you would have 4 general sources and for each, you could choose between a range of algorithms (osc, noise, sampleplayer, raybouncer, lorentz, FM/PM, additive, whatever). and there would be a vector-pad mixer for the 4 sources. and instead of a single filter, there would be a dual filter which can continuously be changed between serial and parallel operation - and for each of the two, you could also pick and choose from different filter algorithms (ladder, biquad, phasor, resoreplacer, whatever). ...and routable modulators...

and this synth should then also be available in the Chainer - i wouldn't bother to set it up as a separate project anymore

RobinSchmidt commented 7 years ago

A gravity well will create circular patterns which will be a better starting point for tonal/musical/smooth sound.

yeah, but that would be an entirely different algorithm, i think. maybe an interesting concept would be to let various particles interact via gravitational (and maybe also electrical, i.e. attractive or repulsive) forces. with two particles (subject to gravitation only), they would orbit each other in elliptical orbits (i think, giving rise to sinusoidal x,y,z-values). with a 3rd particle, it would go into chaos. one could start with an extremely small (low mass/charge) 3rd particle and slowly increase it to go from periodic into chaos continuously.

RobinSchmidt commented 7 years ago

there are some subtleties, though: when the distance between two particles becomes zero, you'd get a division by zero (strength of force is proportional to 1 / distance^2). perhaps, i would have to use a modified gravitational law like 1 / (const + distance^2 ) to avoid this (but i have no idea how that affects the total energy (kinetic + potential) - maybe i should renormalize the velocities after each step to keep the total energy constant). or consider not point particles but particles with (spherical) volume - but i think, that would give rise to some complicated math and might not be worth the trouble.

elanhickler commented 7 years ago

If the particles are interacting with each other and bouncing off walls I don't see how that would create tonal sound, well you could gaurantee tonal sound by allowing distance between particles to become zero. That means you have a fixed point attractor in your chaotic system aka equilibrium (zero movement, zero output). If you are constantly going to a fixed point attractor, then you should try retriggering the entire process at regular intervals, that would give you a frequency / tonal sound.

RobinSchmidt commented 7 years ago

i implemented the max-distance thing. i think, i could remove some of the xx2x, etc. parameters, and maybe leave only x2y, y2x, and have an xy-to-both parameter. all the others seem not to add anything essential and just add bloat the interface (and computation)

elanhickler commented 7 years ago

The max-distance plus the bending chaos is the secret sauce! I was getting some great tones and chaos and noise, ill record something when I have time. You could improve it with my idea of Z-depth or 3d bouncing. Again, make Z-Depth cause an increase in frequency depending on distance to Z. This would create the 3D illusion on a 2d oscilloscope and sound very nice.

If you don't end up implementing 3D, then at least have a speed control where the particle slows down over time (after each launch) you could call it Drag or something, or friction. This will create a similar sound.

Or you could have the particle speed up over time.

Or you could have it start slow, speed up, then slow down (triangle shape).

RobinSchmidt commented 7 years ago

great. so, it was not a pointless math exercise after all. i need to refine a couple of things then (like handling the condition, when the reflection doesn't bring me back into the inside of the ellipse - i currently simply reset now in this (rare) case. that's what creates the spurious pops)

RobinSchmidt commented 7 years ago

3D....yeaahh - i have to figure out the math for that. ought to be a good deal more complicated than 2D. currently, the 2D reflection can be done by reflecting about the tangential line to the ellipse at the intersection point with the line on which the particle currently travels...thankfully, no angles have to be computed explicitly. the geometry works out nicely. i think, in 3D, i would have to compute the equation of the tangential plane to an ellipsoid and reflect about that plane

RobinSchmidt commented 7 years ago

this should be helpful: http://www.vias.org/calculus/11_partial_differentiation_06_14.html ...marked for later

elanhickler commented 6 years ago

Add my drag/speed control idea and I'll do a prettyscope video on my youtube channel and advertise your website and work in progress framework.