Unit generators (or ugens) are the basic formal units in many MUSIC-N-style computer music programming languages. They are sometimes called opcodes (particularly in Csound), though this expression is not considered accurate in that these are not written directly as machine-level instructions.
Unit generators form the building blocks for designing synthesis and signal processing algorithms in software. The unit generator theory of sound synthesis was first developed and implemented by Max Mathews and his colleagues at Bell Labs in the 1950s.
Examples
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 class inherits methods from an overarching unit generator class (UGen) that generates a sine wave. The example below makes a sine wave at frequency 440, phase 0, and amplitude 0.5.
SinOsc.ar(440, 0, 0.5);
See also
References
- "ChucK - [Language Specification]". chuck.stanford.edu. Retrieved 2024-11-03.
- 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.
- ^ "UGen | SuperCollider 3.13.0 Help". docs.supercollider.online. Retrieved 2024-11-03.
- Smith, Julius (2007). "Unit-generator architectures in computer music". Journal of the Acoustical Society of America. 122 (5): 3080. doi:10.1121/1.2943000.
- "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.
- "SinOsc | SuperCollider 3.13.0 Help". docs.supercollider.online. Retrieved 2024-11-03.
This music software article is a stub. You can help Misplaced Pages by expanding it. |