Safe Haskell | None |
---|---|
Language | Haskell98 |
Functions to generate break point data for standard envelope types.
- envCoord :: Num a => [(a, a)] -> a -> a -> Envelope_Curve a -> Envelope a
- envTrapezoid :: (Num a, OrdE a) => a -> a -> a -> a -> Envelope a
- envPerc' :: Num a => a -> a -> a -> Envelope_Curve2 a -> Envelope a
- envPerc :: Num a => a -> a -> Envelope a
- envTriangle :: (Num a, Fractional a) => a -> a -> Envelope a
- envSine :: (Num a, Fractional a) => a -> a -> Envelope a
- data LINEN a = LINEN {
- linen_attackTime :: a
- linen_sustainTime :: a
- linen_releaseTime :: a
- linen_level :: a
- linen_curve :: Envelope_Curve3 a
- envLinen_r :: Num a => LINEN a -> Envelope a
- envLinen' :: Num a => a -> a -> a -> a -> Envelope_Curve3 a -> Envelope a
- envLinen :: Num a => a -> a -> a -> a -> Envelope a
- data ADSR a = ADSR {
- adsr_attackTime :: a
- adsr_decayTime :: a
- adsr_sustainLevel :: a
- adsr_releaseTime :: a
- adsr_peakLevel :: a
- adsr_curve :: Envelope_Curve3 a
- adsr_bias :: a
- adsrDefault :: Fractional n => ADSR n
- envADSR :: Num a => a -> a -> a -> a -> a -> Envelope_Curve a -> a -> Envelope a
- envADSR_r :: Num a => ADSR a -> Envelope a
- data ADSSR a = ADSSR {
- adssr_attackTime :: a
- adssr_attackLevel :: a
- adssr_decayTime :: a
- adssr_decayLevel :: a
- adssr_slopeTime :: a
- adssr_sustainLevel :: a
- adssr_releaseTime :: a
- adssr_curve :: Envelope_Curve4 a
- adssr_bias :: a
- envADSSR :: Num a => a -> a -> a -> a -> a -> a -> a -> Envelope_Curve a -> a -> Envelope a
- envADSSR_r :: Num a => ADSSR a -> Envelope a
- data ASR a = ASR {
- asr_attackTime :: a
- asr_sustainLevel :: a
- asr_releaseTime :: a
- asr_curve :: Envelope_Curve2 a
- envASR :: Num a => a -> a -> a -> Envelope_Curve a -> Envelope a
- envASR_r :: Num a => ASR a -> Envelope a
- envStep :: [a] -> [a] -> Maybe Int -> Maybe Int -> Envelope a
- envGate :: UGen -> UGen -> UGen -> DoneAction -> Envelope_Curve UGen -> UGen
- envGate' :: UGen
Documentation
envCoord :: Num a => [(a, a)] -> a -> a -> Envelope_Curve a -> Envelope a Source
Co-ordinate based static envelope generator.
let e = envCoord [(0,0),(1/4,1),(1,0)] 1 1 EnvLin in envelope_sc3_array e == Just [0,2,-99,-99,1,1/4,1,0,0,3/4,1,0]
envTrapezoid :: (Num a, OrdE a) => a -> a -> a -> a -> Envelope a Source
Trapezoidal envelope generator. The arguments are: 1. shape
determines the sustain time as a proportion of dur
, zero is a
triangular envelope, one a rectangular envelope; 2. skew
determines the attack/decay ratio, zero is an immediate attack and
a slow decay, one a slow attack and an immediate decay;
3. duration
in seconds; 4. amplitude
as linear gain.
envPerc' :: Num a => a -> a -> a -> Envelope_Curve2 a -> Envelope a Source
Variant envPerc
with user specified 'Envelope_Curve a'.
envPerc :: Num a => a -> a -> Envelope a Source
Percussive envelope, with attack, release, level and curve inputs.
envTriangle :: (Num a, Fractional a) => a -> a -> Envelope a Source
Triangular envelope, with duration and level inputs.
let e = envTriangle 1 0.1 in envelope_sc3_array e = Just [0,2,-99,-99,0.1,0.5,1,0,0,0.5,1,0]
envSine :: (Num a, Fractional a) => a -> a -> Envelope a Source
Sine envelope, with duration and level inputs.
let e = envSine 0 0.1 in envelope_sc3_array e == Just [0,2,-99,-99,0.1,0,3.0,0,0,0,3,0]
Parameters for LINEN envelopes.
LINEN | |
|
envLinen' :: Num a => a -> a -> a -> a -> Envelope_Curve3 a -> Envelope a Source
Variant of envLinen
with user specified 'Envelope_Curve a'.
envLinen :: Num a => a -> a -> a -> a -> Envelope a Source
Linear envelope parameter constructor.
let {e = envLinen 0 1 0 1 ;s = envelope_segments e ;p = pack_envelope_segments s} in p == (env_levels e,env_times e,env_curves e)
Parameters for ADSR envelopes. The sustain level is given as a proportion of the peak level.
ADSR | |
|
adsrDefault :: Fractional n => ADSR n Source
envADSR :: Num a => a -> a -> a -> a -> a -> Envelope_Curve a -> a -> Envelope a Source
Attack, decay, sustain, release envelope parameter constructor.
Parameters for Roland type ADSSR envelopes.
ADSSR | |
|
envADSSR :: Num a => a -> a -> a -> a -> a -> a -> a -> Envelope_Curve a -> a -> Envelope a Source
Attack, decay, slope, sustain, release envelope parameter constructor.
Parameters for ASR envelopes.
ASR | |
|
envASR :: Num a => a -> a -> a -> Envelope_Curve a -> Envelope a Source
Attack, sustain, release envelope parameter constructor.
let {c = 3 ;r = Just [0,2,1,-99,0.1,3,c,0,0,2,c,0]} in envelope_sc3_array (envASR 3 0.1 2 EnvSin) == r
envStep :: [a] -> [a] -> Maybe Int -> Maybe Int -> Envelope a Source
All segments are horizontal lines.
envGate :: UGen -> UGen -> UGen -> DoneAction -> Envelope_Curve UGen -> UGen Source
Singleton fade envelope.