|
| Synthesizer.State.Control | | Portability | requires multi-parameter type classes | | Stability | provisional | | Maintainer | synthesizer@henning-thielemann.de |
|
|
|
|
|
| Description |
|
|
| Synopsis |
|
|
|
|
| Control curve generation
|
|
|
|
|
| :: C a | | | => a | steepness
| | -> a | initial value
| | -> T a | linear progression
|
|
|
| linearMultiscale :: C y => y -> y -> T y | Source |
|
| As stable as the addition of time values.
|
|
| linearMultiscaleNeutral :: C y => y -> T y | Source |
|
| Linear curve starting at zero.
|
|
|
| :: C y | | | => Int | length
| | -> (y, y) | initial and final value
| | -> T y | linear progression
| | Linear curve of a fixed length.
The final value is not actually reached,
instead we stop one step before.
This way we can concatenate several lines
without duplicate adjacent values.
|
|
|
|
| :: C a | | | => a | time where the function reaches 1/e of the initial value
| | -> a | initial value
| | -> T a | exponential decay
|
|
|
|
| :: C a | | | => a | time where the function reaches 1/e of the initial value
| | -> a | initial value
| | -> T a | exponential decay
|
|
|
| exponentialMultiscaleNeutral | Source |
|
| :: C y | | | => y | time where the function reaches 1/e of the initial value
| | -> T y | exponential decay
|
|
|
|
| :: C a | | | => a | half life
| | -> a | initial value
| | -> T a | exponential decay
|
|
|
|
| :: C a | | | => a | half life
| | -> a | initial value
| | -> T a | exponential decay
|
|
|
| exponential2MultiscaleNeutral | Source |
|
| :: C y | | | => y | half life
| | -> T y | exponential decay
|
|
|
| exponentialFromToMultiscale | Source |
|
| :: C y | | | => y | time where the function reaches 1/e of the initial value
| | -> y | initial value
| | -> y | value after given time
| | -> T y | exponential decay
|
|
|
|
| :: C y | | | => y | time where the function reaches 1/e of the initial value
| | -> y | initial value
| | -> y | value after given time
| | -> T y | exponential decay
|
|
|
|
| :: (C a, C a v) | | | => a | time where the function reaches 1/e of the initial value
| | -> v | initial value
| | -> T v | exponential decay
| | This is an extension of exponential to vectors
which is straight-forward but requires more explicit signatures.
But since it is needed rarely I setup a separate function.
|
|
|
|
| :: (C a, C a v) | | | => a | half life
| | -> v | initial value
| | -> T v | exponential decay
|
|
|
|
| :: C a | | | => a | time t0 where 1 is approached
| | -> a | time t1 where -1 is approached
| | -> T a | a cosine wave where one half wave is between t0 and t1
|
|
|
| cubicHermite :: C a => (a, (a, a)) -> (a, (a, a)) -> T a | Source |
|
|
| piecewise curves
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| auxiliary functions
|
|
| curveMultiscale :: (y -> y -> y) -> y -> y -> T y | Source |
|
|
| curveMultiscaleNeutral :: (y -> y -> y) -> y -> y -> T y | Source |
|
|
| Produced by Haddock version 2.4.2 |