Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Mix a
- sco :: (Arg a, Sigs b) => (a -> SE b) -> Sco a -> Sco (Mix b)
- eff :: (Sigs a, Sigs b) => (a -> SE b) -> Sco (Mix a) -> Sco (Mix b)
- mix :: Sigs a => Sco (Mix a) -> a
- mixBy :: (Arg a, Sigs b) => (a -> Sco (Mix b)) -> a -> b
- monoSco :: forall a. Sigs a => (MonoArg -> SE a) -> Sco (D, D) -> Sco (Mix a)
- sco_ :: Arg a => (a -> SE ()) -> Sco a -> Sco (Mix Unit)
- mix_ :: Sco (Mix Unit) -> SE ()
- mixBy_ :: Arg a => (a -> Sco (Mix Unit)) -> a -> SE ()
- type Sco a = Track Sig a
- type CsdEventList a = Track Sig a
- type CsdEvent = (Double, Double, Note)
Documentation
Special type that represents a scores of sound signals. If an instrument is triggered with the scores the result is wrapped in the value of this type.
Instances
sco :: (Arg a, Sigs b) => (a -> SE b) -> Sco a -> Sco (Mix b) Source #
Plays a bunch of notes with the given instrument.
res = sco instrument scores
eff :: (Sigs a, Sigs b) => (a -> SE b) -> Sco (Mix a) -> Sco (Mix b) Source #
Applies an effect to the sound. Effect is applied to the sound on the give track.
res = eff effect sco
effect
- a function that takes a tuple of signals and produces a tuple of signals.sco
- something that is constructed withsco
oreff
.
With the function eff
you can apply a reverb or adjust the
level of the signal. It functions like a mixing board but unlike mixing
board it produces the value that you can arrange with functions from your
favorite Score-generation library. You can delay it or mix with some other track and
apply some another effect on top of it!
mix :: Sigs a => Sco (Mix a) -> a Source #
Renders a scores to the sound signals. we can use it inside the other instruments.
mixBy :: (Arg a, Sigs b) => (a -> Sco (Mix b)) -> a -> b Source #
Imitates a closure for a bunch of notes to be played within another instrument.
monoSco :: forall a. Sigs a => (MonoArg -> SE a) -> Sco (D, D) -> Sco (Mix a) Source #
Plays a bunch of notes with the given monophonic instrument. See details on type MonoArg
.
The scores contain the pairs of amplitude (0 to 1) and frequency (in Hz).
res = monoSco instrument scores
sco_ :: Arg a => (a -> SE ()) -> Sco a -> Sco (Mix Unit) Source #
Invokes a procedure for the given bunch of events.
mix_ :: Sco (Mix Unit) -> SE () Source #
Converts a bunch of procedures scheduled with scores to a single procedure.
mixBy_ :: Arg a => (a -> Sco (Mix Unit)) -> a -> SE () Source #
Imitates a closure for a bunch of procedures to be played within another instrument.
type CsdEventList a = Track Sig a Source #