packages feed

hsc3-graphs-0.15: gr/landon-rose.hs

-- landon rose (jmcc) #8

import Sound.SC3 {- hsc3 -}

nt :: Num n => [[n]]
nt = [[32,43,54, 89]
     ,[10,34,80,120]
     ,[67,88,90,100]
     ,[76,88,99,124]]

fr :: Floating n => [[n]]
fr = map (map midiCPS') nt

nd :: ID a => a -> UGen -> [UGen] -> UGen
nd z e f =
    let p = klankSpec f (replicate 4 1) (replicate 4 3)
        x = e * pinkNoise z AR * mce2 0.0011 0.0012
    in klank x 1 0 1 p

env :: Real n => n -> UGen
env i = abs (sinOsc AR (1 / 8) ((constant i / 2) * pi))

lr :: UGen
lr = sum (zipWith3 nd "αβγδ" (map env [0 .. 3]) fr)

main :: IO ()
main = audition (out 0 lr)