synthesizer-dimensional-0.7: Audio signal processing with static physical dimensions

Safe HaskellNone




data Abstract Source

Can be used as amplitude value for enumeration types such as Bool and Ordering and other types, where a numeric amplitude makes no sense. It is essential in T. It would be a bad idea to omit the Abstract parameter in dimensional causal processes since the correspondence between amplitude type and sample type would be lost.



newtype Numeric amp Source


Numeric amp 


Functor Numeric 
(IsScalar v, C y) => C y (Numeric (T v y)) 
C (Numeric amp) 

type Dimensional v y = Numeric (T v y)Source

data Flat y Source

Flat y is quite the same as Dimensional Dim.Scalar y but in some cases it allows a little more efficient processing. It should not be mixed up with Abstract. Flat y is reserved for numeric amplitudes.




C y => C y (Flat y) 
Primitive (Flat y) 
C (Flat y) 

class C amp Source

This class is used to make mapAmplitude both flexible and a bit safe. Its instances are dimensional numbers Numeric and Abstract. It should not be necessary to add more instances.

class Primitive amp whereSource

This class is used for append and map that expect that the amplitude value does carry not more information than that expressed by the type. It should not be necessary to add more instances.


primitive :: ampSource