Safe Haskell | None |
---|---|
Language | Haskell2010 |
A MusicGenerator
that uses Chaos functions.
- data Mapping n = Mapping {
- pcSel :: Selector (ChaosState n) PitchClass
- octSel :: Selector (ChaosState n) Octave
- durSel :: Selector (ChaosState n) Duration
- itvSel :: Selector (ChaosState n) Interval
- dynSel :: Selector (ChaosState n) Dynamic
- artSel :: Selector (ChaosState n) Articulation
- defaultMapping :: Mapping n
- defaultChaosSelector :: Selector (ChaosState n) a
- chaosEntry :: (Enum a, Bounded a) => ChaosState n -> Selector (ChaosState n) a -> Entry (ChaosState n) a
- chaosState :: ChaosState n -> Mapping n -> GenState (ChaosState n)
- runChaosGenerator :: ChaosState n -> Mapping n -> MusicGenerator (ChaosState n) a -> IO a
- cleanChaos :: ChaosState n -> Mapping n -> MusicGenerator (ChaosState n) a -> MusicGenerator (ChaosState n) a
- playChaosGen :: ToMusicCore a => ChaosState n -> Mapping n -> MusicGenerator (ChaosState n) (Music a) -> IO ()
- buildChaos :: Vec n Double -> Vec n (Vec n Double -> Double) -> ChaosState n
- data ChaosState n = ChaosState {}
- type ChaosGenerator n = StateT (ChaosState n) IO
- genNextIteration :: ChaosGenerator n [Double]
Documentation
Selectors for all GenState
elements.
Mapping | |
|
defaultMapping :: Mapping n Source #
Default Mapping
that just grabs the first element from the list of
possible values.
defaultChaosSelector :: Selector (ChaosState n) a Source #
Default Chaos selector, (just grabs the first element from the list).
chaosEntry :: (Enum a, Bounded a) => ChaosState n -> Selector (ChaosState n) a -> Entry (ChaosState n) a Source #
Generates an Entry
based on a ChaosState
and Selector
.
chaosState :: ChaosState n -> Mapping n -> GenState (ChaosState n) Source #
Builds a GenState
with a ChaosState
based on a ChaosState
and Mapping
runChaosGenerator :: ChaosState n -> Mapping n -> MusicGenerator (ChaosState n) a -> IO a Source #
Runs a generator on the chaos state.
cleanChaos :: ChaosState n -> Mapping n -> MusicGenerator (ChaosState n) a -> MusicGenerator (ChaosState n) a Source #
Cleans the MusicGenerator
playChaosGen :: ToMusicCore a => ChaosState n -> Mapping n -> MusicGenerator (ChaosState n) (Music a) -> IO () Source #
Generates music and plays it using Midi on device 0.
:: Vec n Double | Initial variable values |
-> Vec n (Vec n Double -> Double) | Functions that calculate next variable values |
-> ChaosState n |
Builds a ChaosState from two Vectors of the same length. This constraint is imposed since the number of variables should be equal to the number of update functions.
type ChaosGenerator n = StateT (ChaosState n) IO Source #
The `ChaosState wrapped in a StateT
monad.`
genNextIteration :: ChaosGenerator n [Double] Source #
Calculates the next iteration of values for the ChaosState
.