
Synthesizer.Basic.WaveSmoothed  Portability  requires multiparameter type classes  Stability  provisional  Maintainer  synthesizer@henningthielemann.de 



Description 
Waveforms which are smoothed according to the oscillator frequency
in order to suppress aliasing effects.


Synopsis 

data T t y   fromFunction :: (t > t > y) > T t y   fromWave :: (C t, C t, C y) => T t y > T t y   fromControlledWave :: (C t, C t, C y) => (t > T t y) > T t y   raise :: C y => y > T t y > T t y   amplify :: C y => y > T t y > T t y   distort :: (y > z) > T t y > T t z   apply :: T t y > t > T t > y   sine :: (C a, C a) => T a a   cosine :: (C a, C a) => T a a   saw :: (C a, C a) => T a a   square :: (C a, C a) => T a a   triangle :: (C a, C a) => T a a   data Harmonic a   harmonic :: T a > a > Harmonic a   composedHarmonics :: (C a, C a) => [Harmonic a] > T a a 


Documentation 


Instances  C a y => C a (T t y)  C y => C (T t y) 



fromFunction :: (t > t > y) > T t y  Source 



Use this function for waves which are sufficiently smooth.
If the Nyquist frequency is exceeded the wave is simply replaced
by a constant zero wave.


fromControlledWave :: (C t, C t, C y) => (t > T t y) > T t y  Source 






distort :: (y > z) > T t y > T t z  Source 





map a phase to value of a sine wave





saw tooth,
it's a ramp down in order to have a positive coefficient for the first partial sine



square



triangle



This is similar to Polar coordinates,
but the range of the phase is from 0 to 1, 0 to 2*pi.






Specify the wave by its harmonics.
The function is implemented quite efficiently
by applying the Horner scheme to a polynomial with complex coefficients
(the harmonic parameters)
using a complex exponential as argument.


Produced by Haddock version 2.4.2 