-- massive attack - teardrop (intro)
import CsoundExpr.Base
import qualified CsoundExpr.Opcodes as C
import Temporal.Music.Notation
import Temporal.Music.Notation.Local.Western
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' $ fl scoBassDrum,
openHiHat' $ pl scoHiHat ]
scoGuitar = sustain (1/16) $ guitar $
dynamicRel [0, 2, 4, 4, 2] $
loop 4 $
ppl $ 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