Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- 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 => a Source #
amplitudeFromVelocity :: Real -> Real Source #
pingCausal :: Instrument Real (Vector Real) Source #
pingStereoRelease :: Instrument Real (T Real) Source #
tineStereo :: Instrument Real (T Real) Source #
softString :: Instrument Real (T Real) Source #
softStringCausal :: Instrument Real (T Real) Source #
stringStereoFM :: T Real -> Instrument Real (T Real) Source #
sampledSound :: (Real, T Real) -> Instrument Real Real Source #
sampledSoundDetuneStereoRelease :: Real -> Real -> (Real, T Real) -> Instrument Real (T Real) Source #
sampledSoundTimeLoop :: (Real -> Real -> Real -> Real -> T Real) -> (Real, T Real) -> Real -> Real -> Instrument Real Real Source #
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.
timeModulatedSample :: (Real, T Real) -> T Real -> T Real -> T Real -> Instrument Real Real Source #
colourNoise :: T Real -> T Real -> Instrument Real Real Source #
toneFromNoise :: T Real -> T Real -> Instrument Real Real Source #