lambdasound-1.2.0: A libary for generating low-level sounds with high-level combinators
Safe HaskellSafe-Inferred
LanguageGHC2021

LambdaSound.Effect

Synopsis

Documentation

easeInOut :: Int -> Sound d Pulse -> Sound d Pulse Source #

Eases the volume of the sound. The given Int controls the strength of the easing.

repeatSound :: Int -> Sound T Pulse -> Sound T Pulse Source #

Repeats a sound such that:

repeatSound 3 sound = sound >>> sound >>> sound

simpleReverb :: Duration -> Sound T Pulse -> Sound T Pulse Source #

Plays the sound multiple times to get a simple reverb effect. The duration specifies the length of the reverb.

data Envelope Source #

ADSR envelope which specifies how the volume of a sound should behave over time

Constructors

Envelope 

Instances

Instances details
Show Envelope Source # 
Instance details

Defined in LambdaSound.Effect

Eq Envelope Source # 
Instance details

Defined in LambdaSound.Effect

applyEnvelope :: Envelope -> Sound T Pulse -> Sound T Pulse Source #

Apply an ADSR envelope to a sound

harmonic :: (Hz -> Sound I Pulse) -> Hz -> Sound I Pulse Source #

Add some harmonic frequencies