YASE is a modular digital audio synthesis and processing library designed specifically to teach digital audio synthesis.
You can use it to make sounds, sequences, and effects.
You can connect MIDI devices and sounds sources.
Find out more about YASE at https://github.com/klavins/yase
and at https://klavins.github.io/yase/.