Before building my DDS generator (https://hackaday.io/project/165270-dds-arbitrary-generator-asdfgen1) I did some experiments with analog generators. The prototype version 2 is working after fixing some bugs. Version 3 with the bugs removed is not ready (PCB must be updated according to the version 3 schematic). The sine/square/triangle functions generator is based on cheap and widely available semiconductors. No microcontroller, no FPGA, no ASIC. Works fine up to about 2MHz. Output amplitude 10V. Amplitude, offset, frequency, symmetry can be set. Drivers of external indicators of amplitude, mean value and symmetry. Stabilization of amplitude for better frequency control. THD below 1% (at low frequency).
Tuning sine wave shaper (calculations done before):