I want to know the best way to produce an adjustable LFO sine waveform in the frequency range of 0.3 Hz to 20 Hz. The code will later be adapted to incorporating other waveforms (triangle, square...etc.), but sine will do for now. I've read multiple posts that suggest DDS for the waveform generation but since my waveform is at such a low frequency, is DDS even necessary or can I generate the wave by other means? I was using the waveform generation technique found in this link (https://github.com/hsabro/tap-tempo) but the problem is when you go to a lower frequency, the amplitude also gets reduced.
Thanks for reading and I look forward to your suggestions.