module Sound.SC3.UGen.Record.Pitch (
Args(..),
defaults,
pitch
) where
import Sound.SC3 (UGen)
import qualified Sound.SC3 as SC3
data Args = Args {
initFreq :: UGen,
minFreq :: UGen,
maxFreq :: UGen,
execFreq :: UGen,
maxBinsPerOctave :: UGen,
median :: UGen,
ampThreshold :: UGen,
peakThreshold :: UGen,
downSample :: UGen
}
defaults :: Args
defaults = Args {
initFreq = 440,
minFreq = 60,
maxFreq = 4000,
execFreq = 100,
maxBinsPerOctave = 16,
median = 1,
ampThreshold = 0.01,
peakThreshold = 0.5,
downSample = 1.0
}
pitch :: Args -> UGen -> UGen
pitch args input = SC3.pitch
input
(initFreq args)
(minFreq args)
(maxFreq args)
(execFreq args)
(maxBinsPerOctave args)
(median args)
(ampThreshold args)
(peakThreshold args)
(downSample args)