|
- Note
- Wrap interpolation towards zero for 0.5, negate and reverse phase for >= 0.5
|
const uint8_t | wt_saw_notes [k_wt_saw_notes_cnt] |
|
const float | wt_saw_lut_f [k_wt_saw_lut_tsize] |
|
__fast_inline float | osc_sawf (float x) |
| Sawtooth wave lookup. More...
|
|
__fast_inline float | osc_bl_sawf (float x, uint8_t idx) |
| Band-limited sawtooth wave lookup. More...
|
|
__fast_inline float | osc_bl2_sawf (float x, float idx) |
| Band-limited sawtooth wave lookup. More...
|
|
float | _osc_bl_saw_idx (float note) |
| Get band-limited sawtooth wave index for note. More...
|
|
__fast_inline float | osc_bl_saw_idx (float note) |
|
#define | k_wt_saw_size_exp (7) |
|
#define | k_wt_saw_size (1U<<k_wt_saw_size_exp) |
|
#define | k_wt_saw_u32shift (24) |
|
#define | k_wt_saw_frrecip (5.96046447753906e-008f) |
|
#define | k_wt_saw_mask (k_wt_saw_size-1) |
|
#define | k_wt_saw_lut_size (k_wt_saw_size+1) |
|
#define | k_wt_saw_notes_cnt (7) |
|
#define | k_wt_saw_lut_tsize (k_wt_saw_notes_cnt * k_wt_saw_lut_size) |
|
|
- Note
- Wrap interpolation to zero for 0.5, negate and reverse phase for >= 0.5
|
const uint8_t | wt_sqr_notes [k_wt_sqr_notes_cnt] |
|
const float | wt_sqr_lut_f [k_wt_sqr_lut_tsize] |
|
__fast_inline float | osc_sqrf (float x) |
| Square wave lookup. More...
|
|
__fast_inline float | osc_bl_sqrf (float x, uint8_t idx) |
| Band-limited square wave lookup. More...
|
|
__fast_inline float | osc_bl2_sqrf (float x, float idx) |
| Band-limited square wave lookup. More...
|
|
float | _osc_bl_sqr_idx (float note) |
| Get band-limited square wave index for note. More...
|
|
__fast_inline float | osc_bl_sqr_idx (float note) |
|
#define | k_wt_sqr_size_exp 7 |
|
#define | k_wt_sqr_size (1U<<k_wt_sqr_size_exp) |
|
#define | k_wt_sqr_u32shift (24) |
|
#define | k_wt_sqr_frrecip (5.96046447753906e-008f) |
|
#define | k_wt_sqr_mask (k_wt_sqr_size-1) |
|
#define | k_wt_sqr_lut_size (k_wt_sqr_size+1) |
|
#define | k_wt_sqr_notes_cnt 7 |
|
#define | k_wt_sqr_lut_tsize (k_wt_sqr_notes_cnt * k_wt_sqr_lut_size) |
|
|
- Note
- Wrap interpolation to zero for 0.5, negate and reverse phase for >= 0.5. Careful to negate index 0 when wrapping.
|
const uint8_t | wt_par_notes [k_wt_par_notes_cnt] |
|
const float | wt_par_lut_f [k_wt_par_lut_tsize] |
|
__fast_inline float | osc_parf (float x) |
| Parabolic wave lookup. More...
|
|
__fast_inline float | osc_bl_parf (float x, uint8_t idx) |
| Band-limited parabolic wave lookup. More...
|
|
__fast_inline float | osc_bl2_parf (float x, float idx) |
| Band-limited parabolic wave lookup. More...
|
|
float | _osc_bl_par_idx (float note) |
| Get band-limited parabolic wave index for note. More...
|
|
__fast_inline float | osc_bl_par_idx (float note) |
|
#define | k_wt_par_size_exp 7 |
|
#define | k_wt_par_size (1U<<k_wt_par_size_exp) |
|
#define | k_wt_par_u32shift (24) |
|
#define | k_wt_par_frrecip (5.96046447753906e-008f) |
|
#define | k_wt_par_mask (k_wt_par_size-1) |
|
#define | k_wt_par_lut_size (k_wt_par_size+1) |
|
#define | k_wt_par_notes_cnt 7 |
|
#define | k_wt_par_lut_tsize (k_wt_par_notes_cnt * k_wt_par_lut_size) |
|
|
const float | log_lut_f [k_log_lut_size] |
|
const float | tanpi_lut_f [k_log_lut_size] |
|
const float | sqrtm2log_lut_f [k_sqrtm2log_lut_size] |
|
__fast_inline float | osc_logf (float x) |
| Lookup value of log(x) in [0.00001, 1.0] range. More...
|
|
__fast_inline float | osc_tanpif (float x) |
| Lookup value of tan(pi*x) in [0.0001, 0.49] range. More...
|
|
__fast_inline float | osc_sqrtm2logf (float x) |
| Lookup value of sqrt(-2*log(x)) in [0.005, 1.0] range. More...
|
|
#define | k_log_size_exp (8) |
|
#define | k_log_size (1U<<k_log_size_exp) |
|
#define | k_log_mask (k_log_size-1) |
|
#define | k_log_lut_size (k_log_size+1) |
|
#define | k_tanpi_size_exp (8) |
|
#define | k_tanpi_size (1U<<k_tanpi_size_exp) |
|
#define | k_tanpi_mask (k_tanpi_size-1) |
|
#define | k_tanpi_range_recip (2.04081632653061f) |
|
#define | k_tanpi_lut_size (k_tanpi_size+1) |
|
#define | k_sqrtm2log_size_exp (8) |
|
#define | k_sqrtm2log_size (1U<<k_sqrtm2log_size_exp) |
|
#define | k_sqrtm2log_mask (k_sqrtm2log_size-1) |
|
#define | k_sqrtm2log_base (0.005f) |
|
#define | k_sqrtm2log_range_recip (1.00502512562814f) |
|
#define | k_sqrtm2log_lut_size (k_sqrtm2log_size+1) |
|
|
const float | cubicsat_lut_f [k_cubicsat_lut_size] |
|
const float | schetzen_lut_f [k_schetzen_lut_size] |
|
__fast_inline float | osc_softclipf (const float c, float x) |
| Soft clip. More...
|
|
__fast_inline float | osc_sat_cubicf (float x) |
| Cubic saturation. More...
|
|
__fast_inline float | osc_sat_schetzenf (float x) |
| Schetzen saturation. More...
|
|
#define | k_cubicsat_size_exp (7) |
|
#define | k_cubicsat_size (1U<<k_cubicsat_size_exp) |
|
#define | k_cubicsat_mask (k_cubicsat_size-1) |
|
#define | k_cubicsat_lut_size (k_cubicsat_size+1) |
|
#define | k_schetzen_size_exp (7) |
|
#define | k_schetzen_size (1U<<k_schetzen_size_exp) |
|
#define | k_schetzen_mask (k_schetzen_size-1) |
|
#define | k_schetzen_lut_size (k_schetzen_size+1) |
|