Low-frequency oscillator (non band-limited). More...
#include <Oscillator.h>
 
  
 | Public Member Functions | |
| LFO (float frq, float phase=0, float mod=0.5) | |
| LFO & | set (float f, float p, float m) | 
| Set frequency, phase and modifier amount. | |
| LFO & | mod (double n) | 
| Sets modifier parameter of waveform from unit value. | |
| float | cos () | 
| Cosine based on 3rd order polynomial. | |
| float | down () | 
| Downward ramp (1 to -1) | |
| float | even3 () | 
| Even harmonic sine-like wave (3rd order) | |
| float | even5 () | 
| Even harmonic sine-like wave (5th order) | |
| float | imp () | 
| Impulse (occurs at beginning of cycle) | |
| float | line2 () | 
| 2-segment line. mod changes wave from down to tri to up | |
| float | para () | 
| Parabolic wave (triangle wave with all harmonics) | |
| float | pulse () | 
| Pulse (up + down). 'mod' controls pulse width. | |
| float | sinPara () | 
| Sine-like wave constructed from parabolas (odd harmonics) | |
| float | stair () | 
| Stair (square + square). 'mod' controls pulse width. | |
| float | sqr () | 
| Square (-1 to 1) | |
| float | tri () | 
| Triangle (starts at 1 goes down to -1 then up to 1) | |
| float | up () | 
| Upward ramp. | |
| float | up2 () | 
| Dual upward ramp (up + up). 'mod' controls pulse width. | |
| float | cosU () | 
| Unipolar cosine based on 3rd order polynomial. | |
| float | downU () | 
| Unipolar downward ramp. | |
| float | hann () | 
| Hann window. | |
| float | line2U () | 
| Unipolar line2. | |
| float | paraU () | 
| Unipolar parabolic wave. | |
| float | pulseU () | 
| Unipolar pulse. | |
| float | stairU () | 
| Unipolar stair. | |
| float | sqrU () | 
| Unipolar square. | |
| float | triU () | 
| Unipolar triangle (starts at 1 going down then up) | |
| float | upU () | 
| Unipolar upward ramp. | |
| float | up2U () | 
| Unipolar upward ramp2. | |
| void | freq (float v) | 
| Set frequency. | |
| float | freq () const | 
| Get frequency. | |
| void | phase (float v) | 
| Set phase from [0, 1) of one period. | |
| float | phase () const | 
| Get phase in [0, 1) | |
| void | phaseMax () | 
| Set phase to maximum value. | |
| void | phaseAdd (float v) | 
| Add value to phase [0, 1) | |
| void | period (float v) | 
| Set period length. | |
| void | reset () | 
| Reset phase accumulator. | |
| bool | done () const | 
| Returns true if tap is done. | |
| uint32_t | freqI () const | 
| Get fixed-point frequency. | |
| float | freqUnit () const | 
| Get frequency in [0, 1) | |
| uint32_t | phaseI () const | 
| Get fixed-point phase. | |
| uint32_t | cycle () | 
| Returns 0x80000000 on phase wrap, 0 otherwise. | |
| uint32_t | operator() () | 
| Alias of cycle() | |
| uint32_t | nextPhase () | 
| Increment phase and return pre-incremented phase. | |
| uint32_t | nextPhasePost () | 
| Increment phase and return post-incremented phase. | |
| uint32_t | cycles () | 
| Get 1 to 0 transitions of all accumulator bits. | |
| Public Attributes | |
| uint32_t | modi | 
| Modifier parameter. | |
Low-frequency oscillator (non band-limited).
This object generates various waveform types by mapping the output of a an accumulator through mathematical functions.
| LFO | ( | float | frq, | 
| float | phase = 0, | ||
| float | mod = 0.5 | ||
| ) | 
| [in] | frq | Frequency | 
| [in] | phase | Phase in [0, 1) | 
| [in] | mod | Modifier amount in [0, 1) | 
| uint32_t cycle | ( | ) |  [inherited] | 
Returns 0x80000000 on phase wrap, 0 otherwise.
The return value can be used as a bool. It's an integer because it saves a conditional check converting to a bool.