# 5.10 OpulenZ

OpulenZ is an emulation of the Yamaha YM3812, a.k.a. OPL2, FM synth chip which was used i sound cards around 1990 - the Adlib and Sound Blasters. It generates sound through frequency modulation or adding 2 oscillators.

![OpulenZ](/files/-LuiQDfV_WQVgzeqeNYY)

## 5.10.1 Operators

The two oscillators are called operators. In FM mode (bottom left), operator 1 modulates operator 2. Otherwise both operators are routed to the output.

## 5.10.2 Controls

For each operator, the controls are:

* **ATT, DEC, SUS, REL:** an ADSR envelope
* **KSR:** keyboard scaling rate. When KSR is on, envelopes get faster when the pitch rises.
* **PERC:** percussive envelope. Makes the envelope go straight to release ignoring held keys.
* **TREM:** applies tremolo (slight amplitude modulation) to the operator
* **VIB:** applies vibrato (slight pitch modulation) to the operator
* **FEEDBACK:** only for operator 1 - feeds a portion of the operator's output back into ir
* **LVL:** the output level of the operator
* **SCALE:** determines the scaling applied to the output level when the pitch rises
* **MUL:** the frequency multiplier for the operator. 1 stands for the standard pitch played on the keyboard, 0 is one octave below.
* **WAVEFORM:** selection from 4 waveforms: sine, half sine, absolute sine and quarter sine. NB: a DC removal plugin might be a good idea when routing waveforms other than sine to the output.

### 5.10.2.1 Global Controls

* **FM:** when this is on, frequency modulation is used. Otherwise the operators are mixed together.
* **DEPTH, TREM and VIBR:** these select deeper tremolo and vibrato. Applies to both operators.

## 5.10.3 Useful Resources

Getting started with FM: <http://www.gorenfeld.net/lou/fmguide.html>

Programming the AdLib/Sound Blaster FM Music Chips: <http://www.shipbrook.net/jeff/sb.html> (some of the controls are presented inverted in LMMS, to fit better with other symbols)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lmms.io/user-manual/jp_2/5-built-in-instruments/5.10-opulenz.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
