Synthesizer.Generic.Analysis
 Contents Notions of volume Miscellaneous
Synopsis
Notions of volume
 volumeMaximum :: (C y, Read sig y) => sig y -> y Source
Volume based on Manhattan norm.
 volumeEuclidean :: (C y, Read sig y) => sig y -> y Source
Volume based on Energy norm.
 volumeEuclideanSqr :: (C y, Read sig y) => sig y -> y Source
 volumeSum :: (C y, C y, Read sig y) => sig y -> y Source
Volume based on Sum norm.
 volumeVectorMaximum :: (C y yv, Ord y, Read sig yv) => sig yv -> y Source
Volume based on Manhattan norm.
 volumeVectorEuclidean :: (C y, C y yv, Read sig yv) => sig yv -> y Source
Volume based on Energy norm.
 volumeVectorEuclideanSqr :: (C y, Sqr y yv, Read sig yv) => sig yv -> y Source
 volumeVectorSum :: (C y yv, C y, Read sig yv) => sig yv -> y Source
Volume based on Sum norm.
 bounds :: (Ord y, Read sig y) => sig y -> (y, y) Source
Compute minimum and maximum value of the stream the efficient way. Input list must be non-empty and finite.
Miscellaneous
 directCurrentOffset :: (C y, Read sig y) => sig y -> y Source
Requires finite length. This is identical to the arithmetic mean.
 scalarProduct :: (C y, Read sig y) => sig y -> sig y -> y Source
 centroid :: (C y, Read sig y) => sig y -> y Source
directCurrentOffset must be non-zero.
 average :: (C y, Read sig y) => sig y -> y Source
 rectify :: (C y, Transform sig y) => sig y -> sig y Source
 zeros :: (Ord y, C y, Transform sig y Bool) => sig y -> sig Bool Source

Detects zeros (sign changes) in a signal. This can be used as a simple measure of the portion of high frequencies or noise in the signal. It ca be used as voiced/unvoiced detector in a vocoder.

zeros x !! n is True if and only if (x !! n >= 0) /= (x !! (n+1) >= 0). The result will be one value shorter than the input.

 flipFlopHysteresis :: (Ord y, Transform sig y Bool) => (y, y) -> Bool -> sig y -> sig Bool Source
Detect thresholds with a hysteresis.