-- massive attack - teardrop (intro)
import CsoundExpr.Base
import qualified CsoundExpr.Opcodes as C
import Temporal.Music.Western.P12
import Orchestra(pipeOrgan', openHiHat', bassDrum', guitar)
scoBassDrum = low $ line [en c, qn c, en c, accent 0.5 $ hn f]
scoHiHat = line [hnr, dim 3 $ loop 4 $ ed 0]
scoDrums = loop 20 $ chord [
bassDrum' $ f' scoBassDrum,
openHiHat' $ p' scoHiHat ]
scoGuitar = sustain (1/16) $ guitar $
envelopeRel [0, 2, 4, 4, 2] $
loop 4 $
pp' $ high $ line [qnr, line $ map qn
[low a, e, low a, d, low a, d, e]]
scoOrgan = pipeOrgan' $ chord [q, low q]
where q = loop 2 $ lower 3 $ line $ map bn [a, g, d, low a]
sco = bpm (moderato 0.7) $ chord [
delay 10 $ scoGuitar,
scoDrums,
delay 2 $ scoOrgan,
rest 0]
file = "out.csd"
flags = "-d"
out = csd flags headerMono sco
--main = writeFile file $ show out
main = play "totem" "tmp" "new" out