packages feed

music-preludes-1.7.1: examples/phrases.hs

{-# 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