module Sound.SC3.UGen.Record.Pitch where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Pitch = Pitch {
input :: S.UGen,
initFreq :: S.UGen,
minFreq :: S.UGen,
maxFreq :: S.UGen,
execFreq :: S.UGen,
maxBinsPerOctave :: S.UGen,
median :: S.UGen,
ampThreshold :: S.UGen,
peakThreshold :: S.UGen,
downSample :: S.UGen,
clar :: S.UGen
} deriving (Show)
pitch :: Pitch
pitch = Pitch {
input = 0.0,
initFreq = 440.0,
minFreq = 60.0,
maxFreq = 4000.0,
execFreq = 100.0,
maxBinsPerOctave = 16.0,
median = 1.0,
ampThreshold = 0.01,
peakThreshold = 0.5,
downSample = 1.0,
clar = 0.0
}
mkPitch :: Pitch -> S.UGen
mkPitch (Pitch a' b' c' d' e' f' g' h' i' j' k') = S.mkOsc S.KR "Pitch" [a',b',c',d',e',f',g',h',i',j',k'] 2
instance Make Pitch where
ugen = mkPitch