- type Vector = Vector VectorSize Real
- type VectorSize = D4
- vectorSize :: Int
- vectorChunkSize :: ChunkSize
- vectorRate :: Fractional a => a
- frequencyFromBendModulation :: T p Real -> T p (T (BendModulation Real), Real) -> T p (Value Vector)
- stereoFrequenciesFromDetuneBendModulation :: T p Real -> T p (T Real, T (BendModulation Real), Real) -> T p (T (Value Vector))
- pingReleaseEnvelope :: IO (Real -> Real -> Real -> LazyTime -> T Vector)
- pingRelease :: IO (Real -> Real -> Instrument Real Vector)
- pingStereoRelease :: IO (Real -> Real -> Instrument Real (T Vector))
- pingStereoReleaseFM :: IO (Real -> Real -> T Real -> T Real -> Real -> Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- squareStereoReleaseFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- bellStereoFM :: IO (Real -> Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- bellNoiseStereoFM :: IO (Real -> Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- tine :: IO (Real -> Real -> Instrument Real Vector)
- tineStereo :: IO (Real -> Real -> Instrument Real (T Vector))
- softStringReleaseEnvelope :: IO (Real -> Real -> LazyTime -> T Vector)
- softString :: IO (Instrument Real (T Vector))
- softStringFM :: IO (T (BendModulation Real) -> Instrument Real (T Vector))
- tineStereoFM :: IO (Real -> Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- tineControlledFnProc :: T p (T Real) -> T p (T Real) -> T p Real -> T p (T (Value Vector)) (T (Value Vector))
- tineControlledProc :: T p (T Real) -> T p (T Real) -> T p Real -> T p (T (Value Vector)) (T (Value Vector))
- tineControlledFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- fenderProc :: T p (T Real) -> T p (T Real) -> T p (T Real) -> T p Real -> T p (T (Value Vector)) (T (Value Vector))
- fenderFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- tineModulatorBankFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- tineBankFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- resonantFMSynthProc :: T p (T Real) -> T p (T Real) -> T p (T Real) -> T p Real -> T p (T (Value Vector)) (T (Value Vector))
- resonantFMSynth :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- piecewiseConstantVector :: T p (T Real) -> T p (Value Vector)
- softStringDetuneFM :: IO (Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- cosineStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- arcSineStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- arcTriangleStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- arcSquareStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- arcSawStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- softStringShapeFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- arcStringStereoFM :: (forall r. Value Vector -> CodeGenFunction r (Value Vector)) -> IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- softStringShapeCore :: (forall r. Value Vector -> Value Vector -> CodeGenFunction r (Value Vector)) -> IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- fmStringStereoFM :: IO (Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- wind :: IO (Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- fadeProcess :: (Num b, IsConst b, IsArithmetic v, Replicate b v) => T p a (Value v) -> T p a (Value v) -> T p (Value v, a) (Value v)
- windPhaser :: IO (Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- filterSawStereoFM :: IO (Real -> Real -> T Real -> Real -> Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- adsr :: IO (Real -> Real -> Real -> Real -> Real -> Real -> LazyTime -> T Vector)
- brass :: IO (Real -> Real -> Real -> Real -> Real -> Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))
- data SamplePositions = SamplePositions {}
- data SampledSound = SampledSound {}
- sampledSound :: IO (SampledSound -> T (BendModulation Real) -> Instrument Real (T Vector))
- sampledSoundLeaky :: IO (SampledSound -> T (BendModulation Real) -> Instrument Real (T Vector))
- type SampleInfo = (FilePath, [SamplePositions], Real)
- makeSampledSounds :: SampleInfo -> IO [T (BendModulation Real) -> Instrument Real (T Vector)]
- tomatensalatPositions :: [SamplePositions]
- tomatensalat :: SampleInfo
- halPositions :: [SamplePositions]
- hal :: SampleInfo
- graphentheoriePositions :: [SamplePositions]
- graphentheorie :: SampleInfo
Documentation
type Vector = Vector VectorSize RealSource
type VectorSize = D4Source
vectorRate :: Fractional a => aSource
frequencyFromBendModulation :: T p Real -> T p (T (BendModulation Real), Real) -> T p (Value Vector)Source
stereoFrequenciesFromDetuneBendModulation :: T p Real -> T p (T Real, T (BendModulation Real), Real) -> T p (T (Value Vector))Source
pingRelease :: IO (Real -> Real -> Instrument Real Vector)Source
pingStereoRelease :: IO (Real -> Real -> Instrument Real (T Vector))Source
pingStereoReleaseFM :: IO (Real -> Real -> T Real -> T Real -> Real -> Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
squareStereoReleaseFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
Square like wave constructed as difference of two phase shifted sawtooth like oscillations.
bellStereoFM :: IO (Real -> Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
bellNoiseStereoFM :: IO (Real -> Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
tineStereo :: IO (Real -> Real -> Instrument Real (T Vector))Source
softString :: IO (Instrument Real (T Vector))Source
softStringFM :: IO (T (BendModulation Real) -> Instrument Real (T Vector))Source
tineStereoFM :: IO (Real -> Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
tineControlledFnProc :: T p (T Real) -> T p (T Real) -> T p Real -> T p (T (Value Vector)) (T (Value Vector))Source
tineControlledProc :: T p (T Real) -> T p (T Real) -> T p Real -> T p (T (Value Vector)) (T (Value Vector))Source
tineControlledFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
fenderProc :: T p (T Real) -> T p (T Real) -> T p (T Real) -> T p Real -> T p (T (Value Vector)) (T (Value Vector))Source
fenderFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
tineModulatorBankFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
tineBankFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
resonantFMSynthProc :: T p (T Real) -> T p (T Real) -> T p (T Real) -> T p Real -> T p (T (Value Vector)) (T (Value Vector))Source
FM synthesis where the modulator is a resonantly filtered sawtooth. This way we get a sinus-like modulator where the sine frequency (that is, something like the modulation index) can be controlled continously.
resonantFMSynth :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
softStringDetuneFM :: IO (Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
cosineStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
arcSineStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
arcTriangleStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
arcSquareStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
arcSawStringStereoFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
softStringShapeFM :: IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
arcStringStereoFM :: (forall r. Value Vector -> CodeGenFunction r (Value Vector)) -> IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
softStringShapeCore :: (forall r. Value Vector -> Value Vector -> CodeGenFunction r (Value Vector)) -> IO (Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
fmStringStereoFM :: IO (Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
fadeProcess :: (Num b, IsConst b, IsArithmetic v, Replicate b v) => T p a (Value v) -> T p a (Value v) -> T p (Value v, a) (Value v)Source
windPhaser :: IO (Real -> T Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
filterSawStereoFM :: IO (Real -> Real -> T Real -> Real -> Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
adsr :: IO (Real -> Real -> Real -> Real -> Real -> Real -> LazyTime -> T Vector)Source
The ADSR curve is composed from three parts: Attack, Decay(+Sustain), Release. Attack starts when the key is pressed and lasts attackTime seconds where it reaches height attackPeak*amplitudeOfVelocity. It should be attackPeak>1 because in the following phase we want to approach 1 from above. Say the curve would approach the limit value L if it would continue after the end of the attack phase, the slope is determined by the halfLife with respect to this upper bound. That is, attackHalfLife is the time in seconds where the attack curve reaches or would reach L/2. After Attack the Decay part starts at the same level and decays to amplitudeOfVelocity. The slope is again a halfLife, that is, decayHalfLife is the time where the curve drops from attackPeak*amplitudeOfVelocity to (attackPeak+1)/2*amplitudeOfVelocity. This phase lasts as long as the key is pressed. If the key is released the curve decays with half life releaseHalfLife.
brass :: IO (Real -> Real -> Real -> Real -> Real -> Real -> T Real -> T Real -> T (BendModulation Real) -> Instrument Real (T Vector))Source
data SamplePositions Source
data SampledSound Source
sampledSound :: IO (SampledSound -> T (BendModulation Real) -> Instrument Real (T Vector))Source
sampledSoundLeaky :: IO (SampledSound -> T (BendModulation Real) -> Instrument Real (T Vector))Source
type SampleInfo = (FilePath, [SamplePositions], Real)Source
makeSampledSounds :: SampleInfo -> IO [T (BendModulation Real) -> Instrument Real (T Vector)]Source