Safe Haskell | None |
---|
This module contains some instruments with Causal arrow interface. The interface is a bit low-level since you have to write the transformations of the Haskell-side separately from the computations on the LLVM side. A nicer integration is used in Synthesizer.LLVM.Server.CausalPacked.InstrumentPlug. However, we preserve this module in order to show how things work internally.
- ping :: IO (Instrument Real Chunk)
- pingRelease :: IO (Real -> Real -> Instrument Real Chunk)
- helixSound :: IO (T -> SampleRate Real -> Real -> Real -> T (T GateChunk (T (Control Real) DetuneBendModControl)) StereoChunk)
- pingStereoReleaseFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Real) (Control Time)) (T (T (Control Real) (Control Time)) DetuneBendModControl))) StereoChunk)
- filterSawStereoFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Frequency) (Control Time)) DetuneBendModControl)) StereoChunk)
- tineStereoFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Real) (Control Real)) DetuneBendModControl)) StereoChunk)
- bellNoiseStereoFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Real) (Control Real)) DetuneBendModControl)) StereoChunk)
- wind :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl DetuneBendModControl) StereoChunk)
- windPhaser :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (Control Real) (T (Control Frequency) DetuneBendModControl))) StereoChunk)
- softStringShapeFM :: IO StringInstrument
- cosineStringStereoFM :: IO StringInstrument
- arcSawStringStereoFM :: IO StringInstrument
- arcSineStringStereoFM :: IO StringInstrument
- arcSquareStringStereoFM :: IO StringInstrument
- arcTriangleStringStereoFM :: IO StringInstrument
- fmStringStereoFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Real) (Control Real)) DetuneBendModControl)) StereoChunk)
- sampledSound :: IO (T -> SampleRate Real -> Real -> Real -> T (T GateChunk DetuneBendModControl) StereoChunk)
- sampledSoundMono :: IO (T -> SampleRate Real -> Real -> Real -> T (T GateChunk BendModControl) Chunk)
- type Control = T ShortStrictTime
- type DetuneBendModControl = T (Control Real) (Control (T Real))
- type WithEnvelopeControl remainder = T GateChunk (T (T (Control Time) (Control Time)) remainder)
- type StereoChunk = Vector (T Vector)
- type Frequency = Frequency Real
- type Time = Time Real
- pingControlledEnvelope :: Maybe Real -> IO (SampleRate Real -> Real -> T EnvelopeControl Chunk)
- stringControlledEnvelope :: IO (SampleRate Real -> Real -> T EnvelopeControl Chunk)
- reorderEnvelopeControl :: (Arrow arrow, Read remainder) => arrow (WithEnvelopeControl remainder) (T EnvelopeControl remainder)
- frequencyControl :: Functor f => SampleRate Real -> f Frequency -> f Real
- zipEnvelope :: (Arrow arrow, Transform a, Transform b) => arrow EnvelopeControl a -> arrow (WithEnvelopeControl b) (T a b)
Documentation
helixSound :: IO (T -> SampleRate Real -> Real -> Real -> T (T GateChunk (T (Control Real) DetuneBendModControl)) StereoChunk)Source
pingStereoReleaseFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Real) (Control Time)) (T (T (Control Real) (Control Time)) DetuneBendModControl))) StereoChunk)Source
filterSawStereoFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Frequency) (Control Time)) DetuneBendModControl)) StereoChunk)Source
tineStereoFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Real) (Control Real)) DetuneBendModControl)) StereoChunk)Source
bellNoiseStereoFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Real) (Control Real)) DetuneBendModControl)) StereoChunk)Source
wind :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl DetuneBendModControl) StereoChunk)Source
windPhaser :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (Control Real) (T (Control Frequency) DetuneBendModControl))) StereoChunk)Source
softStringShapeFM :: IO StringInstrumentSource
cosineStringStereoFM :: IO StringInstrumentSource
arcSawStringStereoFM :: IO StringInstrumentSource
arcSineStringStereoFM :: IO StringInstrumentSource
arcSquareStringStereoFM :: IO StringInstrumentSource
arcTriangleStringStereoFM :: IO StringInstrumentSource
fmStringStereoFM :: IO (SampleRate Real -> Real -> Real -> T (WithEnvelopeControl (T (T (Control Real) (Control Real)) DetuneBendModControl)) StereoChunk)Source
sampledSound :: IO (T -> SampleRate Real -> Real -> Real -> T (T GateChunk DetuneBendModControl) StereoChunk)Source
sampledSoundMono :: IO (T -> SampleRate Real -> Real -> Real -> T (T GateChunk BendModControl) Chunk)Source
mainly for testing purposes
type Control = T ShortStrictTimeSource
type WithEnvelopeControl remainder = T GateChunk (T (T (Control Time) (Control Time)) remainder)Source
type StereoChunk = Vector (T Vector)Source
pingControlledEnvelope :: Maybe Real -> IO (SampleRate Real -> Real -> T EnvelopeControl Chunk)Source
stringControlledEnvelope :: IO (SampleRate Real -> Real -> T EnvelopeControl Chunk)Source
reorderEnvelopeControl :: (Arrow arrow, Read remainder) => arrow (WithEnvelopeControl remainder) (T EnvelopeControl remainder)Source
frequencyControl :: Functor f => SampleRate Real -> f Frequency -> f RealSource
zipEnvelope :: (Arrow arrow, Transform a, Transform b) => arrow EnvelopeControl a -> arrow (WithEnvelopeControl b) (T a b)Source