//SLUGens released under the GNU GPL as extensions for SuperCollider 3, by Nick Collins, http://composerprogrammer.com/index.html
Naive Euler ODE solver implementation of the Weakly Nonlinear Oscillator with external perturbation (see Strogatz, Steven H. (1994) Nonlinear Dynamics and Chaos. Addison-Wesley, Reading, MA. pp215 or Pikovsky, Arkady., Rosenblum, Michael., and Kurths, Jurgen. (2001). Synchronization. CUP: Cambridge. pp 189).
D2x +w0*w0*x = alpha*(x^xexponent*+beta)*y^yexponent + input
y= Dx
The nonlinear term is not calculated if alpha is zero. Otherwise it is generated at additional CPU cost.
All inputs can have .kr rate UGens plugged in.
NOTE: Due to an error of implementation this oscillator has an additional distortion component in it- which adds to the sound! WeaklyNonlinear2 is an implementation with this fixed, but this older version is retained for backwards compatibility and because it has an interesting roughness.
input |
audio rate input, acts as external force |
reset |
restart |
ratex |
update rate for x |
ratey |
update rate for y |
freq |
The equation constant w0 (linear oscillator's frequency when alone * 2pi) |
initx |
reset value for u |
inity |
reset value for w |