Unit generator

Short description: Basic formal unit in MUSIC-N-style programming languages

Unit generators (or ugens) are the basic formal units in many MUSIC-N-style computer music programming languages.[1] They are sometimes called opcodes (particularly in Csound),[2] though this expression is not considered accurate in that these are not written directly as machine-level instructions.[citation needed]

Unit generators form the building blocks for designing synthesis and signal processing algorithms in software.[3] The unit generator theory of sound synthesis was first developed and implemented by Max Mathews[4] and his colleagues at Bell Labs in the 1950s.[5]

## 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[6] inherits methods from an overarching unit generator class (UGen)[3] 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

* Tuning generator

## References

1. ↑ "ChucK - [Language Specification"]. https://chuck.stanford.edu/doc/language/ugen.html.
2. ↑ Lazzarini, Victor (2017). "Supporting an Object-Oriented Approach to Unit Generator Development: The Csound Plugin Opcode Framework" (in en). Applied Sciences 7 (10): 970. doi:10.3390/app7100970. ISSN 2076-3417. https://mural.maynoothuniversity.ie/11607/.
3. ↑ 3.0 3.1 "UGen | SuperCollider 3.13.0 Help". https://docs.supercollider.online/Classes/UGen.html.
4. ↑ 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.
5. ↑ "Bell Labs: Background: Bell Labs Text-to-Speech Synthesis: Then and Now". 2000-04-07. http://www.bell-labs.com/news/1997/march/5/2.html.
6. ↑ "SinOsc | SuperCollider 3.13.0 Help". https://docs.supercollider.online/Classes/SinOsc.html.

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Unit generator. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Physics:Unit_generator&oldid=4347155"