synthesizer-0.2: src/Synthesizer/Physical/Noise.hs
{-# LANGUAGE NoImplicitPrelude #-}
module Synthesizer.Physical.Noise where
import qualified Synthesizer.SampleRateContext.Noise as NoiseC
-- import qualified Synthesizer.SampleRateContext.Signal as SigC
import qualified Synthesizer.Physical.Signal as SigP
import System.Random (Random)
import qualified Algebra.Algebraic as Algebraic
import qualified Algebra.Ring as Ring
-- import PreludeBase
-- import NumericPrelude
{- * Noise -}
white :: (Ring.C yv, Random yv, Algebraic.C q') =>
q' {-^ sample rate -}
-> q' {-^ width of the frequency band -}
-> q' {-^ volume caused by the given frequency band -}
-> SigP.T t q' y q' yv
{-^ noise -}
white sampleRate bandWidth volume =
SigP.lift0 (NoiseC.white bandWidth volume) sampleRate