-- massive attack - teardrop (intro) import CsoundExpr.Base import qualified CsoundExpr.Opcodes as C import Temporal.Music.Notation import Temporal.Music.Western import Temporal.Music.Western.TwelveTone 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 $ dynamicsRel [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 $ renderScore sco --main = writeFile file $ show out main = play "totem" "tmp" "new" out