module Main where import Euterpea import qualified Codec.Midi -- primitive rock bass line tonic = c 5 qn dmnt = g 4 qn -- dominant sdmnt = f 5 qn -- subdominant noteList = [sdmnt, tonic, dmnt, tonic] >>= replicate 4 bassLine = instrument ElectricBassPicked $ foldr1 (:+:) noteList -- primitive rock drum beat chh = perc ClosedHiHat drumBeat = instrument Percussion $ timesM (8 * 4) (chh en) main :: IO () main = do Codec.Midi.exportFile "duet.mid" (testMidi $ tempo (100/120) $ drumBeat :=: bassLine)