Safe Haskell | None |
---|
- type T t time set = Behavior t set -> Event t time -> Event t [NoteBoundary]
- mono :: C set => Selector set i -> Behavior t set -> Event t i -> Event t [NoteBoundary]
- poly :: C set => Selector set i -> Behavior t set -> Event t [IndexNote i] -> Event t [NoteBoundary]
- type Selector set i = i -> set -> [((Pitch, Channel), Velocity)]
- data IndexNote i = IndexNote Int i
- item :: i -> Int -> IndexNote i
- data Poly set i = Poly (Selector set i) (T Int [IndexNote i])
- selectFromOctaveChord :: C set => Selector set Int
- selectFromChord :: C set => Selector set Int
- selectFromChordRatio :: C set => Selector set Double
- selectInversion :: C set => Selector set Double
- flipSeq :: Int -> [Int]
- cycleUpIndex :: Behavior t Int -> Event t time -> Event t Int
- pingPongIndex :: Behavior t Int -> Event t time -> Event t Int
- cycleDownIndex :: Behavior t Int -> Event t time -> Event t Int
- crossSumIndex :: Behavior t Int -> Event t time -> Event t Int
- crossSumStaticIndex :: Int -> Event t time -> Event t Int
- fromList :: [a] -> Event t time -> Event t a
- cycleUp :: C set => Behavior t Int -> T t time set
- crossSum :: C set => Behavior t Int -> T t time set
- pingPong :: C set => Behavior t Int -> T t time set
- cycleDown :: C set => Behavior t Int -> T t time set
- bruijn :: C set => Int -> Int -> T t time set
- binaryStaccato :: C set => T t time set
- binaryAccident :: C set => T t time set
- binaryLegato :: C set => T t time set
- decomposePositional :: Integer -> Integer -> [Integer]
- cycleUpOctave :: C set => Behavior t Int -> T t time set
- random :: C set => T t time set
- randomInversions :: C set => T t time set
- cycleUpInversions :: C set => Int -> T t time set
- inversions :: C set => [Double] -> T t time set
- examplePolyTempo0 :: T Int [IndexNote Int]
- examplePolyTempo1 :: T Int [IndexNote Int]
reactive patterns
poly :: C set => Selector set i -> Behavior t set -> Event t [IndexNote i] -> Event t [NoteBoundary]Source
selectors
selectFromOctaveChord :: C set => Selector set IntSource
Generate notes according to the key set, where notes for negative and too large indices are padded with keys that are transposed by octaves.
selectFromChord :: C set => Selector set IntSource
selectFromChordRatio :: C set => Selector set DoubleSource
selectInversion :: C set => Selector set DoubleSource
patterns
See Haskore/FlipSong
flipSeq m !! n = cross sum of the m-ary representation of n modulo m.
For m=2 this yields http:www.research.att.comcgi-binaccess.cgiasnjassequenceseisA.cgi?Anum=A010060
binaryStaccato :: C set => T t time setSource
binaryAccident :: C set => T t time setSource
binaryLegato :: C set => T t time setSource
decomposePositional :: Integer -> Integer -> [Integer]Source
randomInversions :: C set => T t time setSource
cycleUpInversions :: C set => Int -> T t time setSource
inversions :: C set => [Double] -> T t time setSource