hsc3-graphs-0.15: Sound/SC3/Graph/JMCC_impulse_sequencer.hs
-- impulse sequencer (jmcc) SC2
module Sound.SC3.Graph.JMCC_impulse_sequencer where
import Sound.SC3 {- hsc3 -}
isequ :: ID i => i -> [UGen] -> UGen -> UGen
isequ z s tr = tr * demand tr 0 (dseq z dinf (mce s))
impulse_sequencer :: UGen
impulse_sequencer =
let -- single sample impulse as trigger
t = impulse AR 8 0
-- clave rhythm
c_sq = isequ 'α' [1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0] t
c = decay2 c_sq 0.001 0.3 * fSinOsc AR 1700 0 * 0.1
-- dee dee dee dee dee
d_sq = isequ 'β' [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0] t
d = decay2 d_sq 0.001 0.3 * fSinOsc AR 2400 0 * 0.04
-- noise drum
n_sq = isequ 'γ' [1.0, 0.1, 0.1, 1.0, 0.1, 1.0, 0.1, 0.1] t
n = decay2 n_sq 0.001 0.25 * brownNoise 'δ' AR * 0.1
-- bass drum
b_sq = isequ 'ε' [1,0,0.2,0,0.2,0,0.2,0] t
b = decay2 b_sq 0.001 0.5 * fSinOsc AR 100 0 * 0.2
in c + d + n + b
main :: IO ()
main = audition (out 0 impulse_sequencer)