{-# LANGUAGE OverloadedStrings #-} {- -} import Music.Prelude -- A simple subject subj = times 2 $ scat [c,c,d,b_,e,e]^/16 -- Each voice differ slighly in onset etc voca v = delay ((4/8)^*v) $ mcatMaybes $ scat $ fmap (\i -> (id $ up (_M2^*i) subj) |> rest^*(15/8)) $ [0..3] -- The music = id $ title "Phrases" $ composer "Anonymous" $ timeSignature (3/8) $ timeSignatureDuring ((14*3/8) <-> 200) (4/8) $ over phrases (rotateValues 1) -- $ over (phrases.middleV) (octavesAbove 1) -- $ over phrases fuse $ rcat -- $ fadeIn 4 $ map voca [0..3] main = open $ asScore $ music