hsc3-0.21: Help/Graph/jmcc-cymbalism.hs
-- cymbalism (jmcc) #2 ; texture=overlap,3,6,6,inf
let p = 15
spec _ = let f1 = rand 500 2500
f = mceFill p (\_ -> rand f1 (f1 + rand 0 8000))
rt = mceFill p (\_ -> rand 1 5)
in klankSpec_mce f (mceFill p (const 1)) rt
t = impulse ar (rand 0.5 3.5) 0
s = whiteNoise ar * decay t 0.004 * 0.03
in mceFill 2 (\n -> klank s 1 0 1 (spec n))
-- cymbalism (jmcc) #2 ; texture=overlap,3,6,6,inf ; monad
uid_st_eval (do
let p = replicate 15
f1 <- randM 500 2500
f2 <- randM 0 8000
let y = do f <- sequence (p (randM f1 (f1 + f2)))
rt <- sequence (p (randM 1 5))
return (klankSpec f (p 1) rt)
z <- replicateM 2 y
n <- fmap (* 0.03) (whiteNoiseM ar)
tf <- randM 0.5 3.5
let t = impulse ar tf 0
s = decay t 0.004 * n
return (klank s 1 0 1 (mceTranspose (mce z))))
-- cymbalism (jmcc) #2 ; event control
let f (_,g,x,y,z,_,_,_,_,_,_) =
let mk_spc _ =
let f1 = x * 2000 + 500
f3 = mceFill 15 (\_ -> tRand f1 (f1 + rand 0 8000) g)
rt = mceFill 15 (\_ -> tRand 1 5 g)
in klankSpec_mce f3 (mceFill 15 (const 1)) rt
spc = mceFill 2 mk_spc
whn = whiteNoise ar * z * 0.1
sig = decay (trig g controlDur) (y * 0.01) * whn
in dynKlank sig 1 0 1 (mceTranspose spc)
in mix (voicer 16 f) * control kr "gain" 1
-- cymbalism (jmcc) #2 ; event control ; id
let f (c,g,x,y,z,_,_,_,_,_,_) =
let enumFromN e i = let j = fromEnum e in [j .. j + i]
mk_spc n =
let f1 = x * 2000 + 500
f2 = randId (c,n) 0 8000
f3 = map (\e -> tRandId (c,e) f1 (f1 + f2) g) (enumFromN n 15)
rt = map (\e -> tRandId (c,e) 1 5 g) (enumFromN n 15)
in klankSpec f3 (replicate 15 1) rt
spc = mce2 (mk_spc 'α') (mk_spc 'β')
whn = whiteNoiseId (c,'γ') ar * z * 0.1
sig = decay (trig g controlDur) (y * 0.01) * whn
in dynKlank sig 1 0 1 (mceTranspose spc)
in mix (voicer 16 f) * control kr "gain" 1