module Haskore.Example.BesondrerTag where import Haskore.Melody.Standard as Melody import Haskore.Music.GeneralMIDI as MidiMusic import qualified Haskore.Music as Music noAttr :: [Melody.NoteAttributes -> Melody.T] -> Melody.T noAttr = line . map ($ na) bar0, bar1, bass0, bass1 :: Melody.T bar0 = noAttr $ [b 0 qn, g 0 qn, a 0 qn, d 1 en, c 1 en, b 0 qn, a 0 en, g 0 en, a 0 hn, g 0 dqn, fs 0 en, e 0 en, fs 0 en, g 0 qn, a 0 qn, b 0 qn, a 0 hn, g 0 hn] bass0 = noAttr $ [g 1 hn, d 1 hn, e 1 hn, d 1 hn, e 1 hn, c 1 hn, d 1 hn, d 1 hn, g 1 hn, g 1 hn, fs 1 hn, e 1 hn, d 1 hn, b 0 hn, c 1 hn, cs 1 hn, d 1 hn, g 1 hn] bar1 = noAttr $ [d 0 dqn, d 0 en, e 0 qn, fs 0 qn, g 0 qn, a 0 en, g 0 en, fs 0 qn, d 0 qn, g 0 dqn, g 0 en, a 0 qn, b 0 qn, c 1 qn, b 0 qn, a 0 hn, g 0 hn] bass1 = noAttr $ [d 1 hn, c 1 qn, a 0 qn, e 1 qn, cs 1 qn, d 1 qn, c 1 qn, b 0 hn, c 1 qn, cs 1 qn, d 1 hn, d 1 hn, g 1 hn] melody :: Melody.T melody = Music.replicate 2 bar0 +:+ bar1 bass :: Melody.T bass = bass0 +:+ bass1 song :: MidiMusic.T song = changeTempo 2 (MidiMusic.fromStdMelody MidiMusic.AcousticGrandPiano (transpose ( 24) melody) =:= MidiMusic.fromStdMelody MidiMusic.StringEnsemble1 (transpose (-12) bass))