Which areas of expertise do you need to know about to create a flexible software synth?
Signal processing? Sound engineering?
Sound Design Stack Exchange is a question and answer site for sound engineers, producers, editors, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
You need to understand sound sources (oscillators, noise generators, and samples), modulation (LFO in particular), sound shaping (envelopes), and then signal processing (read: math and audio physics). And honestly I'm being really high level here. There are a million details within each thing I mentioned. Its not really difficult, but I think it does require a lot of time and knowledge (like, years)
Oh and you'll need to learn C and C++ (programming) too. Unless you want to build an analog synth, which is basically all the same exact thing but using physical items to create and manipulate the sound (as opposed to a computer). Edit: filters are worth mentioning too (especially for subtractive synths)but technically that would fall under "signal processing"