hsc3-0.21: Help/Ugen/varSaw.help.hs
-- varSaw
let x = mouseX kr 0 1 Linear 0.2 in varSaw ar 220 0 x * 0.1
-- varSaw
let f = lfPulse kr (mce2 3 3.03) 0 0.3 * 200 + 200
w = linLin (lfTri kr 1 0) (-1) 1 0 1
in varSaw ar f 0 w * 0.1
-- varSaw ; compare with lfPulse at ar
let f = lfPulse kr 3 0 0.3 * 200 + 200
in mce [varSaw ar f 0 0.2
,lfPulse ar f 0 0.2] * 0.1
-- varSaw ; per-note width modulation
let d = linLin (lfNoise2Id 'α' kr 0.1) (-1) 1 0.05 0.5
t = impulse ar (1 / d) 0
w0 = tRandId 'β' 0 0.35 t
w1 = tRandId 'γ' 0.65 1 t
w = phasor ar t ((w1 - w0) * sampleDur) w0 w1 0
e = decay2 t 0.1 d
f = midiCps (tRandId 'δ' 36 72 t)
o = varSaw ar f 0 w * e * 0.1
l = tRandId 'ε' (-1) 1 t
in pan2 o l 1
-- varSaw ; http://sc-users.bham.ac.narkive.com/sj4Tw3ub/sync-osc#post6
let freq = control kr "freq" 110
factor = control kr "factor" 1
x = mouseX kr 0 1.0 Linear 0.2
y = mouseY kr (mce2 23 17) 0 Linear 0.2
t = impulse kr 0.5 0
ph = varSaw ar (freq * factor * tChooseId 'α' t (mce [0.125,0.5,1.3,1.5,23.0])) 0 x * y
in sinOsc ar (freq * mce2 1.001 1) ph * 0.1
-- varSaw ; slow indeterminate modulation of width, http://sccode.org/1-5as
let midinote = 60
gate_ = 1
amp = 0.25
asr = envAsr 0.1 1 0.1 (EnvNum (-4))
env = envGen kr gate_ 1 0 1 RemoveSynth asr
freq = midiCps midinote
width = range 0.2 0.8 (lfNoise2Id 'α' kr 1) * range 0.7 0.8 (sinOsc kr 5 (randId 'β' 0.0 1.0))
in varSaw ar freq 0 width * env * amp