Unit generator

Last updated

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 ]

Contents

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

Related Research Articles

Additive synthesis is a sound synthesis technique that creates timbre by adding sine waves together.

<span class="mw-page-title-main">Frequency modulation synthesis</span> Form of sound synthesis

Frequency modulation synthesis is a form of sound synthesis whereby the frequency of a waveform is changed by modulating its frequency with a modulator. The (instantaneous) frequency of an oscillator is altered in accordance with the amplitude of a modulating signal.

The amplitude of a periodic variable is a measure of its change in a single period. The amplitude of a non-periodic signal is its magnitude compared with a reference value. There are various definitions of amplitude, which are all functions of the magnitude of the differences between the variable's extreme values. In older texts, the phase of a periodic function is sometimes called the amplitude.

A signal generator is one of a class of electronic devices that generates electrical signals with set properties of amplitude, frequency, and wave shape. These generated signals are used as a stimulus for electronic measurements, typically used in designing, testing, troubleshooting, and repairing electronic or electroacoustic devices, though it often has artistic uses as well.

<span class="mw-page-title-main">Waveform</span> The shape and form of a signal

In electronics, acoustics, and related fields, the waveform of a signal is the shape of its graph as a function of time, independent of its time and magnitude scales and of any displacement in time. Periodic waveforms repeat regularly at a constant period. The term can also be used for non-periodic or aperiodic signals, like chirps and pulses.

<span class="mw-page-title-main">Sawtooth wave</span> Non-sinusoidal waveform

The sawtooth wave is a kind of non-sinusoidal waveform. It is so named based on its resemblance to the teeth of a plain-toothed saw with a zero rake angle. A single sawtooth, or an intermittently triggered sawtooth, is called a ramp waveform.

<span class="mw-page-title-main">Triangle wave</span> Non-sinusoidal waveform

A triangular wave or triangle wave is a non-sinusoidal waveform named for its triangular shape. It is a periodic, piecewise linear, continuous real function.

Csound is a domain-specific computer programming language for audio programming. It is called Csound because it is written in C, as opposed to some of its predecessors.

Wavetable synthesis is a sound synthesis technique used to create quasi-periodic waveforms often used in the production of musical tones or notes.

Granular synthesis is a sound synthesis method that operates on the microsound time scale.

<span class="mw-page-title-main">Square wave</span> Type of non-sinusoidal waveform

A square wave is a non-sinusoidal periodic waveform in which the amplitude alternates at a steady frequency between fixed minimum and maximum values, with the same duration at minimum and maximum. In an ideal square wave, the transitions between minimum and maximum are instantaneous.

<span class="mw-page-title-main">Sine wave</span> Wave shaped like the sine function

A sine wave, sinusoidal wave, or sinusoid is a periodic wave whose waveform (shape) is the trigonometric sine function. In mechanics, as a linear motion over time, this is simple harmonic motion; as rotation, it corresponds to uniform circular motion. Sine waves occur often in physics, including wind waves, sound waves, and light waves, such as monochromatic radiation. In engineering, signal processing, and mathematics, Fourier analysis decomposes general functions into a sum of sine waves of various frequencies, relative phases, and magnitudes.

SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition.

Real-Time Cmix (RTcmix) is one of the MUSIC-N family of computer music programming languages. RTcmix is descended from the MIX program developed by Paul Lansky at Princeton University in 1978 to perform algorithmic composition using digital audio soundfiles on an IBM 3031 mainframe computer. After synthesis functions were added, the program was renamed Cmix in the 1980s. Real-time capability was added by David Topper, John Gibson, Brad Garton, and Douglas Scott in the mid-1990s. In addition, support for TCP socket connectivity, interactive control of the scheduler were added, as well as the ability to embed the synthesis engine into fully featured applications such as Max/MSP.

MUSIC-N refers to a family of computer music programs and programming languages descended from or influenced by MUSIC, a program written by Max Mathews in 1957 at Bell Labs. MUSIC was the first computer program for generating digital audio waveforms through direct synthesis. It was one of the first programs for making music on a digital computer, and was certainly the first program to gain wide acceptance in the music research community as viable for that task. The world's first computer-controlled music was generated in Australia by programmer Geoff Hill on the CSIRAC computer which was designed and built by Trevor Pearcey and Maston Beard. However, CSIRAC produced sound by sending raw pulses to the speaker, it did not produce standard digital audio with PCM samples, like the MUSIC-series of programs.

<span class="mw-page-title-main">Voltage-controlled oscillator</span> Oscillator with frequency controlled by a voltage input

A voltage-controlled oscillator (VCO) is an electronic oscillator whose oscillation frequency is controlled by a voltage input. The applied input voltage determines the instantaneous oscillation frequency. Consequently, a VCO can be used for frequency modulation (FM) or phase modulation (PM) by applying a modulating signal to the control input. A VCO is also an integral part of a phase-locked loop. VCOs are used in synthesizers to generate a waveform whose pitch can be adjusted by a voltage determined by a musical keyboard or other input.

Phase distortion (PD) synthesis is a synthesis method introduced in 1984 by Casio in its CZ range of synthesizers. In outline, it is similar to phase modulation synthesis as championed by Yamaha Corporation, in the sense that both methods dynamically change the harmonic content of a carrier waveform by influence of another waveform (modulator) in the time domain. However, the application and results of the two methods are quite distinct.

<span class="mw-page-title-main">Function generator</span> Electronic test equipment used to generate electrical waveforms

In electrical engineering, a function generator is usually a piece of electronic test equipment or software used to generate different types of electrical waveforms over a wide range of frequencies. Some of the most common waveforms produced by the function generator are the sine wave, square wave, triangular wave and sawtooth shapes. These waveforms can be either repetitive or single-shot. Another feature included on many function generators is the ability to add a DC offset. Integrated circuits used to generate waveforms may also be described as function generator ICs.

The OPL series are a family of sound chips developed by Yamaha. The OPL series are low-cost sound chips providing FM synthesis for use in computing, music and video game applications.

References

  1. "ChucK - [Language Specification]". chuck.stanford.edu. Retrieved 2024-11-03.
  2. 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.
  3. 1 2 "UGen | SuperCollider 3.13.0 Help". docs.supercollider.online. Retrieved 2024-11-03.
  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.
  5. "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.
  6. "SinOsc | SuperCollider 3.13.0 Help". docs.supercollider.online. Retrieved 2024-11-03.