A simple unit generator called OSC could generate a sinusoidal waveform of a specific frequency (given as an input or argument to the function or class that represents the unit generator). ENV could be a unit generator that delineates a breakpoint function. Thus ENV could be used to drive the amplitude envelope of the oscillator OSC through the equation OSC*ENV. Unit generators often use predefined arrays of values for their functions (which are filled with waveforms or other shapes by calling a specific generator function).
In the SuperCollider language, the .ar method in the SinOsc class6 inherits methods from an overarching unit generator class (UGen)7 that generates a sine wave. The example below makes a sine wave at frequency 440, phase 0, and amplitude 0.5.
"ChucK - [Language Specification]". chuck.stanford.edu. Retrieved 2024-11-03. https://chuck.stanford.edu/doc/language/ugen.html ↩
Lazzarini, Victor (2017). "Supporting an Object-Oriented Approach to Unit Generator Development: The Csound Plugin Opcode Framework". Applied Sciences. 7 (10): 970. doi:10.3390/app7100970. ISSN 2076-3417. https://mural.maynoothuniversity.ie/11607/ ↩
"UGen | SuperCollider 3.13.0 Help". docs.supercollider.online. Retrieved 2024-11-03. https://docs.supercollider.online/Classes/UGen.html ↩
Smith, Julius (2007). "Unit-generator architectures in computer music". Journal of the Acoustical Society of America. 122 (5): 3080. doi:10.1121/1.2943000. https://www.researchgate.net/publication/252185943 ↩
"Bell Labs: Background: Bell Labs Text-to-Speech Synthesis: Then and Now". bell-labs.com. 2000-04-07. Archived from the original on 2000-04-07. Retrieved 2024-11-03. https://web.archive.org/web/20000407081031/http://www.bell-labs.com/news/1997/march/5/2.html ↩
"SinOsc | SuperCollider 3.13.0 Help". docs.supercollider.online. Retrieved 2024-11-03. https://docs.supercollider.online/Classes/SinOsc.html ↩