Following this paper: https://ccrma.stanford.edu/~jos/pdf/GordonAndSmith86.pdf
I've created a sine wave generator that should perform as well as the AudioSynthWaveformSineHires object without
nearly so much computation, basically 2 muls-rshifts and 2 add/subs per sample. Perhaps a candidate to replace the
inefficient AudioSynthWaveformSineHires class?
https://github.com/MarkTillotson/Audio/blob/coupled_form_resonator/synth_coupled_resonator.cpp
https://github.com/MarkTillotson/Audio/blob/coupled_form_resonator/synth_coupled_resonator.h
Seems to perform OK, I've made the frequency() setting function phase-continuous, and I think I've tweaked it so overflow
never happens (some of these iterative methods can go slightly above the nominal amplitude at times at the extremes of
frequency).
I did a fair bit of modelling in Python for this and another (single multiply) iteration, and this performed better at low
frequencies.
I've created a sine wave generator that should perform as well as the AudioSynthWaveformSineHires object without
nearly so much computation, basically 2 muls-rshifts and 2 add/subs per sample. Perhaps a candidate to replace the
inefficient AudioSynthWaveformSineHires class?
https://github.com/MarkTillotson/Audio/blob/coupled_form_resonator/synth_coupled_resonator.cpp
https://github.com/MarkTillotson/Audio/blob/coupled_form_resonator/synth_coupled_resonator.h
Seems to perform OK, I've made the frequency() setting function phase-continuous, and I think I've tweaked it so overflow
never happens (some of these iterative methods can go slightly above the nominal amplitude at times at the extremes of
frequency).
I did a fair bit of modelling in Python for this and another (single multiply) iteration, and this performed better at low
frequencies.