tidal-0.9.3: Pattern language for improvised music

Safe HaskellNone
LanguageHaskell2010

Sound.Tidal.Transition

Synopsis

Documentation

histpan :: Int -> Time -> [ParamPattern] -> ParamPattern Source #

Pans the last n versions of the pattern across the field

superwash :: (Pattern a -> Pattern a) -> (Pattern a -> Pattern a) -> Time -> Time -> Time -> Time -> [Pattern a] -> Pattern a Source #

A generalization of wash. Washes away the current pattern after a certain delay by applying a function to it over time, then switching over to the next pattern to which another function is applied.

wash :: (Pattern a -> Pattern a) -> Time -> Time -> [Pattern a] -> Pattern a Source #

Wash away the current pattern by applying a function to it over time, then switching over to the next.

d1 $ sound "feel ! feel:1 feel:2"

t1 (wash (chop 8) 4) $ sound "feel*4 [feel:2 sn:2]"

Note that `chop 8` is applied to `sound "feel ! feel:1 feel:2"` for 4 cycles and then the whole pattern is replaced by `sound "feel*4 [feel:2 sn:2]`

wait :: Time -> Time -> [ParamPattern] -> ParamPattern Source #

Just stop for a bit before playing new pattern

wait' :: (Time -> [ParamPattern] -> ParamPattern) -> Time -> Time -> [ParamPattern] -> ParamPattern Source #

Just as wait, wait' stops for a bit and then applies the given transition to the playing pattern

d1 $ sound "bd"

t1 (wait' (xfadeIn 8) 4) $ sound "hh*8"

jump :: Time -> [ParamPattern] -> ParamPattern Source #

Jumps directly into the given pattern, this is essentially the _no transition_-transition.

Variants of jump provide more useful capabilities, see jumpIn and jumpMod

jumpIn :: Int -> Time -> [ParamPattern] -> ParamPattern Source #

Sharp jump transition after the specified number of cycles have passed.

t1 (jumpIn 2) $ sound "kick(3,8)"

jumpIn' :: Int -> Time -> [ParamPattern] -> ParamPattern Source #

Unlike jumpIn the variant jumpIn' will only transition at cycle boundary (e.g. when the cycle count is an integer).

jumpMod :: Int -> Time -> [ParamPattern] -> ParamPattern Source #

Sharp jump transition at next cycle boundary where cycle mod n == 0

mortal :: Time -> Time -> Time -> [ParamPattern] -> ParamPattern Source #

Degrade the new pattern over time until it ends in silence