|
| Synthesizer.Basic.ToneModulation |
|
|
|
| Synopsis |
|
| untangleShapePhase :: C a => Int -> a -> (a, a) -> (a, a) | | | untangleShapePhaseAnalytic :: C a => Int -> a -> (a, a) -> (a, a) | | | solveSLE2 :: C a => ((a, a), (a, a)) -> (a, a) -> (a, a) | | | det2 :: C a => ((a, a), (a, a)) -> a | | | flattenShapePhaseAnalytic :: C a => Int -> a -> (a, T a) -> (Int, (a, a)) | | | flattenShapePhase :: C a => Int -> a -> (a, T a) -> (Int, (a, a)) | | | shapeLimits :: C t => Margin -> Margin -> Int -> t -> (t, t) | | | interpolationOffset :: Margin -> Margin -> Int -> Int | | | interpolationNumber :: Margin -> Margin -> Int -> Int | | | type Coords t = (Int, (Int, (t, t))) | | | type Skip t = (Int, (t, T t)) |
|
|
| Documentation |
|
| untangleShapePhase :: C a => Int -> a -> (a, a) -> (a, a) | Source |
|
Convert from the (shape,phase) parameter pair
to the index within a wave (step) and the index of a wave (leap)
in the sampled prototype tone.
For this routine it would be simpler,
if shape would measure in multiples of period
(we would only need a Ring instance),
but for shapeLimit it is better the way it is.
|
|
| untangleShapePhaseAnalytic :: C a => Int -> a -> (a, a) -> (a, a) | Source |
|
|
| solveSLE2 :: C a => ((a, a), (a, a)) -> (a, a) -> (a, a) | Source |
|
|
| det2 :: C a => ((a, a), (a, a)) -> a | Source |
|
|
| flattenShapePhaseAnalytic :: C a => Int -> a -> (a, T a) -> (Int, (a, a)) | Source |
|
|
| flattenShapePhase :: C a => Int -> a -> (a, T a) -> (Int, (a, a)) | Source |
|
|
|
|
|
|
|
|
|
|
|
|
| Produced by Haddock version 2.4.2 |