The OPL (FM Operator Type-L) 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.
Internal operation
The internal operation of the chips is completely digital. Each FM-tone is generated by a digital oscillator using a form of direct digital synthesis. A low-frequency oscillator and an envelope generator drive an FM operator to produce floating-point output for the DAC. Decapsulation of the chips shows two look-up tables, one for calculating exponents and one for log-sine. This allows the FM operator to calculate its output without any multipliers, using the formula and two 256-entry look-up tables. Both tables are stored as pairs of values rounded to the nearest whole number, with the second value represented as the difference between it and the first value.
A quarter of the log-transformed sine waveform is stored as a sampled approximation in a 256-word read-only memory (ROM) table, computed by for values of 0 to 255. The rest of the sine-waveform is extrapolated via its property of symmetry. Scaling the output of an oscillator to a wanted volume would normally be done by multiplication, but the YM3526 avoids multiplications by operating on log-transformed signals, which reduces multiplications into computationally cheaper additions.
Another 256-word ROM stores the exponential function as a lookup table, used to convert the logarithmic scale signal back to linear scale when required, as the final stage where the oscillator-outputs are summed together (just prior to the DAC-output bus), with the modulator waveform always delayed by one sample before the carrier waveform. This table is computed by for values of 0 to 255. To compute the exponent, 1024 is added to the value at the index given by the least significant byte of input; this becomes the significand and the remaining bits of input become the exponent of the floating point output.
Chips in the series
OPL
The YM3526, introduced in 1984, was the first in the OPL family, providing a nine channel, two operator synthesizer. A very closely related chip is the Y8950, or MSX-AUDIO, which was used as an MSX expansion. It is essentially a YM3526 with ADPCM recording and playback capability.
The circuit has 244 different write-only registers. It can produce 9 channels of sound, each made of two oscillators or 6 channels with 5 percussion instruments available. Each oscillator can produce sine waves and has its own ADSR envelope generator. Its main method of synthesis is frequency modulation synthesis, accomplished via phase modulation of the phase of one channel's oscillators by the output of another.
The YM3526's output, a sequence of floating point numbers clocked at a sampling frequency of approximately 49716 Hz, is sent to a separate digital-to-analog converter (DAC) chip, the YM3014B.
Overview of a channel's registers:
For the whole channel: Main frequency (10 bits) Octave (3 bits) Note on/off Synthesis mode (FM or just additive) Feedback (0–7, the modulator modulating itself)
For each one of the two oscillators: Frequency multiply (can be set to , 1 to 10, 12 or 15) Waveform (Sine) Volume (0–63, logarithmic) Attack, decay, sustain, release (4 bits each, logarithmic) Tremolo (on or off) Vibrato (on or off) Sustain (on or off) Envelope scaling per key (on or off) Volume scaling per key (0–3)
There are also a few parameters that can be set for the whole chip: Vibrato depth Tremolo depth Percussion mode (uses 3 channels to provide 5 percussion sounds) Composite sine mode (see Sinewave synthesis)
OPL2
In 1985, Yamaha created the YM3812, also known as the OPL2. It is backwards compatible with the YM3526. Another related chip is the YM2413 (OPLL), which is a cut down version.
Among its newly-added features is the ability to pick between four waveforms for each individual oscillator by setting a register. In addition to the original sine wave, three modified waveforms can be produced: half-sine waves (where the negative part of the sine is muted), absolute-sine waves (where the negative part is inverted), and pseudo-sawtooth waves (quarter sine waves upward only with silent sections in between). This odd way of producing waveforms give the YM3812 a characteristic sound.
The YM3812 is used with the YM3014B external DAC chip to output its audio in analog form, like with the YM3526.