| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Grammar.Harmony
- data HarmonyConfig = HarmonyConfig {
- basePc :: PitchClass
- baseOct :: Octave
- baseScale :: AbstractScale
- chords :: [(Weight, AbstractChord)]
- defHarmonyConfig :: HarmonyConfig
- harmony :: Grammar Modulation Degree
- interpret :: HarmonyConfig -> Degree -> IO SemiChord
- data Degree
- newtype Modulation = Modulation Interval
Documentation
data HarmonyConfig Source #
Configuration for harmony.
Constructors
| HarmonyConfig | |
Fields
| |
Instances
| Expand HarmonyConfig Degree Modulation SemiChord Source # | Expands modulations and intreprets degrees to chords. |
interpret :: HarmonyConfig -> Degree -> IO SemiChord Source #
Interpret a degree as a SemiChord on a given harmonic context.
Terminal symbol that represents scale degrees.
newtype Modulation Source #
Auxiliary wrapper for modulating keys.
Constructors
| Modulation Interval |
Instances
| Eq Modulation Source # | |
| Show Modulation Source # | |
| Expand HarmonyConfig Degree Modulation SemiChord Source # | Expands modulations and intreprets degrees to chords. |