Sound.Tidal.Chords
major
major :: Num a => [a]
aug
aug :: Num a => [a]
six
six :: Num a => [a]
sixNine
sixNine :: Num a => [a]
major7
major7 :: Num a => [a]
major9
major9 :: Num a => [a]
add9
add9 :: Num a => [a]
major11
major11 :: Num a => [a]
add11
add11 :: Num a => [a]
major13
major13 :: Num a => [a]
add13
add13 :: Num a => [a]
dom7
dom7 :: Num a => [a]
dom9
dom9 :: Num a => [a]
dom11
dom11 :: Num a => [a]
dom13
dom13 :: Num a => [a]
sevenFlat5
sevenFlat5 :: Num a => [a]
sevenSharp5
sevenSharp5 :: Num a => [a]
sevenFlat9
sevenFlat9 :: Num a => [a]
nine
nine :: Num a => [a]
eleven
eleven :: Num a => [a]
thirteen
thirteen :: Num a => [a]
minor
minor :: Num a => [a]
diminished
diminished :: Num a => [a]
minorSharp5
minorSharp5 :: Num a => [a]
minor6
minor6 :: Num a => [a]
minorSixNine
minorSixNine :: Num a => [a]
minor7flat5
minor7flat5 :: Num a => [a]
minor7
minor7 :: Num a => [a]
minor7sharp5
minor7sharp5 :: Num a => [a]
minor7flat9
minor7flat9 :: Num a => [a]
minor7sharp9
minor7sharp9 :: Num a => [a]
diminished7
diminished7 :: Num a => [a]
minor9
minor9 :: Num a => [a]
minor11
minor11 :: Num a => [a]
minor13
minor13 :: Num a => [a]
one
one :: Num a => [a]
five
five :: Num a => [a]
sus2
sus2 :: Num a => [a]
sus4
sus4 :: Num a => [a]
sevenSus2
sevenSus2 :: Num a => [a]
sevenSus4
sevenSus4 :: Num a => [a]
nineSus4
nineSus4 :: Num a => [a]
sevenFlat10
sevenFlat10 :: Num a => [a]
nineSharp5
nineSharp5 :: Num a => [a]
minor9sharp5
minor9sharp5 :: Num a => [a]
sevenSharp5flat9
sevenSharp5flat9 :: Num a => [a]
minor7sharp5flat9
minor7sharp5flat9 :: Num a => [a]
elevenSharp
elevenSharp :: Num a => [a]
minor11sharp
minor11sharp :: Num a => [a]
chordTable
chordTable :: Num a => [(String, [a])]
chordate cs m n selects the nth "chord" (a chord is a list of Ints)
from a list of chords cs and transposes it by m
chordate :: Num b => [[b]] -> b -> Int -> [b]
chordate cs m n = map (+m) $ cs!!n
enchord chords pn pc turns every note in the note pattern pn into
a chord, selecting from the chord lists chords using the index pattern
pc. For example, Chords.enchord [Chords.major Chords.minor] "c g" "0 1"
will create a pattern of a C-major chord followed by a G-minor chord.
enchord :: Num a => [[a]] -> Pattern a -> Pattern Int -> Pattern a
enchord chords pn pc = flatpat $ (chordate chords) $ pn * pc
chordL
chordL :: Num a => Pattern String -> Pattern [a]
chordList
chordList :: String
data
data Modifier
applyModifier
applyModifier :: (Enum a, Num a) => Modifier -> [a] -> [a]
applyModifierPat
applyModifierPat :: (Num a, Enum a) => Pattern [a] -> Pattern [Modifier] -> Pattern [a]
applyModifierPatSeq
applyModifierPatSeq :: (Num a, Enum a) => (a -> b) -> Pattern [a] -> [Pattern [Modifier]] -> Pattern [b]
chordToPatSeq
chordToPatSeq :: (Num a, Enum a) => (a -> b) -> Pattern a -> Pattern String -> [Pattern [Modifier]] -> Pattern b
chord
chord :: (Num a, Enum a) => Pattern a -> Pattern String -> [Pattern [Modifier]] -> Pattern a
turns a given pattern of some Num type, a pattern of chord names and a list of patterns of modifiers into a chord pattern