Safe Haskell | None |
---|---|
Language | Haskell98 |
Patches.
- type CsdNote a = (a, a)
- type Instr a b = CsdNote a -> SE b
- type Fx a = a -> SE a
- type Fx1 = Fx Sig
- type Fx2 = Fx Sig2
- data FxSpec a = FxSpec {
- fxMix :: DryWetRatio
- fxFun :: Fx a
- type DryWetRatio = Sig
- type Patch1 = Patch D Sig
- type Patch2 = Patch D Sig2
- data Patch a b = Patch {
- patchInstr :: Instr a b
- patchFx :: [FxSpec b]
- type PatchSig1 = Patch Sig Sig
- type PatchSig2 = Patch Sig Sig2
- getPatchFx :: (SigSpace a, Sigs a) => Patch b a -> Fx a
- dryPatch :: Patch a b -> Patch a b
- atMix :: Sig -> Patch a b -> Patch a b
- atMixes :: [Sig] -> Patch a b -> Patch a b
- atMidi :: (SigSpace a, Sigs a) => Patch D a -> SE a
- atMono :: (SigSpace a, Sigs a) => Patch Sig a -> SE a
- atMono' :: (SigSpace a, Sigs a) => MidiChn -> D -> D -> Patch Sig a -> SE a
- atMonoSharp :: (SigSpace a, Sigs a) => Patch Sig a -> SE a
- atHoldMidi :: (SigSpace a, Sigs a) => MidiChn -> D -> Patch Sig a -> SE a
- atSched :: (SigSpace a, Sigs a) => Patch D a -> Evt (Sco (CsdNote D)) -> SE a
- atSchedUntil :: (SigSpace a, Sigs a) => Patch D a -> Evt (CsdNote D) -> Evt b -> SE a
- atSco :: (SigSpace a, Sigs a) => Patch D a -> Sco (CsdNote D) -> Sco (Mix a)
- atNote :: (SigSpace b, Sigs b) => Patch a b -> CsdNote a -> SE b
- addInstrFx :: Fx b -> Patch a b -> Patch a b
- addPreFx :: DryWetRatio -> Fx b -> Patch a b -> Patch a b
- addPostFx :: DryWetRatio -> Fx b -> Patch a b -> Patch a b
- harmonPatch :: (Fractional a, SigSpace b, Sigs b) => [Sig] -> [a] -> Patch a b -> Patch a b
- deepPad :: (Fractional a, SigSpace b, Sigs b) => Patch a b -> Patch a b
- patchWhen :: Sigs b => BoolSig -> Patch a b -> Patch a b
- mixInstr :: (SigSpace b, Num b) => Sig -> Patch a b -> Patch a b -> Patch a b
- withSmallRoom :: Patch2 -> Patch2
- withSmallRoom' :: DryWetRatio -> Patch2 -> Patch2
- withSmallHall :: Patch2 -> Patch2
- withSmallHall' :: DryWetRatio -> Patch2 -> Patch2
- withLargeHall :: Patch2 -> Patch2
- withLargeHall' :: DryWetRatio -> Patch2 -> Patch2
- withMagicCave :: Patch2 -> Patch2
- withMagicCave' :: DryWetRatio -> Patch2 -> Patch2
- sfPatch :: Sf -> Patch2
- sfPatchHall :: Sf -> Patch2
Documentation
type CsdNote a = (a, a) Source
A simple csound note (good for playing with midi-keyboard). It's a pair of amplitude (0 to 1) and freuqncy (Hz).
type DryWetRatio = Sig Source
A patch. It's an instrument, an effect and default dry/wet ratio.
Patch | |
|
getPatchFx :: (SigSpace a, Sigs a) => Patch b a -> Fx a Source
Transforms all the effects for the given patch into a single function.
Midi
atMidi :: (SigSpace a, Sigs a) => Patch D a -> SE a Source
Plays a patch with midi. Supplies a custom value for mixing effects (dry/wet). The 0 is a dry signal, the 1 is a wet signal.
atMono' :: (SigSpace a, Sigs a) => MidiChn -> D -> D -> Patch Sig a -> SE a Source
Monosynth patch. Plays the patch with function monoMsg
atMonoMidi midiChn portamentotime releaseTime patch
atMonoSharp :: (SigSpace a, Sigs a) => Patch Sig a -> SE a Source
Simplified monosynth patch (sharp attack and transitions)
atHoldMidi :: (SigSpace a, Sigs a) => MidiChn -> D -> Patch Sig a -> SE a Source
Monosynth patch. Plays the patch with function holdMsg
atMonoMidi midiChn portamentotime patch
Events
atSched :: (SigSpace a, Sigs a) => Patch D a -> Evt (Sco (CsdNote D)) -> SE a Source
Plays a patch with event stream. Supplies a custom value for mixing effects (dry/wet). The 0 is a dry signal, the 1 is a wet signal.
Sco
atSco :: (SigSpace a, Sigs a) => Patch D a -> Sco (CsdNote D) -> Sco (Mix a) Source
Plays a patch with scores. Supplies a custom value for mixing effects (dry/wet). The 0 is a dry signal, the 1 is a wet signal.
Single note
atNote :: (SigSpace b, Sigs b) => Patch a b -> CsdNote a -> SE b Source
Plays a patch at the given note.
Fx
addInstrFx :: Fx b -> Patch a b -> Patch a b Source
Adds an effect to the patch's instrument.
addPreFx :: DryWetRatio -> Fx b -> Patch a b -> Patch a b Source
Appends an effect before patch's effect.
addPostFx :: DryWetRatio -> Fx b -> Patch a b -> Patch a b Source
Appends an effect after patch's effect.
Pads
harmonPatch :: (Fractional a, SigSpace b, Sigs b) => [Sig] -> [a] -> Patch a b -> Patch a b Source
Misc
patchWhen :: Sigs b => BoolSig -> Patch a b -> Patch a b Source
Plays the patch when confition is true otherwise it produces silence.
Rever
withSmallRoom :: Patch2 -> Patch2 Source
withSmallRoom' :: DryWetRatio -> Patch2 -> Patch2 Source
withSmallHall :: Patch2 -> Patch2 Source
withSmallHall' :: DryWetRatio -> Patch2 -> Patch2 Source
withLargeHall :: Patch2 -> Patch2 Source
withLargeHall' :: DryWetRatio -> Patch2 -> Patch2 Source
withMagicCave :: Patch2 -> Patch2 Source
withMagicCave' :: DryWetRatio -> Patch2 -> Patch2 Source
Sound font patches
sfPatchHall :: Sf -> Patch2 Source