hsc3-rec-0.12: Sound/SC3/UGen/Record/Goertzel.hs
-- | Calculate a single DFT bin, to detect presence of a frequency
module Sound.SC3.UGen.Record.Goertzel where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Goertzel = Goertzel {
input :: S.UGen,
bufsize :: S.UGen,
freq :: S.UGen,
hop :: S.UGen
} deriving (Show)
goertzel :: Goertzel
goertzel = Goertzel {
input = 0.0,
bufsize = 1024.0,
freq = 0.0,
hop = 1.0
}
mkGoertzel :: Goertzel -> S.UGen
mkGoertzel (Goertzel a' b' c' d') = S.mkOsc S.KR "Goertzel" [a',b',c',d'] 2
instance Make Goertzel where
ugen = mkGoertzel