
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 