module Chords where
import Midi
chord ::
Integer -> [Integer] ->
[Midi.Event Midi.Message] ;
chord dur =
mergeMany . map (note dur) ;
chord3 ::
Integer ->
Integer -> Integer -> Integer ->
[Midi.Event Midi.Message] ;
chord3 dur p0 p1 p2 = chord dur [p0, p1, p2] ;
chord4 ::
Integer ->
Integer -> Integer -> Integer -> Integer ->
[Midi.Event Midi.Message] ;
chord4 dur p0 p1 p2 p3 = chord dur [p0, p1, p2, p3] ;
major, major7, minor, minor7 ::
Integer -> Integer -> [Midi.Event Midi.Message] ;
major dur base =
chord4 dur base (base + 4) (base + 7) (base + 12) ;
major7 dur base =
chord4 dur base (base + 4) (base + 7) (base + 10) ;
minor dur base =
chord4 dur base (base + 3) (base + 7) (base + 12) ;
minor7 dur base =
chord4 dur base (base + 3) (base + 7) (base + 10) ;