Oscilluna is an open source synthesizer coded in Cmajor that lets you draw your own waveforms. You can then apply a range of synthesis techniques like FM modulation, volume envelopes, filters, and various effects.
To learn more visit the Oscilluna Github page, or try the web demo.