Technical Report Number
Synthesizer is a pattern language for designing digital synthesizers using modular synthesis in software to generate sound. Software developed according to this pattern language emulates the abilities of an analog synthesizer. Modular synthesis is one of the oldest sound synthesis techniques. It was used in the earliest analog synthesizers, like the Moog  and ARP . These machines introduced the oscillator-filter-amplifier paradigm, where sound generated by an oscillator is passed through a series of filters and amplifers before being sent to a speaker. These first machines had physical modules through which electrical signals were passed. These modules can be emulated in software, and the Synthesizer pattern language captures the software design patterns embodied in this approach.
Judkins, Thomas V. and Gill, Christopher D., "Synthesizer, A Pattern Language for Designing Digital Modular Synthesis Software" Report Number: WUCS-00-30 (2000). All Computer Science and Engineering Research.