vivid- Sound synthesis with SuperCollider

Safe HaskellNone




Analysis > Amplitude

ampComp :: Args `["freq", "root"]` `["exponent"]` a => a -> SDBody a Signal Source

"Implements the (optimized) formula:

compensationFactor = (root / freq) ** exp

Higher frequencies are normally perceived as louder, which AmpComp compensates."

"Note that for frequencies very much smaller than root the amplitudes can become very high. In this case limit the freq with freq.max(minval), or use AmpCompA."

Computed at AR, KR, or IR

Analysis > Pitch

pitch :: Args `["in"]` `["initFreq", "minFreq", "maxFreq", "execFreq", "maxBinsPerOctave", "median", "ampThreshold", "peakThreshold", "downSample", "clar"]` a => a -> SDBody a Signal Source

"Higher frequencies are normally perceived as louder, which AmpCompA compensates. Following the measurings by Fletcher and Munson, the ANSI standard describes a function for loudness vs. frequency. Note that this curve is only valid for standardized amplitude."

_NOTE_ "Apart from freq, the values are not modulatable"

"This is a better pitch follower than ZeroCrossing, but more costly of CPU. For most purposes the default settings can be used and only in needs to be supplied. Pitch returns two values (via an Array of OutputProxys, see the OutputProxy help file), a freq which is the pitch estimate and hasFreq, which tells whether a pitch was found. Some vowels are still problematic, for instance a wide open mouth sound somewhere between a low pitched short a sound as in sat, and long i sound as in fire, contains enough overtone energy to confuse the algorithm."

"None of these settings are time variable."

Can only run at KR