packages feed

hsc3-0.2: Help/UGen/Chaos/fbSineC.help.lhs

fbSineC rate freq im fb a c xi yi
fbSineL rate freq im fb a c xi yi
fbSineN rate freq im fb a c xi yi

Feedback sine with chaotic phase indexing.

freq - iteration frequency in Hz    - 22050
im   - index multiplier amount      - 1
fb   - feedback amount              - 0.1
a    - phase multiplier amount      - 1.1
c    - phase increment amount       - 0.5
xi   - initial value of x           - 0.1
yi   - initial value of y           - 0.1

A cubic-interpolating sound generator based on the difference
equations:
	
	xn+1 = sin(im*yn + fb*xn)
	yn+1 = (ayn + c) % 2pi

This uses a linear congruential function to drive the phase
indexing of a sine wave.  For im = 1, fb = 0, and a = 1 a normal
sinewave results.

sclang default values

> audition (out 0 (fbSineC AR (sampleRate / 4) 1 0.1 1.1 0.5 0.1 0.1 * 0.2))

Increase feedback

> let fb = line KR 0.01 4 10 DoNothing
> in audition (out 0 (fbSineC AR sampleRate 1 fb 1.1 0.5 0.1 0.1 * 0.2))

Increase phase multiplier

> let a = line KR 1 2 10 DoNothing
> in audition (out 0 (fbSineC AR sampleRate 1 0 a 0.5 0.1 0.1 * 0.2))

Randomly modulate parameters

> let { madd a m = return . (+ a) . (* m)
>     ; x = mouseX KR 1 12 Linear 0.1 
>     ; n = lfNoise2 KR x }
> in do { n0 <- madd 1e4 1e4 =<< n
>       ; n1 <- madd 33 32 =<< n
>       ; n2 <- madd 0 0.5 =<< n
>       ; n3 <- madd 1.05 0.05 =<< n
>       ; n4 <- madd 0.3 0.3 =<< n
>       ; audition (out 0 (fbSineC AR n0 n1 n2 n3 n4 0.1 0.1 * 0.2)) }