hsc3-0.21: Help/Ugen/iEnvGen.help.hs
-- iEnvGen
let e = let l = [0,0.6,0.3,1.0,0]
t = [0.1,0.02,0.4,1.1]
c = [EnvLin,EnvExp,EnvNum (-6),EnvSin]
in Envelope l t c Nothing Nothing 0
x = mouseX kr 0 (envelope_duration e) Linear 0.2
g = iEnvGen kr x e
in sinOsc ar (g * 500 + 440) 0 * 0.1
-- iEnvGen ; index with sinOsc ; mouse controls amplitude ; offset negative values of SinOsc
let e = let l = [-1,-0.7,0.7,1]
t = [0.8666,0.2666,0.8668]
c = [EnvLin,EnvLin]
in Envelope l t c Nothing Nothing (-1)
x = mouseX kr 0 1 Linear 0.2
o = (sinOsc ar 440 0) * x
in iEnvGen ar o e * 0.1
-- iEnvGen ; index with amplitude of input ; control freq of SinOsc
let e = envXyc [(0, 330, EnvExp), (0.5, 440, EnvExp), (1.0, 1760, EnvLin)]
pt = amplitude ar (soundIn 0) 0.01 0.2
in sinOsc ar (iEnvGen kr pt e) 0 * 0.2
-- iEnvGen ; using line to generate time signal ; ie. time can move faster and start near the end
let param = envPairs [(0,110),(4,220),(9,440),(11,220),(13,880),(19,110),(23,55),(27,55)] EnvExp
(start,end,scale) = (11,27,1.5)
time = line kr start end ((end - start) / scale) DoNothing
freq = iEnvGen kr time param
print_time = poll (impulse kr 1 0) time 0 (label "time")
print_freq = poll (impulse kr 1 0) freq 0 (label "freq")
in mrg [pan2 (sinOsc ar 220 0 + sinOsc ar freq 0) 0 0.1,print_time,print_freq]