{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-} {- | Copyright : (c) Henning Thielemann 2006 License : GPL Maintainer : synthesizer@henning-thielemann.de Stability : provisional Portability : requires multi-parameter type classes -} module Synthesizer.Inference.Monad.SignalSeq.Noise (white, whiteGen, randomPeeks) where import qualified Synthesizer.Inference.Monad.Signal as SigI import qualified Synthesizer.Inference.Monad.Signal.Noise as NoiseI import Synthesizer.Inference.Monad.Signal.Noise (white, whiteGen) import qualified Algebra.OccasionallyScalar as OccScalar import qualified Algebra.Field as Field import System.Random (Random) import UniqueLogicNP.Monad(liftP) -- import NumericPrelude import PreludeBase as P randomPeeks :: (Field.C a, Random a, Ord a, Field.C q, OccScalar.C a q) => SigI.Process a q a {- ^ momentary densities (frequency), @p@ means that there is about one peak in the time range of @1\/p@. -} -> SigI.Process a q Bool {- ^ Every occurence of 'True' represents a peak. -} randomPeeks = liftP NoiseI.randomPeeks