A software synthesis environment, or SSE, is a soft synth which, rather than implement a specific instrument, allows the programmer to design and implement their own instruments. The three basic approaches to soft synths are:
- Textual programming language (examples: Csound, ChucK). This most resembles a traditional computer programming language, and allows the programmer to manipulate individual digital signal words.
- Graphical programming language (example: Max/MSP). This is conceptually similar to the textual programming language, but programming is done in a graphical environment.
- Virtual modular (examples: Reaktor, JSyd). This is conceptually similar to a modular synthesizer. Predefined processing functions are interconnected in a graphical environment using "virtual patch cords".