Safe Haskell | None |
---|
- type Real = Float
- sampleRate :: C a => a
- chunkSize :: ChunkSize
- amplitudeFromVelocity :: Real -> Real
- ping :: Real -> Real -> T Real
- pingDur :: Instrument Real Real
- pingCausal :: Instrument Real (Vector Real)
- pingReleaseEnvelope :: Real -> LazyTime -> T Real
- pingRelease :: Instrument Real Real
- pingStereoRelease :: Instrument Real (T Real)
- pingReleaseEnvelopeCausal :: Real -> T GateChunk (Vector Real)
- pingReleaseCausal :: Instrument Real (Vector Real)
- tine :: Instrument Real Real
- tineStereo :: Instrument Real (T Real)
- softStringReleaseEnvelope :: Real -> LazyTime -> T Real
- softString :: Instrument Real (T Real)
- softStringReleaseEnvelopeCausal :: Real -> LazyTime -> T Real
- softStringReleaseEnvelopeCausalProcess :: Real -> T Bool Real
- softStringCausalProcess :: Real -> T Real (T Real)
- softStringCausal :: Instrument Real (T Real)
- stringStereoFM :: T Real -> Instrument Real (T Real)
- stringStereoDetuneFM :: T Real -> T Real -> Instrument Real (T Real)
- sampledSoundGenerator :: (Real, T Real) -> Real -> T Real
- sampledSound :: (Real, T Real) -> Instrument Real Real
- sampledSoundDetuneStereo :: Real -> (Real, T Real) -> Instrument Real (T Real)
- sampleReleaseEnvelope :: Real -> Real -> LazyTime -> T Real
- sampledSoundDetuneStereoRelease :: Real -> Real -> (Real, T Real) -> Instrument Real (T Real)
- readPianoSample :: IO (Real, T Real)
- readStringSample :: IO (Real, T Real)
- sampledSoundTimeLoop :: (Real -> Real -> Real -> Real -> T Real) -> (Real, T Real) -> Real -> Real -> Instrument Real Real
- loopTimeModSine :: Real -> Real -> Real -> Real -> T Real
- loopTimeModZigZag :: Real -> Real -> Real -> Real -> T Real
- timeModulatedSample :: (Real, T Real) -> T Real -> T Real -> T Real -> Instrument Real Real
- colourNoise :: T Real -> T Real -> Instrument Real Real
- toneFromNoise :: T Real -> T Real -> Instrument Real Real
- toneFromFilteredNoise :: T Real -> T Real -> T Real -> T Real -> Instrument Real Real
Documentation
sampleRate :: C a => aSource
tineStereo :: Instrument Real (T Real)Source
softString :: Instrument Real (T Real)Source
stringStereoFM :: T Real -> Instrument Real (T Real)Source
stringStereoDetuneFM :: T Real -> T Real -> Instrument Real (T Real)Source
sampledSound :: (Real, T Real) -> Instrument Real RealSource
sampledSoundDetuneStereo :: Real -> (Real, T Real) -> Instrument Real (T Real)Source
sampledSoundTimeLoop :: (Real -> Real -> Real -> Real -> T Real) -> (Real, T Real) -> Real -> Real -> Instrument Real RealSource
Resample a sampled sound with a smooth loop using our time manipulation algorithm. Time is first controlled linearly, then switches to a sine or triangular control. Loop start must be large enough in order provide enough spare data for interpolation at the beginning and loop start plus length must preserve according space at the end. One period is enough space for linear interpolation. The infinite sound we generate is not just a cycle, that uses bounded space. Instead we need to compute all the time. In order to avoid duplicate interpolation, we have merged resampling and time looping.
colourNoise :: T Real -> T Real -> Instrument Real RealSource
toneFromNoise :: T Real -> T Real -> Instrument Real RealSource