Safe Haskell | None |
---|
- frequencyControl :: (p -> T Real) -> Param p (T Real)
- modulation :: (p -> (T (T Real), Real)) -> Param p (T (T Real))
- detuneModulation :: (p -> (T Real, T (T Real), Real)) -> Param p (T Real, T (T Real))
- frequencyFromBendModulation :: Param p Real -> Param p (T (T Real)) -> SigP p VectorValue
- stereoFrequenciesFromDetuneBendModulation :: Param p Real -> Param p (T Real, T (T Real)) -> SigP p (T VectorValue)
- piecewiseConstantVector :: T p (T Real) -> T p VectorValue
- pingReleaseEnvelope :: IO (Real -> Real -> ChunkSize -> SampleRate Real -> Real -> LazyTime -> T Vector)
- pingRelease :: IO (Real -> Real -> ChunkSize -> Instrument Real Vector)
- pingStereoRelease :: IO (Real -> Real -> ChunkSize -> Instrument Real (T Vector))
- pingStereoReleaseFM :: IO (Real -> Real -> T Real -> T Real -> Real -> Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- squareStereoReleaseFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- type Triple a = (a, a, a)
- bellStereoFM :: IO (Real -> Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- bellNoiseStereoFM :: IO (Real -> Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- tine :: IO (Real -> Real -> ChunkSize -> Instrument Real Vector)
- tineStereo :: IO (Real -> Real -> ChunkSize -> Instrument Real (T Vector))
- softStringReleaseEnvelope :: IO (Real -> SampleRate Real -> Real -> LazyTime -> T Vector)
- softString :: IO (Instrument Real (T Vector))
- softStringFM :: IO (T (T Real) -> Instrument Real (T Vector))
- tineStereoFM :: IO (Real -> Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- tineControlledProc :: Param p (T Real) -> Param p (T Real) -> Param p Real -> CausalP p (T VectorValue) (T VectorValue)
- tineControlledFnProc :: Param p (T Real) -> Param p (T Real) -> Param p Real -> CausalP p (T VectorValue) (T VectorValue)
- tineControlledFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- fenderProc :: Param p (T Real) -> Param p (T Real) -> Param p (T Real) -> Param p Real -> CausalP p (T VectorValue) (T VectorValue)
- fenderFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- fmModulator :: Param p Real -> Param p Real -> Param p (T Real) -> CausalP p (T VectorValue) (T VectorValue)
- tineModulatorBankFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T 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 -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- resonantFMSynthProc :: Param p (T Real) -> Param p (T Real) -> Param p (T Real) -> Param p Real -> CausalP p (T VectorValue) (T VectorValue)
- resonantFMSynth :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- phaserOsci :: (T p Real -> T p a VectorValue) -> T p a (T VectorValue)
- softStringDetuneFM :: IO (Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- softStringShapeFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- arcSawStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- arcSquareStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- arcTriangleStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- arcSineStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- cosineStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- arcStringStereoFM :: (forall r. VectorValue -> CodeGenFunction r VectorValue) -> IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- softStringShapeCore :: (forall r. VectorValue -> VectorValue -> CodeGenFunction r VectorValue) -> IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- fmStringStereoFM :: IO (Real -> T Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- stereoNoise :: SigP p (T VectorValue)
- windCore :: Param p (T Real) -> Param p (T (T Real)) -> SigP p (T VectorValue)
- wind :: IO (Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- fadeProcess :: (PseudoRing v, IntegerConstant v) => T p a v -> T p a v -> T p (v, a) v
- windPhaser :: IO (Real -> T Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))
- filterSawStereoFM :: IO (Real -> Real -> T Real -> Real -> Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- adsr :: IO (Real -> Real -> Real -> Real -> Real -> ChunkSize -> SampleRate Real -> Real -> LazyTime -> T Vector)
- brass :: IO (Real -> Real -> Real -> Real -> Real -> Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))
- sampledSound :: IO (T -> T (T Real) -> Instrument Real (T Vector))
- sampledSoundLeaky :: IO (T -> T (T Real) -> Instrument Real (T Vector))
- makeSampledSounds :: FilePath -> Info -> IO [T (T Real) -> Instrument Real (T Vector)]
Documentation
frequencyFromBendModulation :: Param p Real -> Param p (T (T Real)) -> SigP p VectorValueSource
stereoFrequenciesFromDetuneBendModulation :: Param p Real -> Param p (T Real, T (T Real)) -> SigP p (T VectorValue)Source
piecewiseConstantVector :: T p (T Real) -> T p VectorValueSource
pingReleaseEnvelope :: IO (Real -> Real -> ChunkSize -> SampleRate Real -> Real -> LazyTime -> T Vector)Source
pingRelease :: IO (Real -> Real -> ChunkSize -> Instrument Real Vector)Source
pingStereoRelease :: IO (Real -> Real -> ChunkSize -> Instrument Real (T Vector))Source
pingStereoReleaseFM :: IO (Real -> Real -> T Real -> T Real -> Real -> Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))Source
squareStereoReleaseFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T 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 -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))Source
bellNoiseStereoFM :: IO (Real -> Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))Source
tineStereo :: IO (Real -> Real -> ChunkSize -> Instrument Real (T Vector))Source
softStringReleaseEnvelope :: IO (Real -> SampleRate Real -> Real -> LazyTime -> T Vector)Source
softString :: IO (Instrument Real (T Vector))Source
softStringFM :: IO (T (T Real) -> Instrument Real (T Vector))Source
tineControlledProc :: Param p (T Real) -> Param p (T Real) -> Param p Real -> CausalP p (T VectorValue) (T VectorValue)Source
tineControlledFnProc :: Param p (T Real) -> Param p (T Real) -> Param p Real -> CausalP p (T VectorValue) (T VectorValue)Source
tineControlledFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))Source
fenderProc :: Param p (T Real) -> Param p (T Real) -> Param p (T Real) -> Param p Real -> CausalP p (T VectorValue) (T VectorValue)Source
fenderFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))Source
fmModulator :: Param p Real -> Param p Real -> Param p (T Real) -> CausalP p (T VectorValue) (T VectorValue)Source
tineModulatorBankFM :: IO (Real -> Real -> T Real -> T Real -> T Real -> T Real -> T Real -> ChunkSize -> T (T 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 -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))Source
resonantFMSynthProc :: Param p (T Real) -> Param p (T Real) -> Param p (T Real) -> Param p Real -> CausalP p (T VectorValue) (T VectorValue)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 -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))Source
phaserOsci :: (T p Real -> T p a VectorValue) -> T p a (T VectorValue)Source
softStringShapeFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
arcSawStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
arcSquareStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
arcTriangleStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
arcSineStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
cosineStringStereoFM :: IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
arcStringStereoFM :: (forall r. VectorValue -> CodeGenFunction r VectorValue) -> IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
softStringShapeCore :: (forall r. VectorValue -> VectorValue -> CodeGenFunction r VectorValue) -> IO (Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
fmStringStereoFM :: IO (Real -> T Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
stereoNoise :: SigP p (T VectorValue)Source
fadeProcess :: (PseudoRing v, IntegerConstant v) => T p a v -> T p a v -> T p (v, a) vSource
windPhaser :: IO (Real -> T Real -> T Real -> T Real -> T (T Real) -> Instrument Real (T Vector))Source
filterSawStereoFM :: IO (Real -> Real -> T Real -> Real -> Real -> ChunkSize -> T (T Real) -> Instrument Real (T Vector))Source
adsr :: IO (Real -> Real -> Real -> Real -> Real -> ChunkSize -> SampleRate 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.